我正在尝试获取在Leaflet地图上拖放的标记的纬度和经度。然而,我一直收到“TypeError: event.latlng is undefined”错误提示。以下是我的全部代码:
var map = L.map('map');
googleStreets = L.tileLayer('http://{s}.google.com/vt/lyrs=m&x={x}&y={y}&z={z}',{
maxZoom: 20,
subdomains:['mt0','mt1','mt2','mt3']
}).addTo(map);
map.locate({
setView: true,
maxZoom: 16,
watch:false,
timeout: 60000,
enableHighAccuracy: true
});
var marker;
var circles;
function onLocationFound(e) {
var radius = e.accuracy / 2;
if(map.hasLayer(circles) && map.hasLayer(marker)) {
map.removeLayer(circles);
map.removeLayer(marker);
}
marker = new L.Marker(e.latlng, {draggable:true});
circles = new L.circle(e.latlng, radius);
circles.bindPopup("You are within " + radius + " meters from this point").openPopup();;
map.addLayer(marker);
map.addLayer(circles);
marker.on('dragend', function(event) {
var mylat = event.latlng.lat
var result = marker.getLatLng();
console.log(mylat);
});
}
当我查看控制台时,我看到了那个错误。
但是,当我将这个 console.log(mylat);
改为这个 console.log(result);
时,我在控制台中看到了纬度和经度,但它们的格式不是我要找的。
当我拖放标记并使用这个 console.log(result);
代码时,这是我在控制台中得到的:
Object { lat=51.564025924107554, lng=0.7077598571777344, equals=function(), more...}
请问有人能就此提供建议吗?
提前感谢。