我试图使用Leaflet获取用户右键单击某处的地图坐标。我一直在浏览Leaflet API,到目前为止,我已经发现我需要收听contextmenu
事件并使用mouseEventToLatLng
method来获取坐标点击时。但是,当我浏览并调试我的代码时,我没有在任何地方看到可访问的latLng变量。我错过了理解API的内容吗?
function setMarkers() {
document.getElementById("transitmap").addEventListener("contextmenu", function( event ) {
// Prevent the browser's context menu from appearing
event.preventDefault();
var coords = L.mouseEventToLatLng( event );
});
};
答案 0 :(得分:12)
您想要得到的是mousemove事件。这基本上就是你这样做的,
ids = ids.values
coeff_idx = ids[indices]
答案 1 :(得分:5)
右键单击事件的坐标应该直接作为event
侦听器的"contextmenu"
参数的latlng
property。
map.on("contextmenu", function (event) {
console.log("Coordinates: " + event.latlng.toString());
L.marker(event.latlng).addTo(map);
});