在 Google Maps API 版本 2 中,删除所有地图标记就像使用 map.clearOverlays() 一样简单。但是,此方法在 API v3 中不再可用。本综合指南将指导您完成从地图中有效删除所有标记的步骤:
首先声明一个全局变量来存储标记数组:
var markersArray = [];
创建一个名为clearOverlays()的函数来迭代标记数组并将每个标记的映射设置为null:
function clearOverlays() { for (var i = 0; i < markersArray.length; i++) { markersArray[i].setMap(null); } markersArray.length = 0; }
OR
或者,您可以将函数定义为 google.maps.Map 的原型方法:
google.maps.Map.prototype.clearOverlays = function() { for (var i = 0; i < markersArray.length; i++) { markersArray[i].setMap(null); } markersArray.length = 0; }
在调用之前clearOverlays() 函数,请确保在将每个标记添加到地图时将其推送到markerArray。请记住为每个标记添加事件监听器以实现交互:
markersArray.push(marker); google.maps.event.addListener(marker, "click", function() {});
最后,每当需要删除所有标记时,请调用clearOverlays()或map.clearOverlays()函数地图上的标记。
使用这些步骤,您现在可以有效地从 Google Maps API v3 应用程序中删除所有标记。
以上是如何从 Google Maps API v3 应用程序中删除所有标记?的详细内容。更多信息请关注PHP中文网其他相关文章!