2013-09-24 52 views
1

下面的表達式在每次點擊時添加一個新標記。添加標記/更新(如果存在)

map.on('click', function(e) { 
    var new_event_marker = L.marker(e.latlng, { draggable: true});  
    new_event_marker.addTo(map);   
}); 

我怎樣才能重寫上述所以它只創建一個標記?如果標記存在,則更新其latlng。

謝謝

回答

4

首先,您應該定義您的標記外點擊功能。然後你可以測試標記是否存在。下面的代碼應該可以工作:

var new_event_marker; 

map.on('click', function(e) { 

if(typeof(new_event_marker)==='undefined') 
{ 
    new_event_marker = new L.marker(e.latlng,{ draggable: true}); 
    new_event_marker.addTo(map);   
} 
else 
{ 
    new_event_marker.setLatLng(e.latlng);   
} 
+0

工作就像一個魅力。謝謝! – user3030969

相關問題