2016-12-14 109 views
0

我正在使用vis.js @version 4.10.0。我有要求在邊緣選擇期間需要找到節點的位置。vis.js selectEdge並識別節點

我正在使用下面的代碼來生成圖。

var container = document.getElementById('mynetwork'); 
     var data = { 
     nodes: nodes, 
     edges: edges 
     }; 
     var directionInput = "UD"; 
     var options = { 
       layout:{randomSeed:6,improvedLayout:true}, 
     nodes: { 
      shape: 'circle', 
      shadow:true,width: 2, 
      size: 10, 
      "color": { 
      "background": "lightblue", 
      "border": "lightblue", 
      "highlight": "yellow" 
     }, 
     edges:{ 
      shadow: true, 
      arrows: 'to, from', 
      color: 'red', 
      font: '12px arial #ff0000', 
      scaling:{ 
       label: true, 
      } 
      }, 
     physics:{ 
    stabilization: true 
    }, 

      scaling:{ 
      label: { 
       min:12, 
       max:26 
      } 
      } 
     } 
     }; 
     network = new vis.Network(container, data, options); 

回答

0

第一步是調用網絡上的'getSelectedEdges'方法來查找當前選中的邊緣。然後,假設您的節點和邊是DataSet的實例,您可以使用DataSet上的方法來查找有問題的邊,然後找到您需要的節點ID(這假設實際上是試圖找到'from '和'到'用於選定的邊緣)。請參閱:http://visjs.org/docs/data/dataset.html以獲取DataSet上方法的列表。

另一種選擇(我使用的)是創建帶有足夠信息的id的邊緣,以告訴你邊緣端點上的節點是什麼。例如,可以創建一個ID爲'1_to_9'的邊。在這種情況下,一旦你知道了edgeId,你就會立即知道涉及的節點端點是什麼。