TWaver Forums
http://twaver.servasoft.com/forum/

求助,大家知道为啥设置了自动布局,我添加的节点都在左上角(0,0)坐标上吗?是我的自动布局方式不对?
http://twaver.servasoft.com/forum/viewtopic.php?f=35&t=6154
Page 1 of 1

Author:  方永康 [ 2019-05-07 10:56 ]
Post subject:  求助,大家知道为啥设置了自动布局,我添加的节点都在左上角(0,0)坐标上吗?是我的自动布局方式不对?

自动布局好像没有发挥效果,我的节点数据比较乱,本身没有逻辑,只有多个group和多个node节点,之间会有连线,这种结构自动布局一般会应该怎么展示?
如果给每个节点setLocation的话,倒是可以排布展示,但是这样的话,业务相关性就太强了,我需要根据group和node节点类型去安排位置;
现在期望实现的是,前端不知道业务逻辑,仅仅靠着接收数据的节点还有group,连线关系,在幕布上画出来,排版布局如果好看一点就更好了;

贴一下我的自动布局代码:
ts代码:
this.box = new twaver.ElementBox();
this.network = new twaver.vector.Network(this.box);
this.autoLayouter = new twaver.layout.AutoLayouter(this.box);
this.autoLayouter.doLayout('round', function() {
network.panToCenter();
});

this.network.setZoomManager(new twaver.vector.MixedZoomManager(this.network, true));
document.getElementById('main').appendChild(this.network.getView());

this.network.adjustBounds({
x:0 ,y:0,
width: document.getElementById('main').clientWidth,
height: document.getElementById('main').clientHeight,
});
html代码:
<div id='main' style = 'width:100%;height:100%'></div>

adjustbounds方法中的 y 如果我设置非0,比如80,就会出现我之前提过的那个情况:
鼠标第一次点击幕布,幕布会往上跳动一下,将幕布拉到最顶端。

Author:  方永康 [ 2019-05-07 15:01 ]
Post subject:  Re: 求助,大家知道为啥设置了自动布局,我添加的节点都在左上角(0,0)坐标上吗?是我的自动布局方式不对?

仔细看了一下自动布局的demo代码,说是自动布局,其实初始化节点以及group的时候还是有组织结构的(起码有一个center),我的数据结构好像有点不符合,因为它比较乱,估计要用自定义的布局了,另外问一下:
this.autoLayouter.doLayout('round', function() {
network.zoomOverview(true);
});
一直给我报方法里面的network undefined,我用的是angular2,是不是function里面不能传入外面的全局变量?

Author:  Learnsea10155 [ 2019-05-28 11:36 ]
Post subject:  Re: 求助,大家知道为啥设置了自动布局,我添加的节点都在左上角(0,0)坐标上吗?是我的自动布局方式不对?

方永康 wrote:
仔细看了一下自动布局的demo代码,说是自动布局,其实初始化节点以及group的时候还是有组织结构的(起码有一个center),我的数据结构好像有点不符合,因为它比较乱,估计要用自定义的布局了,另外问一下:
this.autoLayouter.doLayout('round', function() {
network.zoomOverview(true);
});
一直给我报方法里面的network undefined,我用的是angular2,是不是function里面不能传入外面的全局变量?




用箭头函数,或者使用let that = this; 布局回调使用that.network试试。

Page 1 of 1 All times are UTC + 8 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/