从 Google Maps API v3 中删除所有标记
在 Google Maps API v3 中,清除所有标记与 v2 中使用的方法略有不同。虽然 map.clearOverlays() 不再可用,但以下步骤提供了实现相同效果的有效方法:
1.声明一个全局标记数组
var markersArray = [];
此数组将存储对地图上所有标记的引用。
2.定义清除叠加函数
定义清除叠加函数有两个选项:
选项 A:
function clearOverlays() { for (var i = 0; i < markersArray.length; i++ ) { markersArray[i].setMap(null); } markersArray.length = 0; }
选项 B(扩展 Google 地图API):
google.maps.Map.prototype.clearOverlays = function() { for (var i = 0; i < markersArray.length; i++ ) { markersArray[i].setMap(null); } markersArray.length = 0; }
3.将标记添加到数组
在调用clearOverlays()函数之前,将每个标记推入markerArray:
markersArray.push(marker); google.maps.event.addListener(marker,"click",function(){});
4。调用 Clear Overlays 函数
调用clearOverlays();或map.clearOverlays();每当需要时,函数都会从地图上删除所有标记。该函数迭代markersArray,将每个标记的map属性设置为null,并清空数组。
以上是如何清除 Google Maps API v3 中的所有标记?的详细内容。更多信息请关注PHP中文网其他相关文章!