GoogleMaps API:如何删除多个标记?

时间:2016-11-10 23:26:49

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

我有一个在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()中提取的;功能。删除=隐藏,而不是删除。

我该如何解决这个问题?

1 个答案:

答案 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);

};