2015-05-09 59 views
5

我有一些非常高分辨率的航空图像,我想通过卫星视图底图显示。我的图像足以生成缩放级别为23的图像。但是,Google的卫星视图只允许放大到20级。我知道,一旦用户放大到20级,我就可以手动将地图类型切换为自定义覆盖图(所以只显示我的地图类型),但是我失去了Google图像的完整缩放级别。允许谷歌地图v3卫星视图进一步缩放

我的问题是,有一种方法来注册一个事件,一旦缩放达到20级,其中客户端试图进一步放大,但不能?如果没有,有没有其他想法可以让我进一步缩放而不会丢失20级的Google图像?

唯一的其他解决方案,我能想出是创建一个简单到标准谷歌瓷砖URL转发请求第二个自定义瓦的服务器,而是提供了一个不同的最小/最大变焦。如果这个想法是要走的路,我也想得到确认。谢谢。

+0

可以通过定义'maxZoom'和'minZoom'内性能限制放大'mapOptions'。 – KayAnn

+0

是的,如果我只显示我的地图类型。不过,我有覆盖地图类型,因此最小和最大缩放级别是在内置的Satellite或Terrain地图类型中指定的。你知道如何增加(而不是减少)这些地图类型的最大缩放级别吗? –

+0

这样的事情? http://stackoverflow.com/questions/10517848/modify-the-max-zoom-level-of-a-google-map-type。 – KayAnn

回答

8

予确定的最简单的解决方法是重载这里,变焦范围改变的功能,使用以下难以置信哈克代码:

var zoomRangeModifier = googleMap.__proto__.__proto__.__proto__; 
var originalSetFunc = zoomRangeModifier.set; 
var hijackedSetFunc = function(a, b) { 
    if (a === 'zoomRange') { 
     b.max = 23; 
    } 
    originalSetFunc.call(this, a, b); 
}; 
zoomRangeModifier.set = hijackedSetFunc; 
相关问题