【问题标题】:Clear Google Maps API markers through JavaScript通过 JavaScript 清除 Google Maps API 标记
【发布时间】:2015-01-21 14:09:15
【问题描述】:

我正在为我正在构建的项目使用 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

}

任何帮助将不胜感激

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 我已经尝试过类似的方法,但是您解释它的方式已经清除了它。我会在这方面玩一玩,看看我能从哪里得到感谢。
    • 很高兴为您提供帮助。如果这个解决方案最终是正确的,请将其标记为答案 ;)
    猜你喜欢
    • 2012-05-24
    • 2011-12-11
    • 1970-01-01
    • 2022-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    • 1970-01-01
    相关资源
    最近更新 更多