Con*_*ick -1 javascript methods marker mapbox
这是我的代码
var map = L.mapbox.map('map', 'examples.map-20v6611k').setView([37.9, -77],4);
var marker = L.marker(new L.LatLng(37.9, -77), {
icon: L.mapbox.marker.icon({'marker-color': 'CC0033'}),
draggable: true
});
marker.bindPopup('This marker is draggable! Move it around.');
marker.addTo(map);
//my code
marker.on('mousedown', function(e){
location = marker.getLatLng();
document.getElementById('locationBox').innerHTML = "poop";
});
Run Code Online (Sandbox Code Playgroud)
地图上的标记可以拖动到任何地方.我正在尝试在标记被拖动到某处之后获取标记的经度和纬度,这就是为什么我使用marker.on('mousedown',function(e){事件处理程序.我有两个问题.我我试图嵌套另一个事件处理程序
marker.on('mouseup', function(e){
Run Code Online (Sandbox Code Playgroud)
在内部,所以一旦标记被拖走就抓住了位置但是'mouseup'方法不起作用.
第二个问题
location = marker.getLatLng();
Run Code Online (Sandbox Code Playgroud)
不存储lat/lon的位置,而只是打开我尚未配置的新URL.
如何在拖动然后删除标记之后使用Javascript或Jquery来获取标记的位置,以及如何将lat/lon适当地存储在变量中?
谢谢!
您可能希望dragend在拖动标记后触发事件.如果您查看e.target返回的内容,则会有一个_latlng对象为您提供所需的详细信息:
marker.on('dragend', function(e){
console.log(e.target._latlng);
});
Run Code Online (Sandbox Code Playgroud)
方法名称中使用的下划线表示它是私有的,因此可能有更合适的方式来访问它,但现在应该适合您的需要.