Aktualisieren Sie den Marker-Standort mit der Flyout-API

Will ich bauen web-app mit der Broschüre API. Ersten mein Benutzer ist geolocated mit der IP dann, wenn er annimmt, ich versuche zu aktualisieren, seine position mit HTML5-geolocation (Genauigkeit besser).

Mein problem ist, dass die marker-position wird nicht aktualisiert, auf die Karte und der code Balg kann nicht mit keine Fehler. Ich habe versucht hundert unterschiedliche syntax und Methoden aus Merkblatt Dokumentation zu aktualisieren marker-position (dh. setLatLng), aber ich war nicht erfolgreich. Ich würde gerne verstehen, was ist Los mit meinem code.


Mein problem ist gelöst, durch das tun so :

    var lat = (e.latlng.lat);
    var lng = (e.latlng.lng);
    var newLatLng = new L.LatLng(lat, lng);
    marker.setLatLng(newLatLng); 

Alte code war:

//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);
Kommentar zu dem Problem
wenn ich addTo(map) erstellen Sie einen neuen marker, aber kein update des bestehenden. Irgendeine Idee ? Kommentarautor: floflo

InformationsquelleAutor der Frage floflo | 2013-01-05

Schreibe einen Kommentar