2017-03-22 8 views
0

내 HTML 사이드 바에서 아이콘 아이콘을 클릭 할 때 활성화 할 로케이터 플러그인을 얻으려고합니다. 로케이터 플러그인을지도에 추가하지 않고 클릭 할 때 로케이터 기능을 사용하고 싶습니다. 아래의 코드는 사이드 바에 fa-map-marker 아이콘을 추가하고 아이콘을 클릭하면 위치 표시 줄 컨트롤을 리플릿 맵에 추가합니다. 추가 된 아이콘을 클릭하면 L.control.locate 함수가 사용됩니다. 내지도에 로케이터 플러그인을 추가하는 대신 onclick을 통해 로케이터의 기능을 어떻게 사용할 수 있습니까? 최종 결과는 사용자가 fa-map-marker 아이콘을 클릭하여 자신의 위치를 ​​직접 얻을 수있게합니다.onclick을 통한 위치 지정을 사용하는 HTML 코드

사이드 바-V2 : https://github.com/Turbo87/sidebar-v2

L.control.locate : https://github.com/domoritz/leaflet-locatecontrol

<div class="sidebar-tabs"> 
    <ul role="tablist"> 
    <li> 
     <a 
     title="Geolocate" role="tab" target="_blank" onClick="L.control.locate().addTo(map);" <i class="fa fa-map-marker"> </i> 
     </a> 
    </li> 
    </ul> 
</div> 
+1

질문은 매우 불분명합니다. 더 정확한 코드와 세부 목표를 정확히 입력하십시오. –

+0

@AJFunk - 질문에 [전단]이라는 태그가 붙었 는가? (풍자가 아니라 ... 몰라요 ...) – JDB

답변

1

당신은 호출 할 수 있습니다 ... 내가 복사 - 붙여 넣기를 leaflet-locatecontrol documentation에서 보자 start() 또는 stop() 예를 들어 페이지로드시 위치를 설정하기 위해 위치 제어 개체에.

// create control and add to map 
var lc = L.control.locate().addTo(map); 

// request location update and set location 
lc.start(); 

약간의 DOM 요소의 click 이벤트에 그 첨부를 원하십니까? 문제 없음 ...
<a href='' id='foobar'>Try to get my location</a> 


var lc = L.control.locate().addTo(map); 
L.DomEvent.on(document.getElementById('foobar'), 'click', lc.start); 

lc.start()의 부족 - L.DomEvent.on() 함수가 아닌 함수 호출의 결과에 대한 참조를 필요로하기 때문이다.

+0

고마워요! 완벽하게 일했습니다! ^^ – sergey

+0

.start에서 작동하지 않는 함수에 대해 어떻게 생각 하나? 예를 들어, measure.https : //github.com/ljagis/leaflet-measure – sergey