无法删除Google Maps JS API中的标记

时间:2015-11-10 01:39:45

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

我想在点击地图时删除地图上的所有标记。

我在这里关注文档:https://developers.google.com/maps/documentation/javascript/examples/marker-remove

我已经包含了这个功能:

function clearMarkers() {
  setMapOnAll(null);
}

由click事件触发,但我得到错误:

  

未捕获的ReferenceError:未定义setMapOnAll

文档中没有其他信息可以帮助我。

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:2)

错误表明范围

中不存在setMapOnAll
// Sets the map on all markers in the array.
function setMapOnAll(map) {
  for (var i = 0; i < markers.length; i++) {
    markers[i].setMap(map);
  }
}

答案 1 :(得分:1)

回答你的上一个问题,你真的不需要在数组中添加标记,但要注意,在文档示例中,他们在将数据添加到数组之前添加单词 var

    var marker = new google.maps.Marker({
    position: location,
    map: map
    });
    markers.push(marker); ...

如果您只想使用一个标记,请不要添加 var

marker = new google.maps.Marker({...

然后使用marker.setMap(null);将其从地图中删除。