Leaflet - 可拖动标记和坐标以字段形式显示

时间:2014-12-03 12:39:57

标签: javascript leaflet

我必须做一个可拖动的标记,其坐标应显示在字段中。它将成为PHP中联系表单的一部分。我创建了一个可拖动的标记,帮助我现在该做什么。

var marker = L.marker(new L.LatLng(53.471, 18.744), {
draggable: true
}).addTo(map);

http://jsfiddle.net/xTh5U/

以下是Google Maps API中的示例,我在Leaflet中也需要相同的内容。

2 个答案:

答案 0 :(得分:14)

您应该使用L.Marker的dragend事件,因此您知道拖动已经结束,然后使用L.Marker的getLatLng方法获取标记的坐标。当您提取了那些内容后,您可以将它们分配给文本输入的值。

marker.on('dragend', function (e) {
    document.getElementById('latitude').value = marker.getLatLng().lat;
    document.getElementById('longitude').value = marker.getLatLng().lng;
});

关于Plunker的工作示例:http://plnkr.co/edit/iyMhaoAyllr2uNSOHhS9?p=preview

答案 1 :(得分:1)

在寻找类似解决方案时遇到了这个问题。将标记的答案分开并稍微进一步:

  • 拖动和点击;和标记上的地图中心。
  • 也可以反向工作(表单字段中用户输入的值可以移动 标记)。
  • 记住用户标记的上一个位置。

操作代码:

1 + (fromEnum (maxBound :: Note))

参见工作示例:http://plnkr.co/edit/PTFlun?p=preview