2013-12-14 60 views
-1

我试图在拖拽标记后在此处更新标记位置(经纬度和长度)DEMO。正如你所看到的,我能够获得标记的位置(lat long),但是当我更换标记时,捕获的值不会更新!更新可拖拽标记位置值

var map; 
$(document).ready(function() { 
    var latlng = new google.maps.LatLng(11.038003,125.736294); 
    var myOptions = { 
     zoom: 12, 
     center: latlng, 
     disableDefaultUI: true, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var cnt = 0; 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
google.maps.event.addListener(map, 'click', function (event) { 
     marker = new google.maps.Marker({ 
      position: event.latLng, 
      map: map, 
      draggable: true, 
      title: "Camp Num: " + ++cnt 
     }); 
      $('#myTable tbody:eq(1)').append('<tr class="child"><td>'+ marker.title +'</td><td>'+ marker.position.lat()+'</td><td>'+ marker.position.lng()+'</td></tr>'); 
    }); 

}); 

能否请你让我知道我怎么可以更新他们

+0

当你拖动标记你的意思,你要显示新的价值? – KrishnaDhungana

回答

1

你想拖后更新标记的新位置?如果是的话,那么我们需要做以下几点:

  • 为每个添加的标记添加事件侦听器。为此,我添加了dragend的监听器。

  • 将'id'分配给标记,当点击时创建<td>,我们分配给它;以便稍后我们可以在拖动标记时更新该行。

  • 如果我们点击地图,然后添加标记,如果标记被拖动,它会被更新。

这里是fiddle

+0

谢谢克里希纳,加纳,你是一个摇滚! – user1760110