2017-05-01 12 views
0

私はLatLngのArrayListを持っており、onMapReadyのforloop(GoogleMap googleMap)では、順番に別の場所への移動をアニメーション化したいと考えています。Androidのすべての場所でアニメーション化されたGoogleマップ

私は、forループでこれをやってみました:

 mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(currLatLng,10), 1000, null); 

とアニメーションが最後の場所で起こります。

どうすればいいですか? animateCamera()メソッドの最後のパラメータを使用する必要がありますか? (キャンセル可能なコールバック)

+0

forループ間の遅延を設定時間に加算するかどうかを確認してください。1s – Nobody

+0

@Nobody Thread.sleep()とHandler.postDelayed()の単純な追加は機能しません。また、私はAndroidのアクティビティでThread.sleepを追加するファンではありません(UIスレッドでそうするのは違法です)。 – smbl

答えて

0

私の本能は正しい。
animateCameraの最後のパラメータは、CancellableCallback()インターフェイスです。私はと呼ばれる、その後nimateToLocationAtIndex(int index)

と呼ばれる方法で作られたのは何
:私は別の問題に遭遇したものの、

mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 10), 2000, new GoogleMap.CancelableCallback() { 
     @Override 
     public void onFinish() { 
      // Placing a marker on the position after animated 
      Marker marker = mMap.addMarker(markerOptions); 
      animateLocationMovement(i+1); 
     } 

は、これは私が望んでいたとして場所をアニメーションをどこ次の位置ISN」でのマップアニメーションが遅れているように見えるように読み込まれています。

関連する問題