我正在将我的标记聚集在一起。当用户放大到最高级别时,我需要分解集群,以便用户可以查看各个项目的信息。鉴于缩放级别的数量根据所使用的地图类型而不同,并且“maxZoom”可能已在mapOptions中明确设置,我如何检测用户何时无法进一步缩放(即缩放滑块位于最高点) )?我是否可以使用一个缩放级别数字(也许是 21)?或者这个数字会根据不同的场景而变化?这些场景会是什么?
我不需要在放大之前知道这个值:仅当用户达到最大级别时。
谷歌地图 API 有一个service http://code.google.com/intl/pl/apis/maps/documentation/javascript/services.html#MaxZoomRequests为此,你可以这样使用它:
(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;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)