5

Google マップでかなりズームアウトしている場合は、マップが終了して空白の灰色になるまで十分にドラッグできます。マップは水平軸ではシームレスに繰り返されているようですが、垂直方向ではありません。その灰色の領域に達したときにマップがドラッグされないようにする方法があるかどうか疑問に思っています。何か案は?

4

2 に答える 2

2

これは、マップの範囲を制限する方法の良い例です。ちょっとしたハックですが、おそらくこれが唯一の現実的な選択肢です。

于 2009-09-24T21:30:13.923 に答える
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 を使用する必要があります。

于 2009-09-25T07:52:17.133 に答える