Mapbox GL JS FlyTo가 언제 도착했는지 확인하는 방법


12

Mapbox 플라이 토 카메라 이동이 동작을 완료하고 올바른 위치와 확대 / 축소 수준에있을 때 오버레이를 표시하고 싶습니다. 그 행동이 언제 완료되는지 알 수있는 방법이 있습니까?

따라서 기본적으로 위치로 비행 한 다음 오버레이를 표시합니다.

답변:


17

다음과 같이 몇 개의 맵 이벤트 리스너와 변수를 결합하여이를 달성 할 수 있습니다.

사용자가 마우스 나 키보드로지도를 이동하거나 확대 / 축소 할 때 툴팁을 방지하려면 사용자가 "비행"버튼을 클릭했는지 여부를 결정하는 변수가 필요합니다.

map.on('flystart', function(){
    flying = true;
});
map.on('flyend', function(){
    flying = false;
});

그런 다음지도가 이동 및 확대 / 축소를 중지하면이 코드가 실행됩니다.

map.on('moveend', function(e){
   if(flying){
      // tooltip or overlay here
      map.fire(flyend); 
   }
});

데모보기 : http://jsfiddle.net/ft7s8son/


도 나는 그 사건의 목록을 보았고 결코 움직임을 보지 못했습니다. 감사합니다!
Bill Thornton

야, 정말 고마워! 이것은 잘 작동합니다!
willbeeler
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.