Tôi muốn xây dựng ứng dụng web với API Leaflet. Đầu tiên người dùng của tôi là geolocated với IP sau đó nếu anh ta chấp nhận tôi cố gắng cập nhật vị trí của mình với vị trí địa lý HTML5 (độ chính xác là tốt hơn).cập nhật vị trí điểm đánh dấu với tờ rơi API
Vấn đề của tôi là vị trí điểm đánh dấu không được cập nhật trên bản đồ và mã bên dưới không thành công mà không có lỗi. Tôi đã thử hàng trăm cú pháp và phương pháp khác nhau từ leaflet documentation để cập nhật vị trí điểm đánh dấu (ví dụ: setLatLng) nhưng tôi đã không thành công. Tôi muốn hiểu những gì sai với mã của tôi.
Vấn đề của tôi được giải quyết bằng cách làm như thế này:
var lat = (e.latlng.lat);
var lng = (e.latlng.lng);
var newLatLng = new L.LatLng(lat, lng);
marker.setLatLng(newLatLng);
Cũ mã đã:
//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);
khi tôi sử dụng addTo (bản đồ) nó tạo một điểm đánh dấu mới nhưng không cập nhật điểm đánh dấu hiện tại. Bất kỳ ý tưởng ? – floflo