Cara menentukan kapan Mapbox GL JS FlyTo telah “tiba”


12

Saya ingin menampilkan overlay ketika gerakan Mapbox terbang ke kamera telah menyelesaikan aksinya, dan berada pada posisi yang benar dan tingkat zoom. Apakah ada cara untuk mengetahui kapan tindakan itu selesai?

Jadi, terbanglah ke suatu posisi dan kemudian perlihatkan overlay, pada dasarnya.

Jawaban:


17

Anda dapat mencapai ini dengan menggabungkan beberapa pendengar acara peta dan variabel sebagai berikut.

Untuk mencegah tooltip ketika pengguna telah memindahkan atau memperbesar peta dengan mouse atau keyboard Anda akan memerlukan variabel yang menentukan apakah pengguna Anda mengklik tombol "terbang" atau tidak:

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

Kemudian kode ini akan dijalankan setelah peta Anda berhenti bergerak dan diperbesar:

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

Lihat demo: http://jsfiddle.net/ft7s8son/


Doh. Saya melihat daftar peristiwa itu dan tidak pernah melihat pindah. Terima kasih!
Bill Thornton

Bung, saya sangat menghargainya! Ini sangat bagus!
willbeeler
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.