允许缩放超过lvl。 22谷歌地图

时间:2014-01-13 18:13:56

标签: google-maps map zoom zooming indoor-positioning-system

我正在尝试在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.

当然,地图计划覆盖在​​地图上必须有一些解决方案。 有什么想法吗?

2 个答案:

答案 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