从按钮调用功能时,传单标记可拖动不起作用

时间:2014-03-25 09:32:00

标签: javascript draggable leaflet marker

我正在尝试创建一个由<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
        });
}

0 个答案:

没有答案