首页  >  文章  >  web前端  >  如何清除 Google Maps API v3 中的所有标记?

如何清除 Google Maps API v3 中的所有标记?

Susan Sarandon
Susan Sarandon原创
2024-11-15 11:58:03252浏览

How to Clear All Markers from Google Maps API v3?

从 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn