͢bt*_*bts 2 google-maps google-maps-api-3
我把我的标记聚集在一起.当用户放大到最高级别时,我需要打破群集,以便用户可以查看单个项目的信息.鉴于缩放级别的数量根据所使用的地图类型而有所不同,并且'maxZoom'可能已在mapOptions中明确设置,如何检测用户何时无法进一步缩放(即缩放滑块位于其最高点) )?我只能使用缩放级别编号(也许是21)?或者这个数字是否根据不同的情况而变化?这些情景会是什么?
在放大之前我不需要知道这个值:仅当用户达到最大级别时才知道.
谷歌地图api有一个服务,你可以像这样使用它:
(new google.maps.MaxZoomService()).getMaxZoomAtLatLng(map.getCenter(), function(response) {
if (response.status != google.maps.MaxZoomStatus.OK) {
alert("Error in MaxZoomService");
return;
} else {
if (map.getZoom() >= response.zoom) {
//do sth with your clusterer
//probably markerClusterer.setMaxZoom(response.zoom - 1);
//or markerClusterer.setMap(null);
}
}
});
Run Code Online (Sandbox Code Playgroud)
编辑:我还在markerclusterer.js中找到了一个解决方案(来自谷歌地图实用工具库),但它最近开始导致错误,我不确定它是否可靠:
map.mapTypes[map.getMapTypeId()].maxZoom;
Run Code Online (Sandbox Code Playgroud)