2017-07-19 209 views
0

为了制作锯齿状的边缘,我需要进行一些计算,为此我需要布局上的每个节点的位置,并且我在实现时遇到了一些问题。Cytoscape.js从dagre布局获取节点位置

我想获得该节点的位置是这样的:

cy.$('#1891').position() 

,但不管我用哪个id,我总是得到{x: 0, y: 0}值。

当我添加一个事件是这样的:

cy.on('mouseover', 'node', function(evt){ 
    var node = evt.target; 
    console.log(node.position()); 
}); 

我得到的每一个节点的现在的位置。

什么是从dagre布局获得每个节点的位置的正确方法?

回答

1

我找到了解决方案。

这是我的一个愚蠢的错误。我试图在应用布局之前获取节点的位置。在layout.run();之后加上cy.$('#1891').position();这个技巧。