如何保护拖动标记位置的纬度并启用仅拖动标记的经度轴?
解决方法:
您可以使用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