JS组件update要素后出现问题

0 投票

利用editFeature中的UPTATE方法对存在的要素进行更新,成功更新后的要素只在某些缩放级别可以显示出来,就是比如相机缩放近了可以看得到更新后的要素,镜头拉远了就看不到了(如图中鹰眼所示),请问一下这是什么原因,就算把界面刷新了也这样,可是在iDesktop中观察是正常的。

10月 9 分类:  25次浏览 | 用户: xydwhaha 才疏学浅 (15 分)

1个回答

1 投票
 
已采纳
你好,请问一下目前是使用的iclient哪款产品进行的开发?更新的要素是使用绘制的方法还是代码构造的要素?
10月 9 用户: 李俊霖 学富五车 (667 分)
采纳于 10月 10 用户:xydwhaha
JS的,更新要素的方式是用绘制的方式,我将画好的feature读取其点的位置,用来替换原来feature的点,用editfueature中的UPDATE指令更新,就会出现如图的情况。但再iDesktop里面观察更新后的feature却是正常的,是更新后的图像。
我用leaflet.pm这个插件进行绘制的。
嗯。按照这样方式去更新思路没有问题。检查一下你的tiledMapLayer图层的属性设置,默认情况下tiledMapLayer图层是启用缓存的,也就是cacheEnabled属性为true,你的地图与鹰眼图都是需要使用tiledMapLayer图层,因为你是更新要素的空间形态,所以这里不能启用缓存,需要实时出图,cacheEnabled修改为false即可。
这个tiledMapLayer图层是存放服务地图的图层是吗?这么会不会影响性能,比方如果我要素很多的话。。。?
对,这肯定会影响性能,因为你要做更新那么地图必须是实时加载不能使用缓存,这样相当于你加载地图的时候每次重新进行请求渲染出图。如果你的地图数据量小的话,基本没用影响,特别大的数据量出图可能会慢一点。
谢谢你!最后一问 ,那有没有手动加载地图的函数?比如手动刷新什么的?我找过好像找不到,或者有什么实现的方法?
刷新地图?你可以通过先移除tiledMapLayer,然后再添加tiledMapLayer就可以了
好的!谢谢你
...