summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobrun <tobrun@mapbox.com>2017-05-19 20:38:23 +0200
committerGitHub <noreply@github.com>2017-05-19 20:38:23 +0200
commit4d8625b13ca32dc8c9ca9484db663bf3aba52a6d (patch)
tree9e5d6ba95a8ff2c356a60103651c38de512cc6cb
parentb9d3ccc99506efcadd90bc6b1fc4b9831dfd32df (diff)
downloadqtlocation-mapboxgl-4d8625b13ca32dc8c9ca9484db663bf3aba52a6d.tar.gz
[android] - correct bearing conversion when animating the map with jumpTo, easeTo and animateTo. (#9050)
-rw-r--r--platform/android/src/map/camera_position.cpp2
-rwxr-xr-xplatform/android/src/native_map_view.cpp6
2 files changed, 4 insertions, 4 deletions
diff --git a/platform/android/src/map/camera_position.cpp b/platform/android/src/map/camera_position.cpp
index aa5873b273..f059fbd413 100644
--- a/platform/android/src/map/camera_position.cpp
+++ b/platform/android/src/map/camera_position.cpp
@@ -12,7 +12,7 @@ jni::Object<CameraPosition> CameraPosition::New(jni::JNIEnv &env, mbgl::CameraOp
center.wrap();
// convert bearing, core ranges from [−π rad, π rad], android from 0 to 360 degrees
- double bearing_degrees = options.angle.value_or(0) * 180.0 / M_PI;
+ double bearing_degrees = (options.angle.value_or(0) * 180.0 / M_PI) + 180;
while (bearing_degrees > 360) {
bearing_degrees -= 360;
}
diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp
index 1e2464f1a0..3dbfd6809a 100755
--- a/platform/android/src/native_map_view.cpp
+++ b/platform/android/src/native_map_view.cpp
@@ -385,7 +385,7 @@ void NativeMapView::moveBy(jni::JNIEnv&, jni::jdouble dx, jni::jdouble dy, jni::
void NativeMapView::jumpTo(jni::JNIEnv&, jni::jdouble angle, jni::jdouble latitude, jni::jdouble longitude, jni::jdouble pitch, jni::jdouble zoom) {
mbgl::CameraOptions options;
if (angle != -1) {
- options.angle = (-angle * M_PI) / 180;
+ options.angle = (angle - 180 * M_PI) / 180;
}
options.center = mbgl::LatLng(latitude, longitude);
options.padding = insets;
@@ -402,7 +402,7 @@ void NativeMapView::jumpTo(jni::JNIEnv&, jni::jdouble angle, jni::jdouble latitu
void NativeMapView::easeTo(jni::JNIEnv&, jni::jdouble angle, jni::jdouble latitude, jni::jdouble longitude, jni::jlong duration, jni::jdouble pitch, jni::jdouble zoom, jni::jboolean easing) {
mbgl::CameraOptions cameraOptions;
if (angle != -1) {
- cameraOptions.angle = (-angle * M_PI) / 180;
+ cameraOptions.angle = (angle - 180 * M_PI) / 180;
}
cameraOptions.center = mbgl::LatLng(latitude, longitude);
cameraOptions.padding = insets;
@@ -426,7 +426,7 @@ void NativeMapView::easeTo(jni::JNIEnv&, jni::jdouble angle, jni::jdouble latitu
void NativeMapView::flyTo(jni::JNIEnv&, jni::jdouble angle, jni::jdouble latitude, jni::jdouble longitude, jni::jlong duration, jni::jdouble pitch, jni::jdouble zoom) {
mbgl::CameraOptions cameraOptions;
if (angle != -1) {
- cameraOptions.angle = (-angle * M_PI) / 180 ;
+ cameraOptions.angle = (angle - 180 * M_PI / 180);
}
cameraOptions.center = mbgl::LatLng(latitude, longitude);
cameraOptions.padding = insets;