diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2016-11-18 13:45:32 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-18 13:45:32 +0100 |
commit | 109565c4006cd5909972f1388c2c561c0c4a745e (patch) | |
tree | e202b7a287c0fc571e7d050d2a81e248e6c1adf6 | |
parent | 6c91c3e51979c2141a21c0c1ca77230942f38b29 (diff) | |
download | qtlocation-mapboxgl-109565c4006cd5909972f1388c2c561c0c4a745e.tar.gz |
[android] - allow compass update without animation (#7094)
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java | 12 |
1 files changed, 8 insertions, 4 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 9d3c21c6e6..dd2c617abd 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 @@ -486,6 +486,10 @@ public class MyLocationView extends View { } private void setCompass(double bearing) { + setCompass(bearing, 0 /* no animation */); + } + + private void setCompass(double bearing, long duration) { float oldDir = previousDirection; if (directionAnimator != null) { oldDir = (Float) directionAnimator.getAnimatedValue(); @@ -503,7 +507,7 @@ public class MyLocationView extends View { previousDirection = newDir; directionAnimator = ValueAnimator.ofFloat(oldDir, newDir); - directionAnimator.setDuration(COMPASS_UPDATE_RATE_MS); + directionAnimator.setDuration(duration); directionAnimator.addUpdateListener(invalidateSelfOnUpdateListener); directionAnimator.start(); } @@ -586,10 +590,10 @@ public class MyLocationView extends View { if (myLocationTrackingMode == MyLocationTracking.TRACKING_FOLLOW) { // Change the user location view orientation to reflect the device orientation rotateCamera(magneticHeading); - setCompass(0); + setCompass(0, COMPASS_UPDATE_RATE_MS); } else { // Change compass direction - setCompass(magneticHeading - bearing); + setCompass(magneticHeading - bearing, COMPASS_UPDATE_RATE_MS); } compassUpdateNextTimestamp = currentTime + COMPASS_UPDATE_RATE_MS; @@ -706,7 +710,7 @@ public class MyLocationView extends View { if (location.hasBearing()) { builder.bearing(location.getBearing()); } - setCompass(0); + setCompass(0, COMPASS_UPDATE_RATE_MS); } // accuracy |