我正在尝试创建一个由<a href="??">Button</a>
调用的函数,该函数会将一个标记放在mapView的中心,并允许它可拖动,直到单击id="doneMarkerbtn"
的按钮来禁用拖动
我的以下代码能够将标记放在mapView的中心。但是,标记根本不可拖动。希望有人可以查看我的代码并帮助我解决这个问题。感谢。
其他信息:此代码位于.js文件中,我在html的<head>
和<body>
处导入。由于在html的不同部分需要它的一些其他功能导入两次。另请注意,此代码将用于Cordova / Phonegap应用程序。
/* Draws marker on center of mapView and allow user to edit by dragging until done */
function drawMarker() {
//Extend the Default marker class
var PinMarker = L.Icon.Default.extend({
options: {
iconUrl: 'img/marker.png', //directory of pin image
iconSize: [26,40] //[width,height] of pin image in pixels
}
});
var pinMarker = new PinMarker();
var marker = L.marker(map.getCenter(), {icon: pinMarker, draggable: true}).addTo(map); //drop marker on center of mapView
marker.on('dragend', function (e) { //event activates at the end of a drag
var coords = e.target.getLatLng(); //gets new latlng of marker
var lat = coords.lat;
var lng = coords.lng;
var latlng = lat+","+lng;
marker.bindPopup(latlng).openPopup().update(); //popup showing dragend latlng
});
var stopDrawButton = document.getElementById('doneMarkerbtn'); //set #doneMarkerbtn as stopDrawButton
stopDrawButton.addEventListener('click', function(){ //when stopDrawButton clicked
marker.dragging.disable(); //disable dragging on marker
});
}