Как показать Lat/Long маркера в текстовом поле, если он был нажат

function getInfo() { 
 $.getJSON("get_info.php", function (data) { 
 for (var i = 0; i < data.length; i++) { 
 var location = new L.LatLng(data[i].lat, data[i].lng); 
 var marker = new L.Marker(location,{icon:Icon1}); 
 marker.bindPopup(
 data[i].name + "" + 
 data[i].user_date + "" + 
 data[i].user_time + "" + 
 data[i].address + ""
 ).addTo(map);
 marker.on('click', function(e) { // HERE YOU GO
 var ll = marker.getLatLng();
document.querySelector('#userLat').value = ll.lat;
document.querySelector('#userLng').value = ll.lng;
 });
 } 
 }); 
 }

Мой код выше работает отлично, но у меня есть один вопрос. Это автоматически сгенерирует маркер на карте из базы данных. Я просто хочу добавить функцию, которая, если щелкнул сгенерированный маркер, покажет маркеры lat/long в двух текстовых полех diff. как я могу это достичь?

<text>Marker Latitude:<text>

<text>Marker Longhitude:</text></text></text>
1 ответ

Вы ищете события в Лифлетах:

marker.on('click', function(e) {
 alert('Event is printed out to console');
 console.log(e);
});

Поэтому ваш код должен быть изменен как:

function getInfo() { 
 $.getJSON("get_info.php", function (data) { 
 for (var i = 0; i < data.length; i++) { 
 var location = new L.LatLng(data[i].lat, data[i].lng); 
 var marker = new L.Marker(location,{icon:Icon1}); 
 marker.bindPopup(
 data[i].name + "" + 
 data[i].user_date + "" + 
 data[i].user_time + "" + 
 data[i].address + ""
 ).addTo(map);
 marker.on('click', function(e) { // HERE YOU GO
 alert('Event is printed out to console'); // THIS CODE IS TO BE CHANGED
 console.log(e); // TO UPDATE WHATEVER YOU WANT
 });
 } 
 }); 
 }

licensed under cc by-sa 3.0 with attribution.