2015-05-09 92 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; 
相關問題