在Google Maps API v2中,我使用map.clearOverlays()删除标记并重新绘制它们。
如何使用Google Maps API v3实现这一点?
谢谢
发布于 2010-06-01 18:24:49
有关打开给您的各种选项的详细信息,请参阅here,但您现在必须遍历标记并逐个删除它们。您的代码应该如下所示:
var markers = [];
function clearOverlays() {
while(markers.length) { markers.pop().setMap(null); }
markers.length = 0;
}
markers.push(marker);
google.maps.event.addListener(marker,"click",function(){});发布于 2011-10-25 05:31:47
这是一个很好的例子:
http://apitricks.blogspot.com/2010/02/clearoverlays-in-v3.html
链接失效时的文章:
clearOverlays() in V3
v3接口中没有clearOverlays()。还介绍了一些实践。我认为这是到目前为止最简单的。
在创建时推送数组中的所有覆盖(如往常一样)。下面的代码将清除map和数组:
while(overlays[0])
{
overlays.pop().setMap(null);
}方法删除数组的最后一个元素,并返回该元素。只要数组中有元素,“‘while”就会一直保持这种状态。当覆盖不再存在时,任务完成,代码将继续。
发布于 2013-04-02 05:02:50
我找到了另一种解决方案,效果非常好,它将移除地图上存在的所有叠加
gmap.overlayMapTypes.setAt( 0, null);而gmap是您的地图对象
https://stackoverflow.com/questions/2948097
复制相似问题