我正在使用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
}
任何帮助将不胜感激
答案 0 :(得分:1)
根据Google Maps API doc调用setMap,只从地图中删除标记但不删除它。如果您想要删除多个标记,可以像Google Maps API example given中那样执行:
1 /添加标记时,将其推入数组
2 /删除所有标记:创建一个将此数组作为参数的函数,并通过for循环对每个数组元素应用setMap()。
3删除后删除所有标记(即从内存中删除):创建一个函数,在数组中的每个标记上调用setMap(null)(根据Google删除标记)并删除数组中的所有标记(例如markersArray = [])您可以在我的第二个参考中找到相应的Google示例代码。