Leaflet - 获取弹出窗口中标记的纬度和经度

4

我使用了Leaflet Draw插件。
我的目标是创建标记并显示弹出窗口,在其中可以获取纬度和经度坐标。
我能够通过JavaScript警告框获取这些坐标,但我绝对不知道如何将坐标放入我的弹出窗口中。

以下是代码片段:

map.on('draw:created', function (e) {
        var type = e.layerType,
        layer = e.layer;

        if (type === 'marker') {
            map.on('click', function(e) {
                var lat = e.latlng.lat;
                var lng = e.latlng.lng;
                alert ("Latitude : " + lat + "\nLongitude : " + lng);
        }),

            layer.bindPopup(
            'e.latlng.lat');
        }

        drawnItems.addLayer(layer);
    });

但是它无法工作。弹出窗口显示“e.latlng.lat”,而我想得到确切的数值
你有什么解决方案吗?谢谢。

2个回答

8
map.on('draw:created', function (e) {
    var type = e.layerType,
        layer = e.layer;

    map.addLayer(layer);

    if (type === 'marker') {    
        layer.bindPopup('LatLng: ' + layer.getLatLng()).openPopup();
    }

});

非常好,它完美地符合了我需要的!谢谢! - Julien
这个问题有更新的答案吗?当我在地图上点击时,控制台会出现一个警告。MouseEvent.mozPressure已被弃用,请使用PointerEvent.pressure代替 - Pfalbaum

1
当鼠标点击时,它会在地图上返回经纬度。
map.on('click', function(e){
  var lt = String(e.latlng.lat),
  lg = String(e.latlng.lng);
  var popup = L.popup()
    .setLatLng(e.latlng)
    .setContent(lt + " " + lg)
    .openOn(map);
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接