summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
Diffstat (limited to 'platform')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java
index 23c46bfd31..b3e0ed4d8d 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java
@@ -1,5 +1,6 @@
package com.mapbox.mapboxsdk.maps.widgets;
+import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.content.Context;
import android.graphics.Canvas;
@@ -62,6 +63,7 @@ public class MyLocationView extends View {
private ValueAnimator locationChangeAnimator;
private ValueAnimator accuracyAnimator;
+ private ObjectAnimator directionAnimator;
private Drawable foregroundDrawable;
private Drawable foregroundBearingDrawable;
@@ -390,7 +392,16 @@ public class MyLocationView extends View {
newDir -= 360.f;
}
compassDirection = newDir;
- invalidate();
+
+ if (directionAnimator != null) {
+ directionAnimator.end();
+ directionAnimator = null;
+ }
+
+ directionAnimator = ObjectAnimator.ofFloat(this, View.ROTATION, oldDir, newDir);
+ directionAnimator.setDuration(1000);
+ directionAnimator.start();
+
} else {
compassDirection = 0;
}