2

我有一个显示危险废物地点的 OpenLayers + Bing 地图应用程序。用户可以单击链接以在地图上切换站点的子站点。

当我通过在图层上调用 destroyFeatures() 来关闭子站点(它们是矢量图层上的点)时,它们会按预期消失。但是,如果我放大或缩小地图,某些子站点会重新出现。移动地图时不会发生这种情况,只是缩放。

神秘再现的是重合地点,即坐标完全相同的两个地点。两者都被摧毁,并且都重新出现。

为什么这些会从图层中被破坏,然后在缩放时重新出现?

(OpenLayers 版本是 2.11)

4

3 回答 3

1

试试这个,它对我有用

layer.removeAllFeatures();
layer.destroyFeatures();//optional
layer.addFeatures([]);
于 2013-07-23T10:19:16.503 回答
0

您确定将所有功能作为参数发送给destroyFeatures()方法吗?删除所有内容的更简单方法是调用removeAllFeatures()方法。如果您想在用户切换子站点时隐藏和显示功能,那么在矢量图层上使用show()和方法会更好。hide()

于 2012-08-15T15:19:16.330 回答
0

请记住,destroyFeatures() 会更改向量中对象的索引。如果您在代码中使用索引,这可能会导致问题。

于 2012-08-10T07:29:34.317 回答