обновить местоположение маркера с помощью API листовки
Я хочу создать веб-приложение с помощью Leaflet API. Сначала мой пользователь привязывается к IP-адресу, а затем, если он соглашается, я пытаюсь обновить его положение с помощью геолокации HTML5 (точность лучше).
Моя проблема в том, что положение маркера не обновляется на карте, а код, приведенный ниже, дает сбой без ошибок. Я пробовал сотни различных синтаксисов и методов излистовка с документацией обновить позицию маркера (т.е. setLatLng), но мне не удалось. Я хотел бы понять, чтоне так с моим кодом.
Моя проблема решается следующим образом:
var lat = (e.latlng.lat);
var lng = (e.latlng.lng);
var newLatLng = new L.LatLng(lat, lng);
marker.setLatLng(newLatLng);
Старый код был:
//initial IP based geolocation
var lat = google.loader.ClientLocation.latitude;
var lng = google.loader.ClientLocation.longitude;
//place marker on the map
var marker = L.marker([lat,lng]).addTo(map);
//start HTML5 geolocation
map.locate({setView: true, maxZoom: 16});
function onLocationFound(e) {
var marker = L.marker([e.latlng.lat,e.latlng.lng]).update(marker);
alert ('New latitude is ' + e.latlng.lat)
}
map.on('locationfound', onLocationFound);