2012-11-02 105 views
5

我在我的android應用中實現谷歌地圖。在這個過程中,我想添加下降的針腳動畫。我搜查了每個人,但無法找到確切的方法來做到這一點。任何一個可以幫助我如何做將是一個很大的幫助......在谷歌地圖上實現落針動畫android

回答

2

檢查這個threadthread

Android具有疊加標記(請參閱ItemizedOverlay),可以方便地將圖像添加到地圖,但請注意,根據我的經驗,至少在添加到疊加層時動畫圖像不起作用。

不過說實話,你應該記住,它的Android,然後複製iOS的每一個小功能是不必要的。 Android上的谷歌地圖不使用圖釘標記,它採用了靜態的藍斑 - 我會說這是最好的那個複製並記住您的用戶是Android用戶,而不是iOS用戶 - 他們想要的一致性跨Android應用

+0

喜聖,尋找到第一個線程(http://stackoverflow.com/questions/10607042/tutorial-android-map-pin-drop-animation-working-right)之後,我有一個疑問,在這樣的:這裏mapOverlays。添加(itemOverlay);我找不到與之相關的功能或類別。這是什麼意思?我應該在這裏做什麼 – user1793188

+0

檢查這些鏈接。它是MapOverlay。 http://mobiforge.com/developing/story/using-google-maps-android https://developers.google.com/maps/documentation/android/hello-mapview – san

9

在地圖上添加標記到所需的位置,然後用該標記調用此功能

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

簡單有效,非常感謝! –