Desidero creare un'app Web con l'API Leaflet. Prima il mio utente viene geolocalizzato con IP quindi, se accetta, cerco di aggiornare la sua posizione con la geolocalizzazione HTML5 (la precisione è migliore).Posizione marcatore di aggiornamento con API libretto
Il mio problema è che la posizione del marcatore non viene aggiornata sulla mappa e il codice muggito fallisce senza errori. Ho provato centinaia di differenti sintassi e metodi da leaflet documentation per aggiornare la posizione del marcatore (ad esempio setLatLng) ma non ci sono riuscito. Mi piacerebbe capire cosa c'è di sbagliato nel mio codice.
mio problema è risolto facendo in questo modo:
var lat = (e.latlng.lat);
var lng = (e.latlng.lng);
var newLatLng = new L.LatLng(lat, lng);
marker.setLatLng(newLatLng);
vecchio codice era:
//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);
quando uso addto (mappa) si creo un nuovo marker ma nessun aggiornamento di quello esistente. Qualche idea ? – floflo