Mapbox GL JS FlyTo'nun ne zaman “geldiğini” belirleme


12

Mapbox kamera hareketi hareketini tamamladığında ve doğru konumda ve yakınlaştırma seviyesinde yer aldığında bir yer paylaşımı göstermek istiyorum. Bu işlemin ne zaman tamamlandığını bilmenin bir yolu var mı?

Yani, bir pozisyona uçun ve daha sonra kaplamayı gösterin.

Yanıtlar:


17

Bunu birkaç harita olay dinleyicisini ve bir değişkeni aşağıdaki gibi birleştirerek başarabilirsiniz.

Kullanıcı haritayı fare veya klavye ile hareket ettirdiğinde veya yakınlaştırdığında bir ipucunu önlemek için, kullanıcının "uç" düğmesini tıklayıp tıklamamasını belirleyen bir değişkene ihtiyacınız olacaktır:

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

Ardından, haritanız hareket etmeyi ve yakınlaştırmayı durdurduktan sonra bu kod yürütülür:

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

Demoyu inceleyin: http://jsfiddle.net/ft7s8son/


Hamuru. O olay listesine baktım ve hiç hareket görmedim. Teşekkür ederim!
Bill Thornton

Dostum, gerçekten minnettarım! Harika çalışıyor!
willbeeler
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.