2016-03-29 17 views
1

Ben bir dinleyici kullanarak bu anı yakalayabilirsiniz:AnimateCamera yakınlaştırma anı nasıl tetiklenir 'sadece' sonlandır?

map.animateCamera(CameraUpdateFactory.newLatLngZoom(destLatLng, 15)); 

map.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() { 
       @Override 
       public void onCameraChange(CameraPosition cameraPosition) { 
        //here some code... 
       } 
      }); 

sorun bu yöntem kullanıcı haritası dokunmadan tüm anları tetikler, ve ben bunu istemiyorum.

SADECE haritayı kapattıktan sonra, haritayı yakınlaştırır ve animasyonu sonuna doğru gider ve animasyon durur. Haritaya dokunduğunuz yerde, harita genellikle herhangi bir animasyon üretmez.

Bu yüzden, haritanın bazı yakınlaştırma animasyonlarını başlattığı ve bitirdiği bir durumu bile söyleyebilirim, bir dinleyici istiyorum. Ama sadece orada!

(Ben herhangi bir kullanıcı dokunmatik etkinliğinde bazı bayrak koymak ve onCameraChange bazı değer olduğunu kontrol eder ancak ... normal bir çözüm yoktur ki?)

cevap

0

Sen özel denetimler bunu uygulayabilir. Kullanıcı ile etkileşimi yönetmek için kendi kontrollerinizi oluşturun. Kullanıcıya bir UI görüntüler ve genellikle bir olay işleyicisi aracılığıyla kullanıcı veya harita ile etkileşimi idare eder. Google Haritalar Javascript API'sı, tarayıcının desteklediği DOM events'un çoğunu işleyen çapraz tarayıcı olay işleme yöntemi 'addDomListener()' sağlar. Haritanızın MapOptions nesnesi içindeki alanlardan oluşturduğunuzda, control's sunumunu belirtirsiniz.

+0

only Javascript yöntemi? Java'ya ihtiyacım var ('jquery-animate' etiketi koyarak hata yaptım, kaldırıldı). –

İlgili konular