删除特定的谷歌地图标记

时间:2015-04-06 20:00:05

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

我使用Google Maps API作为网络应用,我尝试根据输入距离删除一组标记,但我所能做的就是使用以下代码删除所有标记我在google Api的文档中找到了:

clearMarkers();

  markers = [];

如何跟踪每个标记并单独删除/隐藏它?

3 个答案:

答案 0 :(得分:1)

您可以使用

marker.setMap(null);

到你想隐藏在数组中的每个标记。

例如:

for (var i = 0; i < markers.length; i++) {
    if (markers[i].filter == filter)
    {
        markers[i].setMap(map);
    }
    else
    {
        markers[i].setMap(null);
    }
}

答案 1 :(得分:0)

遍历标记并调用函数或对每个标记执行输入距离测试,然后在测试失败时将映射设置为null。

markers.forEach(function(m) {
  if (!matchesInputDistance(m)) {
     m.setMap(null)
  }
}

答案 2 :(得分:0)

function clearMarkerSelected() {
                if (markerSelected) {
                    markerSelected.setEditable(false);
                    markerSelected = null;
                }
            }

function setMarker(marker) {
                    markerSelected = marker;
                    marker.setDraggable(true);
                }
google.maps.event.addListener(newShape, 'click', function () {
                            setMarker(newShape);
                        });