我正在尝试在Google地图上叠加建筑平面图。但是,缩放级别21太小而不能显示室内细节。我需要缩放23-26。
我尝试了以下设置:
var mapOptions = {
zoom : 24,
maxZoom: 26,
center : new google.maps.LatLng(52.226071,20.950115),
mapTypeId: google.maps.MapTypeId.SATELLITE,
};
但它不起作用。我得到了默认行为。
var mapOptions = {
zoom : 22
maxZoom: 26,
minZoom: 22,
center : new google.maps.LatLng(52.226071,20.950115),
mapTypeId: google.maps.MapTypeId.SATELLITE,
};
这确实会强制更多变焦,但我无法超越22.
当然,地图计划覆盖在地图上必须有一些解决方案。 有什么想法吗?
答案 0 :(得分:3)
内置mapTypes的maxZoom
是预定义的(取决于mapType和位置)
你能做什么:
使用custom mapType(您可以为其定义符合您要求的maxZoom)
观察地图的zoom_changed事件。何时缩放到达特定位置的maxZoom
(在本例中为21),从内置mapType切换到自定义mapType(并在缩放到21以下时切换回来)。
答案 1 :(得分:0)
通过使用https://github.com/tilemapjp/ZoomTMSLayer的修改版本,我得到了这个(虽然有一些错误)。我没有使用自己的磁贴地图服务,而是使用了Google正在进行网络呼叫的相同网址。
基本上,您扩展了google.maps.ImageMapType并重新定义了getTile()和getTileUrl()方法。对于任何大于Google在该位置支持的最大缩放级别的缩放级别,请抓取Google在最大缩放时返回的图块,然后对其进行缩放并转换每个图块以使它们对齐。
我将我的代码放在Github上以方便查看:https://github.com/dallinski/GoogleMapsSuperZoomMapType