我有一个OpenLayers + Bing地图应用程序,显示危险废物站点。用户可以单击链接以在地图上切换网站的子网站。
当我通过调用图层上的destroyFeatures()来关闭子网格(它们是Vector图层上的点)时,它们会按预期消失。但是,如果我放大或缩小地图,某些子网站会重新出现。移动地图时不会发生这种情况,只是缩放。
神秘地重新出现的是重合点,即具有完全相同坐标的两个站点。两者都被摧毁,两者都重新出现。
为什么这些会从图层中被破坏,然后在缩放时重新出现?
(OpenLayers版本为2.11)
答案 0 :(得分:1)
试试这个,它对我有用
layer.removeAllFeatures();
layer.destroyFeatures();//optional
layer.addFeatures([]);
答案 1 :(得分:0)
请记住,destroyFeatures()会更改向量中对象的索引。如果在代码中使用索引,则可能会导致问题。
答案 2 :(得分:0)
您确定将所有功能作为参数发送到destroyFeatures()
方法吗?删除所有内容的更简单方法就是调用removeAllFeatures()
方法。如果您想在用户切换子网站时隐藏和显示要素,那么在向量图层上使用show()
和hide()
方法会更好。