1

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

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

我以简单的方式使用markermanager:

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();
});

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

4

2 回答 2

2

我有同样的问题。创建标记时,不要在标记选项中设置“地图”参数。MarkerManager 将在您放大和缩小时将标记添加到您的地图中。

例如:

var newMarker = new google.maps.Marker({
    //map: map
    position: markerPosition,
    icon: icon
});
mgr.addMarker( newMarker, 9 );
于 2013-04-06T16:08:19.833 回答
0

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

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

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

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();
});

工作示例

于 2013-02-12T15:32:12.493 回答