2009-09-24 12 views
5

Googleマップでかなり遠くにズームしているときは、マップを終了して空白の灰色になるようにドラッグすることができます。地図は水平軸上で無意識のうちに繰り返されるようですが、垂直ではありません。地図がその灰色の領域に到達したときに地図がドラッグされないようにする方法があるかどうかは疑問です。何か案は?視界の外でGoogleマップのドラッグを停止する

答えて

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がビューにだマップのコピーに垂直ジャンプするマーカーやポリラインをさせるための任意のコードが含まれていないということです、彼らは水平方向にのみジャンプします。完全なソリューションには、垂直ジャンプを行うための独自のコードを記述し、無制限のGLatLngを使用する必要があります。

+0

ワイルド!ありがとう、私はこれを試してみます。 – typeoneerror

+0

私は同じ問題を抱えています。私はユーザーが視覚的境界の外に出ないようにしたいと思いますが、あなたのソリューションでこれを修正する方法を理解できません。私を助けてくれますか? – mgul

2

This is a good example地図の範囲を制限する方法。これはちょっとしたハックですが、おそらくあなたの唯一の選択肢です。

関連する問題