【发布时间】:2018-01-26 18:25:38
【问题描述】:
我试图让用户在我的传单地图上只创建一个标记。这工作正常:
var map = L.map("map").setView([-41.5, 173], 6);
var lat = 0.0;
var lon = 0.0;
var marker;
// on map click: get lat, lon - only allowed to happen once
var onClick = function(e) {
map.off('click', onClick); //turn off listener for map click
marker = L.marker(e.latlng,{icon: pin, draggable: true}).addTo(map);
lat = e.latlng.lat;
lon = e.latlng.lng;
document.getElementById('outlat').innerHTML = e.latlng.lat;
document.getElementById('outlon').innerHTML = e.latlng.lng;
};
map.on('click', onClick); //calling
问题是我需要在将单个标记拖到新位置时更新坐标变量。我尝试了几种方法,但都没有运气:
marker.addListener('down', onDrag);
marker.addListener('drag', onDrag);
marker.addListener('dragend', onDrag);
// on drag: update lat and lon
var onDrag = function (e) {
lat = e.latlng.lat;
lon = e.latlng.lng;
document.getElementById('outlat').innerHTML = lat;
document.getElementById('outlon').innerHTML = lon;
};
map.on('down', onDrag);
map.on('dragstart', onDrag);
map.on('dragend', onDrag);
谢谢
【问题讨论】:
标签: javascript leaflet