Leaflet marker拖拽


原先一直用https://github.com/Leaflet/Leaflet.Editable的插件來實現編輯

這次項目只需對marker進行移動,因此想看看能否不通過插件實現此功能

答案:可以

HTML

1 <div id="map"></div>
2 <div id="ctrlbox">
3   <label><input id="ctrlDragge" type="checkbox"/>移動Marker</label>
4 </div>

JS

 1         var marker1 = L.marker([30.75, 120.75]).addTo(this.map);
 2         var marker2 = L.marker([30.76, 120.76], { draggable: true }).addTo(this.map);
 3 
 4         //拖拽結束
 5         marker2.on('dragend', function (event) {
 6             var position = marker1.getLatLng();
 7             console.log('實時坐標:' + marker2.getLatLng());
 8         })
 9         //marker1.on('moveend ', function (e) {
10         //    console.log(e.target._latlng);
11         //});
12 
13         $('#ctrlDragge').on('change', function () {
14             var isCheck = this.checked;
15             if (isCheck) {
16                 marker1.dragging.enable();
17             } else {
18                 marker1.dragging.disable();
19                 console.log(marker1.getLatLng());
20             }
21         });

marker1:通過checkbox開關實現開啟/關閉拖拽功能

marker2:通過options中draggable參數實現拖拽

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM