通过 JavaScript 清除 Google Maps API 标记

Clear Google Maps API markers through JavaScript

本文关键字:API 标记 Maps Google JavaScript 清除 通过      更新时间:2023-09-26

我正在为我正在构建的项目使用 Google Maps API v3。我已经设法在地图上用户单击的位置放置标记,但是我想有一个清除所有按钮来删除所有标记。我在这里查看了各种答案并尝试了不同的方法。我也查阅了谷歌地图API文档,但是我尝试过的所有方法都不起作用。应该注意的是,地图可以有多个标记。

我拥有的代码如下:

///The function addLatLng is called when the user clicks on the Map
   function addLatLng(event) {
  // This code adds the marker to the map
  var marker = new google.maps.Marker({
    position: event.latLng,
    title: '#' + path.getLength(),
map: map
  });

}
   ///The clearall function is called when a button is clicked
function clearall() {
    poly.setMap(null);//This clears the polyline that is drawn and works correctly
}

任何帮助将不胜感激

根据谷歌地图API文档调用setMap只从地图中删除标记,而不删除它。如果要删除多个标记,可以按照给定的Google Maps API示例进行操作:

1/添加标记时,将其推入数组

2/删除所有标记:创建一个将此数组作为参数的函数,并通过 for 循环将 setMap() 应用于数组的每个元素。

3/删除后删除所有标记(即从内存中删除):创建一个函数来调用数组中的每个标记上的 setMap(null)(根据 Google 删除标记)并从数组中删除所有标记(例如 markersArray = [])

您可以在我的第二个参考中找到相应的谷歌示例代码。