Nat*_*tim 23 api google-maps google-maps-api-3
在Google Maps API v2中,我使用map.clearOverlays()删除标记并再次绘制它们.
如何使用Google Maps API v3执行此操作?
谢谢
小智 34
这很好:
http://apitricks.blogspot.com/2010/02/clearoverlays-in-v3.html
链接死亡的文章:
clearOverlays() in V3
API v3中没有clearOverlays().已经介绍了一些做法.我认为到目前为止这是最简单的.
在创建时推送数组中的所有叠加(像往常一样).以下代码将清除map和数组:
while(overlays[0])
{
overlays.pop().setMap(null);
}
Run Code Online (Sandbox Code Playgroud)
数组的pop()方法删除数组的最后一个元素,并返回该元素.只要数组中有元素,'while'就会发生这种情况.当覆盖[0]不再存在时,任务完成并且代码将继续.
Pau*_*ens 14
有关您可以使用的各种选项的详细信息,请参阅此处,但您现在必须遍历标记并单独删除它们.您的代码应如下所示:
var markers = [];
function clearOverlays() {
while(markers.length) { markers.pop().setMap(null); }
markers.length = 0;
}
markers.push(marker);
google.maps.event.addListener(marker,"click",function(){});
Run Code Online (Sandbox Code Playgroud)