google-maps - どのマーカーがGoogle Maps APIのドラッグイベントであるかを知るにはどうすればよいですか?

google-maps google-maps-api-3

Google Maps V3 APIの「drag」、「dragstart」、および「dragend」イベントはそれぞれ、登録されたコールバック関数にmouseEventを渡します。

ただし、このイベントには、どのマーカーがドラッグされているかに関する情報は含まれていません。どうすればそれを判断できますか?

「dragend」イベントだけを見ている場合、これはさらに複雑になります。これは新しい座標しか持たないため、座標から推測することさえ不可能です。

どのマーカーがドラッグされているかを判断する簡単な方法があるはずだと思います...
答え
作成時にリスナーを使用して、ドラッグイベントをマーカーに追加します。

google.maps.event.addListener(marker, 'dragend', function() {
                //do something with the event.
            });


ここにフィドルの例があります:http://jsfiddle.net/2YQg6/10/
(ドラッグ可能なマーカーを処理するために以前使用したフィドルを編集したばかりの他のことは気にしないでください。)

関連するコードはマーカー作成ループにあります:

//geo code and build markers for each list item.
for (var i = 0; i < $listItems.length; i++) {
    geocoder.geocode({
        'address': $($listItems[i]).text()
    }, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            var marker = new google.maps.Marker({
                position: results[0].geometry.location,
                map: map,
                draggable: true,
                originalPos: results[0].geometry.location
            });

            google.maps.event.addListener(marker, 'dragend', function() {
                infoWindow.setContent("marker originally at this position: " + this.originalPos + " was dragged to: " + this.position);
                infoWindow.open(map, this);
            });


            markers.push(marker);
        }        

});
}
関連記事

google-maps - マウスイベントを使用してGoogleマップから座標を取得する

android - GoogleマップstartActivityForResult

javascript - IDでGoogleマップ(V3 JS API)マーカーを選択して操作する方法は?

google-maps - フレックスモバイルプロジェクト:Googleマップにズームコントロールを追加する

google-maps - Google Maps APIの商用ユーザー向けの料金体系と利用規約の変更はどこに記載されていますか?

ruby-on-rails - シャドウを回避する方法は、Gmaps4railsのrich_markerに適用されます。

android - SQliteデータを取得して、マップマーカーに設定したい[ForceClose]

javascript - Googleマップ上の運転場所に基づいて住所をフィルタリングする

javascript - Googleジオコーダーから結果を配列に取得しますか?

silverlight - (bing)マップ:+5000ピンポイント