我正在将我的标记聚集在一起。当用户放大到最高级别时,我需要打破群集,以便用户可以查看单个项目的信息。鉴于缩放级别的数量根据所使用的地图类型而有所不同,并且'maxZoom'可能已在mapOptions中明确设置,如何检测用户何时无法进一步缩放(即缩放滑块位于其最高点) )?我只能使用缩放级别编号(也许是21)?或者这个数字是否根据不同的情况而变化?这些情景会是什么?
在放大之前我不需要知道这个值:仅当用户达到最高级别时才知道。
答案 0 :(得分:6)
google maps api有一个service,你可以这样使用它:
(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);
}
}
});
编辑:我在markerclusterer.js中找到了一个解决方案(来自谷歌地图实用工具库),但它最近开始导致错误,我不确定它是否可靠:
map.mapTypes[map.getMapTypeId()].maxZoom;
答案 1 :(得分:0)
从快速测试看,在你到达街景级别之前,看起来像z = 19是最放大的。经过几个国家的测试,它没有改变。
答案 2 :(得分:0)
大多数城市地图将放大到18,但有些超出了这个范围,并且有23级的孤立卫星视图。