dla małego projektu, nad którym pracuję, muszę umieć umieścić znacznik na obrazie mapy zasilanym leaflet.js i zaktualizować pozycję tego znacznika , jeśli zostanie przeciągnięty. Używam następującego kodu, aby spróbować tego, ale nie powiedzie się. Otrzymuję komunikat o błędzie "marker nie jest zdefiniowany". Nie wiem, dlaczego to nie działa - może moglibyście mi pomóc? ;)leaflet.js - Ustaw znacznik na kliknięcie, zaktualizuj pozycję na przeciągnij
function onMapClick(e) {
gib_uni();
marker = new L.marker(e.latlng, {id:uni, icon:redIcon, draggable:'true'};
map.addLayer(marker);
};
marker.on('dragend', function(event){
var marker = event.target;
var position = marker.getLatLng();
alert(position);
marker.setLatLng([position],{id:uni,draggable:'true'}).bindPopup(position).update();
});
Dziś wieczorem wymyśliłem prawie identyczne rozwiązanie. :-) Dziękujemy! – kirijanker
Dunno której wersji używasz facetów, ale jest to 'marker.setLatLng ([position.lat, position.lng], ...' zamiast 'marker.setLatLng ([position], ...' now. – zatziky
Zaktualizowałem odpowiedź z poprawnym użyciem .. autor nie musiał wstawiać 'position' do tablicy, ponieważ był to już obiekt' LatLng', który jest wynikiem działania 'getLatLng()' i wejście do 'setLatLng()' na dokumentację ulotek : http://leafletjs.com/reference.html#marker – nothingisnecessary