javascript - 单击标记后如何拖动它?传单

标签 javascript jquery leaflet

大家好,我正在开发一个具有 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/

相关文章:

javascript - 使用 Leaflet.Control.Search 从下拉列表中搜索标记

javascript - 将文本元素添加到路径元素的中心

javascript - 这段代码水沸腾项目有什么问题

javascript - 如何在 jQuery 中执行此操作

javascript - 在 D3.js 中添加带有嵌套条目的属性

javascript - Leaflet panTo(或setview)功能?

javascript - Chrome 并不总是使用 JavaScript setInterval() 重复事件

javascript - 使用单选按钮更改 Div 的背景图像

php - 如何从ajax数据发送上传pdf到服务器(使用jsPDF)

javascript - 折叠具有独占层的 Leaflet GroupedLayerControl