2012-11-02 25 views
5

üzerinde düşen pin animasyon uygulamak Benim android app google haritalar uygulanmaktadır. Bu süreçte düşen pin animasyonu eklemek istiyorum. Her birini aradım ama bunu yapmanın tam yöntemini bulamadım. herhangi birGoogle haritalar android

cevap

0

gps içinde pim animasyon bağlantıyı takip edin düşen uygulamak için ... harika bir yardımcı olacaktır nasıl Bana yardım edebilir

http://www.codeproject.com/Articles/112044/GPSLocator-App-to-Find-Current-Nearest-Location-us

+0

Merhaba sumedh ile işaretleyin, tüm bu şeyleri yapabildim. Ama google haritalarına otomatik olarak düşen özel işaretler yapmak istiyorum. Daha kesin olarak, bir yükseklikten haritalara düşüyormuş gibi görünmelidirler. Harita yüklendiğinde, işaretçiler haritaya sizin yerinizdeki yerden düşmelidir. – user1793188

2

Kontrol bu thread ve bu thread

Android, haritalara resim eklemeyi kolaylaştıran bindirme işaretleyicilerine (bkz. ItemizedOverlay) sahiptir. Ancak, en azından deneyimlerimde, animasyonlu görüntülerin bindirmelere eklendiğinde işe yaramayacağını unutmayın.

Ama dürüst olmak gerekirse, Android olduğunu ve iOS'tan her küçük özelliği kopyaladığını unutmamalısınız. Android'de Google Haritalar bir iğne işaretçisi kullanmıyor, statik mavi bir nokta kullanmıyor - Bunu çoğaltmanın en iyi yol olduğunu söyleyebilirim ve kullanıcılarınızın iOS kullanıcıları değil Android kullanıcıları olduğunu hatırlarız - Android uygulamalarında tutarlılık isterler

+0

Merhaba San, İlk iş parçacığına (http://stackoverflow.com/questions/10607042/tutorial-android-map-pin-drop-animation-working-right) baktıktan sonra şüphe ediyorum: burada mapOverlays. (itemOverlay) ekleyin; Onunla ilgili işlev veya sınıf bulamadım. Bu ne demek? ve burada ne yapmam gerekiyor – user1793188

+0

Bu bağlantıları kontrol edin. MapOverlay. http://mobiforge.com/developing/story/using-google-maps-android https://developers.google.com/maps/documentation/android/hello-mapview – san

9

Haritadaki istenen konuma işaretçi ekleyin ve bu fonksiyonu

private void dropPinEffect(final Marker marker) { 
     final Handler handler = new Handler(); 
     final long start = SystemClock.uptimeMillis(); 
     final long duration = 1500; 

     final Interpolator interpolator = new BounceInterpolator(); 

     handler.post(new Runnable() { 
      @Override 
      public void run() { 
       long elapsed = SystemClock.uptimeMillis() - start; 
       float t = Math.max(
         1 - interpolator.getInterpolation((float) elapsed 
           /duration), 0); 
       marker.setAnchor(0.5f, 1.0f + 14 * t); 

       if (t > 0.0) { 
        // Post again 15ms later. 
        handler.postDelayed(this, 15); 
       } else { 
        marker.showInfoWindow(); 

       } 
      } 
     }); 
    } 
+0

Basit ve etkili, çok teşekkürler! –

İlgili konular