summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2016-11-09 10:42:18 +0100
committerGitHub <noreply@github.com>2016-11-09 10:42:18 +0100
commit772324e8f2a316bf82774732dd60bb7af5acdb18 (patch)
tree34109021f9e7ae14a732c5f98627c892267e9d2d /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets
parentefc427f9bbf7fb4b8d8895613dbb29716d5d7b11 (diff)
downloadqtlocation-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.java18
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);
}