我想在点击地图时删除地图上的所有标记。
我在这里关注文档:https://developers.google.com/maps/documentation/javascript/examples/marker-remove
我已经包含了这个功能:
function clearMarkers() {
setMapOnAll(null);
}
由click事件触发,但我得到错误:
未捕获的ReferenceError:未定义setMapOnAll
文档中没有其他信息可以帮助我。
有人能指出我正确的方向吗?
答案 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);
将其从地图中删除。