【发布时间】:2015-01-21 21:35:30
【问题描述】:
我在谷歌地图上放置了一些标记,将它们保存在一个全局数组中。单击按钮后,标记应该会从地图中消失,也会从数组中删除它们。
// clear markers
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(null);
}
// delete marker from markers array
markers.length = 0;
markers = [];
这就像一个魅力,标记从地图上消失。在下一步中,我将通过 ajax 调用获取一些新数据,再次创建标记并将这些标记添加到标记数组中。新标记在地图上可见,但在放大/缩小地图时突然“旧”标记再次可见。所以我混合了新旧标记。
这是 Google 地图缓存问题吗? 如何真正从地图中删除旧标记 - 地图刷新? 提前致谢。
解决方案
写完这个问题后,我找到了这个问题的答案: 我还有一个 MarkerClusterer 持有对标记数组(和标记)的引用。清除 MarkerClusterer 后,所有对旧标记的引用都消失了。请参阅此链接:
Any change in zoom level causes all my markers to re-appear on my Google map
【问题讨论】:
-
您发布的代码不足以给出答案,请发布更完整的代码。
标签: google-maps google-maps-api-3 google-maps-markers markers