从Leaflet.js获取地图坐标?

时间:2016-05-30 00:22:35

标签: javascript leaflet

我试图使用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 );
        });
    };

2 个答案:

答案 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);
});

演示:http://plnkr.co/edit/9vm81YsQxnkAFs35N8Jo?p=preview

相关问题