我正在尝试在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")),
);
}
从单独的方法生成的Geo字符串如下所示:
m 0 0 a 30 100 0 0 1 0 200 l 0 -200 z
这是创建的对象,也是我希望用颜色填充的对象。
现在,我确实尝试对图中的其他对象进行实验,除了生成的形状之外,它们都可以正常工作。我还检查了GoJS网站(及其可下载的库)中的示例代码,并查看了与此代码相似的代码(特别是楼层平面图示例),并且看起来一切都一样。我在这里想念东西吗?
答案 0 :(得分:1)
是的,您缺少在路径几何字符串前面加上“ F1”,也可以通过调用https://gojs.net/latest/api/symbols/Geometry.html#static-fillPath以编程方式完成。