2013-09-24 4 views
1

Приведенное ниже значение добавляет новый маркер для каждого щелчка.Добавить маркер/обновление, если существует

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

Как я могу переписать выше, чтобы создать только один маркер? Если маркер существует, обновите его latlng.

Thanks

ответ

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

Смежные вопросы