簡體   English   中英

從帶有節點位置的JSON文件加載go.js圖

[英]loading go.js diagram from JSON file with node locations

通過將以下行添加到代碼的nodeTemplate部分中,我已成功將節點的位置保存在json文件中:

myDiagram.nodeTemplate = $(go.Node, "Auto", new go.Binding("location", "loc", go.Point.parse).makeTwoWay(go.Point.stringify),

json文件如下所示:

"{ \\"class\\": \\"GraphLinksModel\\",\\n \\"nodeDataArray\\": [ \\n{\\"text\\":\\"Node\\", \\"color\\":\\"white\\", \\"key\\":-1, \\"loc\\":\\"-105 -107\\"},\\n{\\"text\\":\\"Node\\", \\"color\\":\\"white\\", \\"key\\":-2, \\"loc\\":\\"64.52284749830794 277\\"},\\n{\\"text\\":\\"Node\\", \\"color\\":\\"white\\", \\"key\\":-3, \\"loc\\":\\"161.04569499661588 0\\"},\\n{\\"text\\":\\"Node\\", \\"color\\":\\"white\\", \\"key\\":-4, \\"loc\\":\\"0 70\\"},\\n{\\"text\\":\\"Node\\", \\"color\\":\\"white\\", \\"key\\":-5, \\"loc\\":\\"80.52284749830794 70\\"},\\n{\\"text\\":\\"Node\\", \\"color\\":\\"white\\", \\"key\\":-6, \\"loc\\":\\"161.04569499661588 70\\"},\\n{\\"text\\":\\"Node\\", \\"color\\":\\"white\\", \\"key\\":-7, \\"loc\\":\\"0 140\\"},\\n{\\"text\\":\\"Node\\", \\"color\\":\\"white\\", \\"key\\":-8, \\"loc\\":\\"-166.47715250169205 182.99999999999997\\"},\\n{\\"text\\":\\"Node\\", \\"color\\":\\"white\\", \\"key\\":-9, \\"loc\\":\\"161.04569499661588 140\\"}\\n ],\\n \\"linkDataArray\\": [ \\n{\\"from\\":-4, \\"to\\":-8},\\n{\\"from\\":-7, \\"to\\":-5},\\n{\\"from\\":-1, \\"to\\":-4},\\n{\\"from\\":-2, \\"to\\":-5},\\n{\\"from\\":-6, \\"to\\":-6},\\n{\\"from\\":-6, \\"to\\":-9},\\n{\\"from\\":-3, \\"to\\":-5}\\n ]}"

但是,當我嘗試從Json文件加載圖時,將重新組織節點的布局。 我正在使用基本的圖表示例代碼。 我嘗試將圖初始化更改為:

$(go.Diagram, "myDiagramDiv", // create a Diagram for the DIV HTML element { layout: $(go.GridLayout, { isInitial: false, isOngoing: false }),...

但它沒有顯示該圖。 如果僅保留iOnGoing = false,則顯示但節點成一直線。

如果將圖保存到json文件時想要將節點保持在適當的位置,那我在做錯什么?

我通過編寫以下myDiagram.nodeTemplate = $(go.Node, "Auto", { locationSpot: go.Spot.Center }, new go.Binding("position", "pos", go.Point.parse).makeTwoWay(go.Point.stringify),...解決了該問題: myDiagram.nodeTemplate = $(go.Node, "Auto", { locationSpot: go.Spot.Center }, new go.Binding("position", "pos", go.Point.parse).makeTwoWay(go.Point.stringify),...代替myDiagram.nodeTemplate = $(go.Node, "Auto", new go.Binding("location", "loc", go.Point.parse).makeTwoWay(go.Point.stringify), (注意從“位置”和“位置”到“位置”和“位置”的更改)解決了問題。

無需在圖初始化中進行任何更改

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM