我在谷歌地图上绘制折线,并将标记放到每个点上。我想隐藏这些标记更高的缩放级别,因此我使用标记管理器。它运作良好。
绘制完所有内容后,地图会使用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();
});
以前有人遇到过这个问题吗?谢谢提前!
答案 0 :(得分:2)
我有同样的问题。创建标记时,请勿在标记选项中设置“map”参数。放大和缩小时,MarkerManager会将标记添加到地图中。
例如:
var newMarker = new google.maps.Marker({
//map: map
position: markerPosition,
icon: icon
});
mgr.addMarker( newMarker, 9 );
答案 1 :(得分:0)
为什么对于设置为0的标记有最大缩放?
MarkerManager.addMarkers(aMarkers[0], minZoom, maxZoom(optional))
尝试(根据documentation,该参数是可选的):
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();
});