大家好,我正在开发一个具有 map 功能的网站。 我的目标是,如果您单击标记,则使其拖动。
这是我的代码
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();
});
}
上面代码的输出是如果我选择纵火。我会在 map 上做一个标记。 我的问题是,如果单击该标记,如何使其可拖动?
顺便说一下这段代码
document.querySelector('#userLat').value = ll.lat;
document.querySelector('#userLng').value = ll.lng;
连接到两个文本框,id分别为userLat和useLng。如果我拖动该标记,如何更新此文本框?
有什么帮助吗? TY
最佳答案
这是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
关于javascript - 单击标记后如何拖动它?传单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28177378/