如果单击它,如何拖动标记?传单

时间:2015-01-27 18:22:28

标签: javascript jquery leaflet

每个人都很开心,我正在开发一个具有映射功能的网站。 我的目标是,如果单击标记,则将其拖动。

这是我的代码

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

1 个答案:

答案 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