javascript-Leafletjs dragg市场只有一个轴

如何保护拖动标记位置的纬度并启用仅拖动标记的经度轴?

解决方法:

您可以使用dragstart和drag事件处理此问题.开始拖动时,您将保存标记位置,然后在发出拖动事件时始终重置纬度.

//Marker position before dragging
var latLngBeforeDrag;

//On drag start
function onDragStart(e){
    var marker = e.target;
    latLngBeforeDrag = marker.getLatLng();
}

//On drag
function onDrag(e){
    var marker = e.target;
    marker.setLatLng(L.latLng(latLngBeforeDrag.lat, marker.getLatLng().lng));
}

//Create new marker
var marker = L.marker([36.83711,-2.464459], {draggable:true});
marker.on('dragstart', onDragStart);
marker.on('drag', onDrag);
//Add marker to map
marker.addTo(map);

例如:jsfiddle

上一篇:javascript-唯一标识传单标记


下一篇:javascript-如何将click事件绑定到Leaflet canvas GridLayer