javascript - 在 google maps api v3 (javascript) 中获取 dragend 标记的旧位置

标签 javascript google-maps-api-3 google-maps-markers

您好,我在网上搜索过,但找不到答案,所以我需要您的宝贵帮助。这是我的代码:

    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);
        });
    }

直到现在,当我拖动标记时,我会提醒它新位置的纬度和经度。但我想要更多!我想提醒旧位置的经纬度。换句话说,我希望在 dragend 处理程序中获取标记所在的前一个位置的坐标和标记所在的新位置的坐标。有人知道怎么做吗?任何想法将不胜感激。先感谢您!

最佳答案

您需要使用 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;
});

关于javascript - 在 google maps api v3 (javascript) 中获取 dragend 标记的旧位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13820940/

相关文章:

javascript - 错误的元素集中在 Chrome 中

javascript - 全部或部分重新加载基础

javascript - 对象网格居中

google-maps-api-3 - 获取圆心坐标

javascript - 我如何在 Google Maps v2 的 map 底部放置标记?

javascript - Gridster 的替代品?

google-maps - Google Maps API V3 - 向所有标记添加事件监听器?

javascript - 在谷歌地图中找到一个圆圈内的所有经纬度

ruby-on-rails-3 - 将 div(谷歌地图)设置为 100% 高度,以便填充 Twitter Bootstrap 中导航栏和页脚之间的空白

javascript - 谷歌地图通过单击多个标记来放大标记