3

こんにちは、ウェブで検索しましたが、答えが見つからなかったので、貴重な助けが必要です。私のコードがあります:

    for(var i=0; i<10;i++){         
        LatLon=new google.maps.LatLng(39.633336, 22.386423);
        Marker= new google.maps.Marker({position:LatLon,map:MyMap,draggable: true,title:'Mytitle'+i});
        MarkersArray[] = Marker; //keep markers in array because i want to delete them later!!!
        google.maps.event.addListener(Marker,"dragend",function(event){
            var markerNewPosition = this.getPosition();
            alert("old position: **here i want to show the old position** \nnew position: "+markerNewPosition);
        });
    }

今までは、マーカーをドラッグすると、マーカーの新しい位置の緯度と経度を警告していました。でももっと欲しい!古い位置の緯度と経度をアラートしたい。言い換えれば、ドラッグハンドラーで、マーカーがあった前の場所の座標と、マーカーが移動する新しい場所の座標を取得したいと考えています。誰かがそれを行う方法を知っていますか?任意のアイデアをいただければ幸いです。前もって感謝します!

4

1 に答える 1

11

dragstartイベントリスナーでそれを取得する必要があります。次のように保存できます。

var GLOBAL = {};

...

google.maps.event.addListener(Marker,"dragstart",function(event){
    var markerOldPosition = this.getPosition();
    GLOBAL.startDragPosition = markerOldPosition;

});
google.maps.event.addListener(Marker,"dragend",function(event){
    var markerNewPosition = this.getPosition();
    alert("old position: " + GLOBAL.startDragPosition + " \nnew position: "+markerNewPosition);
    delete GLOBAL.startDragPosition;
});
于 2012-12-11T13:16:23.333 に答える