我有一个在Google Map中固定标记的功能。这是它的外观:
// Look to draw marker in various coordinates. Pseudo code...
for(var i = 1; i <= noOfCoordinates; i++){
var lat = latitude[i];
var long = longitude[i];
drawMarker(lat, long);
};
var drawMarker = function(lat, long){
// code to draw marker
marker.setMap(map);
};
但我也有删除这些标记的功能
for(var i = 1; i <= noOfCoordinates; i++){
removeMarker(null);
};
var removeMarker = function(map){
// code to draw marker
marker.setMap(map);
};
drawmarker();谷歌地图中的引脚/绘制标记但removeMarker();不会从谷歌地图中删除所有标记,它只删除最后一个标记。
我想删除所有与之关联的标记,这是从drawMarker()中提取的;功能。删除=隐藏,而不是删除。
我该如何解决这个问题?
答案 0 :(得分:0)
保持对所有标记的引用,在每个标记上调用.setMap(null)
geocodezip建议像这样:
markers = []; // <-- global variable
for(var i = 1; i <= noOfCoordinates; i++){
var lat = latitude[i];
var long = longitude[i];
var marker = drawMarker(lat, long);
markers[i].push(marker);
};
var drawMarker = function(lat, long){
// code to draw marker
marker.setMap(map);
return marker;
};
for(var i = 1; i <= noOfCoordinates; i++){
markers[i].setMap(null);
};