如何从A方向到B方向移除旧标记

时间:2014-08-19 15:10:01

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

我正在使用此example在我的方向A到B上添加标记。当我添加新的起点和终点时,如何删除“旧”标记。 我尝试更改gmarkers[j].setMap(null);但不工作。

for (var j=0; j< gmarkers.length; j++) {
      if (boxes[i].contains(gmarkers[j].getPosition()))
          gmarkers[j].setMap(map);
  }

fiddle/original code from this question

3 个答案:

答案 0 :(得分:1)

您使用setVisible函数:

var marker = new google.maps.Marker({
position: new google.maps.LatLng(10, -10), 
map: map
}); 

marker.setVisible(false);

在你的情况下:

for (var j=0, m; m = gmarkers[j]; j++)
{
    m.setVisible(false);
}

使用.setMap()可以省略参考; setVisible()切换标记

最好

中号

答案 1 :(得分:1)

知道了。你有一个clearBoxes函数。你也可以use it to clear the markers

function clearBoxes() {
  if (boxpolys != null) {
    for (var i = 0; i < boxpolys.length; i++) {
      boxpolys[i].setMap(null);
    }
  }
  for (var j=0; j< gmarkers.length; j++) {
      gmarkers[j].setMap(null);
  }
  boxpolys = null;
}

答案 2 :(得分:0)

要清除标记,请执行此操作(将其map属性设置为null):

for (var i=0;i<gmarkers.length;i++){
  gmarkers[i].setMap(null);
}

updated fiddle