5

簡単
に言えば、マップ上でマウスをドラッグして作成された長方形の領域内にあるすべてのマーカーを見つけたいと思います。この機能はjQueryプラグインなどでサポートされていますか?そうでない場合は、これをプロジェクトに実装したいと思います。かっこいいと思います。

詳細
プロジェクトでIE6をサポートしたいので、GoogleMapsv2を使用しています。

私はマップの初心者であり、開発者ガイドのセクションといくつかの基本的なデモおよびその他のSOの質問に目を通しました。

これが私のこれまでの考えです-

まとめ
ここにもう一度私の質問があります-

  • マップ上に長方形の選択領域を表示するにはどうすればよいですか?(通常、外観はわずかに灰色で透明です)

  • クリックしたポイントの緯度/経度(緯度/経度)を取得し、それを拡張して選択の開始点と終了点の緯度/経度を取得する方法。

私はjQueryの経験がありますが、jQueryプラグインを使用した優れたソリューションがある場合は、お知らせください。Googleマップのインストールを簡単にするための10個のjQueryプラグインのリストを見ましたが、それらのいずれかが私の要件を満たすのに役立つかどうかはわかりません。

マーカーのリストがある場合、別の表示セクション内にいくつかの関連情報を入力して、ユーザーがいくつかのマーカーを選択するたびに、対応する情報が表示セクションに表示されるようにします。その部分は簡単なはずです。

ありがとう

4

1 に答える 1

4

Google Maps APIデモギャラリーでKeyDragZoomの 例を確認して、長方形の選択機能を実現できます。ここでドキュメントを見つけることができます。

2番目の問題では、GLatLngBoundsクラスとそのcontainsLatLng(latlng:GLatLng)関数を使用できます。GLatLngBoundsオブジェクトを長方形の境界に設定することにより、containsLatLng関数を使用してオブジェクトに対してマーカーをテストできます。

KeyDragZoomを使用する場合は、dragendリスナーをに追加すると、containsLatLng関数を使用してマーカーをテストするために使用できるオブジェクトgetDragZoomObjectが得られます。GLatLngBounds

map.enableKeyDragZoom();
var dz = map.getDragZoomObject();
GEvent.addListener(dz, 'dragend', function (bnds) {
  // test your markers against bnds here
});
于 2011-05-09T06:51:04.080 に答える