summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2016-11-18 13:45:32 +0100
committerGitHub <noreply@github.com>2016-11-18 13:45:32 +0100
commit109565c4006cd5909972f1388c2c561c0c4a745e (patch)
treee202b7a287c0fc571e7d050d2a81e248e6c1adf6
parent6c91c3e51979c2141a21c0c1ca77230942f38b29 (diff)
downloadqtlocation-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.java12
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