Получение координат с маркера в поле карты

#javascript #mysql #laravel #mapbox

Вопрос:

Я работаю над проектом laravel и сделал карту Mapbox с перетаскиваемым маркером. и мне нужно получить координаты маркера, но я не понимаю, как лучше всего это сделать.

Как я могу получить координаты с маркера и сохранить их в своей базе данных?

Ответ №1:

Лучшим вариантом является использование подхода, используемого в официальном примере для подвижных маркеров:

https://docs.mapbox.com/mapbox-gl-js/example/drag-a-marker/

 var coordinates = document.getElementById('coordinates');
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v11',
center: [0, 0],
zoom: 2
});
 
var marker = new mapboxgl.Marker({
  draggable: true
})
.setLngLat([0, 0])
.addTo(map);
 
function onDragEnd() {
 var lngLat = marker.getLngLat();
 coordinates.style.display = 'block';
 coordinates.innerHTML =
  'Longitude: '   lngLat.lng   '<br />Latitude: '   lngLat.lat;
}
 
marker.on('dragend', onDragEnd);