diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2016-11-09 10:42:18 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-09 10:42:18 +0100 |
commit | 772324e8f2a316bf82774732dd60bb7af5acdb18 (patch) | |
tree | 34109021f9e7ae14a732c5f98627c892267e9d2d /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets | |
parent | efc427f9bbf7fb4b8d8895613dbb29716d5d7b11 (diff) | |
download | qtlocation-mapboxgl-772324e8f2a316bf82774732dd60bb7af5acdb18.tar.gz |
Cherry pick release v4.2.0 (#6944)
* [android] - MyLocationView should facing above when location and compass bearing tracking are enabled. (#6829)
* [android] - use current animated rotation value for calculating animated marker rotation difference (#6826)
fix unit tests, input limiting is not handled by animateRotationBy instead of MarkerView.
Changed test to validate if method was called with correct value.
* [android] - only calculated offset margins for InfoWindow if View is found in current viewport, added example to the test app to test for regressions (#6877)
* upgraded okhttp dependency to latest version (#6880)
* Cancelable callback invocation (#6891)
* [android] - allow onCancel to be invoked from camera cancel callbacks
* set to null after finish
* [android] - using bearing clockwise versus counterclockwise (#6917)
* [android] - using bearing clockwise versus counterclockwise
* fixup brackets
* [android] - convert bearing values from core to Android SDK equivalent.
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java | 18 |
1 files changed, 8 insertions, 10 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 36860b1cef..300804c468 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 @@ -541,8 +541,6 @@ public class MyLocationView extends View { float[] matrix = new float[9]; float[] orientation = new float[3]; - private int currentDegree = 0; - // Compass data private long compassUpdateNextTimestamp = 0; @@ -575,22 +573,22 @@ public class MyLocationView extends View { SensorManager.getOrientation(matrix, orientation); float magneticHeading = (float) Math.toDegrees(SensorManager.getOrientation(matrix, orientation)[0]); - currentDegree = (int) (magneticHeading); - - // Change the user location view orientation to reflect the device orientation - setCompass(currentDegree); - if (myLocationTrackingMode == MyLocationTracking.TRACKING_FOLLOW) { - rotateCamera(); + // Change the user location view orientation to reflect the device orientation + rotateCamera(magneticHeading); + setCompass(0); + } else { + // Change compass direction + setCompass(magneticHeading); } compassUpdateNextTimestamp = currentTime + COMPASS_UPDATE_RATE_MS; } } - private void rotateCamera() { + private void rotateCamera(float rotation) { CameraPosition.Builder builder = new CameraPosition.Builder(); - builder.bearing(currentDegree); + builder.bearing(rotation); mapboxMap.easeCamera(CameraUpdateFactory.newCameraPosition(builder.build()), COMPASS_UPDATE_RATE_MS, false /*linear interpolator*/, false /*do not disable tracking*/, null); } |