2009-09-24 31 views
5

當你在谷歌地圖上縮小很多時,可以將其拖動足夠多,以便地圖結束並變爲空白灰色。地圖似乎在水平軸上看起來沒什麼重複,但不是垂直。我想知道是否有辦法阻止地圖在到達灰色區域時被拖動。有任何想法嗎?停止將谷歌地圖拖到可視範圍外

回答

2

只是爲了好玩,另一種方法是通過在創建地圖之前覆蓋GMercatorProjection.prototype.tileCheckRange來通知地圖以與水平方向相同的方式垂直換行。

GMercatorProjection.prototype.tileCheckRange=function(a,b,c){ 
    var d = 1<<b; 
    if (a.y<0||a.y>=d) { 
     a.y=a.y%d; 
     if(a.y<0){ 
     a.y+=d; 
     } 
    } 
    if(a.x<0||a.x>=d){ 
     a.x=a.x%d; 
     if(a.x<0){ 
     a.x+=d; 
     } 
    } 
    return true 
    } 

缺點是,API不包含用於使標記和折線垂直跳到這是鑑於地圖的副本中的任何代碼,他們只跳水平。完整的解決方案需要編寫自己的代碼來執行垂直跳轉,並在整個過程中使用無界的GLatLngs。

+0

野性!謝謝,我會試試這個。 – typeoneerror 2009-09-25 16:18:27

+0

我有同樣的問題,我想阻止用戶超出可視範圍,但我無法解決如何解決這個問題。你能幫我嗎? – mgul 2016-06-28 19:25:46