diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/PlatformAnimationActivity.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/PlatformAnimationActivity.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/PlatformAnimationActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/PlatformAnimationActivity.java index 7a3b38ff5b..a695c07db9 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/PlatformAnimationActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/PlatformAnimationActivity.java @@ -1,10 +1,17 @@ package com.mapbox.mapboxsdk.testapp.activity.camera; +import android.animation.AnimatorSet; +import android.animation.ValueAnimator; import android.os.Bundle; +import android.renderscript.Sampler; +import android.support.v4.view.animation.FastOutLinearInInterpolator; +import android.support.v4.view.animation.FastOutSlowInInterpolator; import android.support.v7.app.AppCompatActivity; +import android.view.animation.AccelerateDecelerateInterpolator; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.NativeCameraPosition; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; import com.mapbox.mapboxsdk.testapp.R; @@ -28,6 +35,37 @@ public class PlatformAnimationActivity extends AppCompatActivity implements OnMa @Override public void onMapReady(MapboxMap map) { mapboxMap = map; + + final NativeCameraPosition cameraPosition = mapView.getCameraPosition(); + + // Animate tilt + ValueAnimator tiltAnimator = ValueAnimator.ofFloat(0f, 60.0f); + tiltAnimator.setStartDelay(1000); + tiltAnimator.setDuration(4000); + tiltAnimator.setInterpolator(new FastOutSlowInInterpolator()); + tiltAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { + public void onAnimationUpdate(ValueAnimator animation) { + cameraPosition.setTilt(((Float) animation.getAnimatedValue()).doubleValue()); + } + }); + + // Animate bearing + ValueAnimator bearingAnimator = ValueAnimator.ofFloat(0.0f, 160.0f); + bearingAnimator.setDuration(6000); + bearingAnimator.setInterpolator(new FastOutLinearInInterpolator()); + bearingAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { + @Override + public void onAnimationUpdate(ValueAnimator animation) { + cameraPosition.setBearing(((Float)animation.getAnimatedValue()).doubleValue()); + } + }); + + // Combine animations and start + AnimatorSet animatorSet = new AnimatorSet(); + animatorSet.setStartDelay(1500); + animatorSet.play(tiltAnimator); + animatorSet.play(bearingAnimator); + animatorSet.start(); } @Override |