我正在使用此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);
}
答案 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);
}