1

我在谷歌地图中有一个标记。我使用这个标记来检索坐标并在窗体中更新lat和long。当用户丢弃标记我读取坐标。我的代码如下:在谷歌地图上拖动标记时,快速移动鼠标

$wnd.marker = new google.maps.Marker(
      { 
       map : $wnd.map, 
       draggable : true, 
       icon : "/gmapsMarker.png", 
       iconShadow : "/gmapsMarkerShadow.png", 
       position : defaultPosition, 
       clickable : true 
      }); 

    var toggleBounce = function(e) { 
     var lat = $wnd.marker.position.lat(); 
     var lng = $wnd.marker.position.lng(); 
     update(lat,lng,false); 
    }.bind(this); 

    google.maps.event.addListener($wnd.marker, 'dragend', toggleBounce); 

什么问题?

奇怪的是Internet Explorer 7,8和9没有问题。

In chrome and firefox我在拖动标记时遇到一些问题。如果我移动鼠标太快指针得到标记的边界框的出口,标记斯通。我需要释放鼠标点击,再次拖动标记并慢慢放入我最喜欢的位置。

任何推荐?

我尝试了类似结果的事件“mouseup”。

回答

2

这可能会帮助你

google.maps.event.addListener($wnd.marker, 'dragend', function() { 
    // Get the Current position, where the pointer was dropped 
    var point = $wnd.marker.getPosition(); 
    // Center the map at given point 
    $wnd.map.panTo(point); 
    // Update 
    update(point.lat(), point.lng(),false); 
}); 

You may like this(您也可以下载试玩,只有8KB,direct download link)。