2014-11-21 2 views
2

, 나는 L.circleMarker를 생성하고 나는 그것이 드래그되고 싶어 : 나는 마커를 드래그 할 때전단지를 만드는 방법 마커를 드래그 할 수 있습니까? 전단지를 사용

var marker = L.circleMarker(new L.LatLng(48.94603, 2.25912), { 
    draggable: true 
}) 
.bindPopup('Circle marker draggable') 
.addTo(map) 
.on('dragstart', onMarkerDragStart) 
.on('dragend', onMarkerDragEnd); 

불행하게도, 나는 onMarkerDragStart/End 기능의 모든 통화를하지 않습니다. 그러나 L.circleMarker 대신 L.marker을 사용하면 작동합니다.

누구나 L.circleMarker을 드래그 할 수있게 만드는 방법을 알고 있습니까?

답변

1

원형 마커를 지원하는 Leaflet.draw 플러그인을 포크했습니다. 당신은 here

이 같은 드로잉을 가능하게 얻을 수 있습니다 :

drawCircleMarker: function() { 
      this.currentHandler = new L.Draw.CircleMarker(this.map, this.drawControl.options.circleMarker); 
      this.currentHandler.enable(); 
     }, 

당신은지도의 무승부를 연결해야합니다 추가 된 레이어를 얻기 위해 만든 이벤트입니다.

드래그 가능하게하려면 추가 된 레이어를 가지고 이런 식으로에 편집 가능 :

pathToEdit.editing.enable(); 
1

L.CircleMarker, L.CircleL.Path의 스펙에서 알 수 있듯이 CircleMarker에 대한 드래그가 없습니다. 지금 가지고있는 옵션은 L.Marker에 대해 맞춤 L.Icon을 사용하는 것입니다. 리플릿 사이트에서 가져온 사용자 정의 아이콘은 an example입니다.

또 다른 옵션은이 polydrag 플러그인을 사용하는 것입니다. 그러나 전단판 (0.4.2)의 초기 버전에 맞게 개발되었으며 유지 관리되지 않습니다. 당신은 항상 그 근원을보고 자신의 것을 굴릴 수 있습니다.

관련 문제