通过JavaScript清除Google Maps API标记

时间:2015-01-21 14:09:16

标签: javascript api google-maps google-maps-api-3

我正在使用Google Maps API v3来处理我正在构建的项目。我已设法在地图上将标记放在用户点击的位置,但是我想要清除所有按钮以删除所有标记。我在这里看了各种答案,尝试了不同的方法。我也查阅了Google Maps 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

}

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

根据Google Maps API doc调用setMap,只从地图中删除标记但不删除它。如果您想要删除多个标记,可以像Google Maps API example given中那样执行:

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

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

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

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