1

次のように、Googleマップのドラッグオプションを制限する方法を見つけようとしています:

  • マップ ビューは、特定の国のみを表示するように制限されています。
  • しかし、より高いズーム レベルでは、ユーザーは地図をドラッグして、海だけが表示されるようにすることができます。

私の要件は、ユーザーのズーム レベルに関係なく、マップをドラッグして海の景色を表示できないようにすることです。つまり、陸地のみを表示し、海に入ろうとする場合は制限する (引きずるのを防ぐ) 必要があります。

マップ ビューを正常に制限する境界を定義しました。しかし、問題はより高いズームレベルにあります。ユーザーはマップをドラッグして境界内にとどめることができますが、海しか表示されないため、これを防ぎたいと考えています。

しかし、それでも私はタスクを実行する方法を理解できませんでした。誰でも方法/メカニズムを提案してもらえますか?

ありがとうございました...

4

3 に答える 3

1

これは最初は非常に難しいようです。そして、少しの土地が見えるとしたらどうしますか?

ただし、ユーザーがマップをドラッグできないようにすることもできます。MapOptionsでdraggable:falseを設定します。

于 2012-06-20T06:40:03.080 に答える
1

私はあなたの質問について少し混乱しています。

あなたは言う

" より高いズーム レベルでは、ユーザーは地図をドラッグして、海だけが表示されるようにすることができます"

そしてあなたは言う

「ユーザーのズーム レベルに関係なく、地図をドラッグして海を表示することはできません」

とにかく、マップをドラッグできないようにする解決策があり、ズーム時にその値を変更できます。

例えば:

function intialize{

    map = new google.maps.Map(document.getElementById("map_canvas");
    map.setOptions({ draggable : true });

}

google.maps.event.addListener(map,'zoom_changed',function () { 
  if (map.getZoom() >= 4) {
   map.setOptions({ draggable : false});
  }
});

編集:私はあなたが言っていることを理解し始めていると思います。あなたが望んでいるのは、ユーザーがズームインして国を探索できるようにすることですが、地図を水上にドラッグすることではないと思います. ズームアウトすると、ドラッグできなくなります。これを完全に実装できるかどうかはよくわかりませんが、ズーム レベルに基づいてマップがドラッグ可能かどうかを確実に判断できます。

于 2012-06-20T07:01:11.093 に答える
0

こんにちは私はこの例を見てきましたので、解決策が見つかったら一度見直すことをお勧めします。 MapViewの例

私が参照した別の例はこれです

于 2012-06-20T05:25:14.650 に答える