Google maps 允许左上角缩放。22在谷歌地图上

Google maps 允许左上角缩放。22在谷歌地图上,google-maps,map,zooming,indoor-positioning-system,Google Maps,Map,Zooming,Indoor Positioning System,我试图在谷歌地图上覆盖一个建筑平面图。但是,缩放级别21太小,无法显示室内细节。我需要zoom 23-26 我尝试了如下设置: var mapOptions = { zoom : 24, maxZoom: 26, center : new google.maps.LatLng(52.226071,20.950115), mapTypeId: google.maps.MapTypeId.SATELLITE, }; 但它不起作用。我得到默认行为 va

我试图在谷歌地图上覆盖一个建筑平面图。但是,缩放级别21太小,无法显示室内细节。我需要zoom 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

当然,在地图上叠加楼层平面图必须有一些解决方案。
有什么想法吗?

内置地图类型的
maxZoom
是预定义的(取决于地图类型和位置)

你能做什么:
使用(您可以为其定义符合您要求的最大缩放)

观察地图的缩放事件。当缩放到达特定位置的
maxZoom
(本例中为21)时,从内置贴图类型切换到自定义贴图类型(并在缩放低于21时切换回)。

我使用的是一个修改版本的。我没有使用我自己的tile地图服务,而是使用了与Google网络呼叫相同的URL

实际上,您扩展了google.maps.ImageMapType并重新定义了getTile()和getTileUrl()方法。对于任何大于谷歌在该位置支持的最大缩放级别的缩放级别,抓取谷歌在最大缩放时返回的磁贴,然后缩放并变换每个磁贴,使它们对齐


为了便于查看,我将代码放在Github上:

我认为这解决了我的问题。如果我的平面图周围不是空白的(我的自定义maptype加载空白的瓷砖),而是缩放的卫星瓷砖,我会很酷,但这仍然足够好。我似乎遇到了上面提到的错误,因为在使用时,我在平移时经常在左侧得到空瓷砖。我没有诊断这些问题的专业知识,如果能帮我修复它们,我将不胜感激。事实上,我已经解决了大部分问题。这是我的代码:。我花了一些时间才弄明白“ts”扩展,但我现在明白这需要使用和熟悉类型脚本。希望它对其他读者有用。