如果我在初始化后自动缩小,谷歌地图 v3 标记管理器不会隐藏标记



我在谷歌地图上画了一条多段线,并在其中的每一点都放置了标记。我想在更高的缩放级别上隐藏这些标记,因此我使用了标记管理器。它运行良好。

绘制完所有内容后,地图将使用google.map.fitBound命令缩放到多段线的边界。但如果它放大到标记隐藏的地方,它们就不会了。它们仍然可见。如果我再次拖动或缩放,它们就会隐藏起来。

我使用标记器的方式很简单:

var aMarkers [...array of markers...],
markerMgr = new MarkerManager(map);
google.maps.event.addListener(markerMgr, 'loaded', function() {
    markerMgr.addMarkers(aMarkers[0], 15, 0);
    markerMgr.addMarkers(aMarkers[1], 12, 0);
    markerMgr.addMarkers(aMarkers[2], 10, 0);
    markerMgr.refresh();
});

以前有人遇到过这个问题吗?感谢提前!

我也遇到了同样的问题。创建标记时,不要在标记选项中设置"贴图"参数。当您放大和缩小时,MarkerManager会将标记添加到地图中。

例如:

var newMarker = new google.maps.Marker({
    //map: map
    position: markerPosition,
    icon: icon
});
mgr.addMarker( newMarker, 9 );

为什么将标记的最大缩放设置为0?

MarkerManager.addMarkers(aMarkers[0], minZoom, maxZoom(optional))

Try(根据文档,该参数是可选的):

var aMarkers [...array of markers...],
markerMgr = new MarkerManager(map);
google.maps.event.addListener(markerMgr, 'loaded', function() {
    markerMgr.addMarker(aMarkers[0], 15);
    markerMgr.addMarker(aMarkers[1], 12);
    markerMgr.addMarker(aMarkers[2], 10);
    markerMgr.refresh();
});

工作示例

最新更新