每个人都很开心,我正在开发一个具有映射功能的网站。 我的目标是,如果单击标记,则将其拖动。
这是我的代码
else if (select1.value === "Arson"){
var note = document.getElementById('note');
var datepick = document.getElementById('demo1');
var timepick = document.getElementById('timepick');
layerpoly.on('click', function(e){
var markerA = new L.Marker(e.latlng,{icon: Icon1});
markerA.bindPopup("</a><br><strong>ARSON</strong></br><strong>Date:</strong>"+datepick.value+"</br><strong>Time:</strong>"+timepick.value+"</br><strong>Address:</strong>"+note.value+"<strong><br><strong>Suspect Sketch</strong><br><a href=legends/suspect.jpg rel=lightbox><img src = legends/suspect.jpg height=100 width = 100/><br> ").addTo(map);
closure1 (markerA)
var ll = markerA.getLatLng();
document.querySelector('#userLat').value = ll.lat;
document.querySelector('#userLng').value = ll.lng;
marker.dragging.enable();
});
}
上面代码的输出是我选择纵火。我会在地图上放置一个标记。 我的问题是,如果单击该标记,我怎样才能使其可拖动?
这个代码的方式
document.querySelector('#userLat').value = ll.lat;
document.querySelector('#userLng').value = ll.lng;
连接到两个文本框,其id为userLat和useLng。如果我拖动该标记,如何更新此文本框?
任何帮助? TY
答案 0 :(得分:1)
以下是L.Marker
的文档:http://leafletjs.com/reference.html#marker正如您所看到的那样,绝对没有名为dragging.enable
的方法,因此调用marker.dragging.enable();
将永远不会起作用,并且应该抛出一个明显的错误你的浏览器控制台。但是,您可以在实例化标记时使用draggable
选项:
var markerA = new L.Marker(e.latlng,{
icon: Icon1,
draggable: true
});
这是关于Plunker的一个工作示例:http://plnkr.co/edit/Au3XlD?p=preview