Может ли пользовательская геометрия в GoJS быть заполнена цветом? - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь нарисовать объект полуэллипса в GoJS, который предположительно может быть заполнен указанным цветом через данные JSON. Строка геометрии для эллипса генерируется другим методом javascript, работает правильно и вывел правильный объект на диаграмму GoJS. Я определил шаблон карты для этого объекта, который показан ниже:

function ArchNodeTemplate(){
  return $(go.Node,
    { 
      locationSpot: go.Spot.TopLeft,
      locationObjectName: "SHAPE",
      resizable: false,
    },
    new go.Binding("location", "loc", go.Point.parse).makeTwoWay(go.Point.stringify),
    new go.Binding("movable", "readOnly"),
    new go.Binding("reshapable", "readOnly"),
    new go.Binding("resizable", "readOnly"),
    new go.Binding("rotatable", "readOnly"),
    new go.Binding("groupable", "readOnly"),
    new go.Binding("deletable", "readOnly"),
    new go.Binding("copyable", "readOnly"),
    $(go.Shape,
      { stroke: "#ababab", 
        name: "SHAPE",
        strokeWidth: 2,
        strokeDashArray: [5,2],
      },
      new go.Binding("geometryString", "geo"),
      new go.Binding("fill", "color")),
  );
}

Геострока, сгенерированная отдельным методом, выглядит примерно так:

m 0 0 a 30 100 0 0 1 0 200 l 0 -200 z

Это объект, который создан, и тот, который я хочу залить цветом.

ellipse image

Теперь я попытался поэкспериментировать с другими объектами на моей диаграмме, и они отлично работают, за исключением этой сгенерированной формы. Я также проверил примеры кодов на веб-сайте GoJS (и их загружаемой библиотеке) и посмотрел коды, похожие на этот (в частности, образец планировщика этажей), и все казалось одинаковым. Я что-то здесь упускаю?

1 Ответ

0 голосов
/ 17 января 2019

Да, вы пропускаете добавление строки геометрии пути с помощью «F1», что также можно выполнить программным способом, вызвав https://gojs.net/latest/api/symbols/Geometry.html#static-fillPath.

...