summaryrefslogtreecommitdiff
path: root/platform/android/src/geometry
diff options
context:
space:
mode:
authorŁukasz Paczos <lukas.paczos@gmail.com>2018-05-01 15:33:33 +0200
committerTobrun <tobrun@mapbox.com>2018-05-02 12:23:37 +0200
commit8bf1ff1b36b8575823c8f5612fb39070b4ab8e12 (patch)
tree0f08a62647422d7cfc8be7ddb2db2fadb0a11cbd /platform/android/src/geometry
parentfa700cc10864a6ec9df1f41062b210072f4926d4 (diff)
downloadqtlocation-mapboxgl-8bf1ff1b36b8575823c8f5612fb39070b4ab8e12.tar.gz
[android] - unwrap LatLngBounds before creating core object
Diffstat (limited to 'platform/android/src/geometry')
-rw-r--r--platform/android/src/geometry/lat_lng_bounds.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/platform/android/src/geometry/lat_lng_bounds.cpp b/platform/android/src/geometry/lat_lng_bounds.cpp
index ec1a32fed5..827ee52e95 100644
--- a/platform/android/src/geometry/lat_lng_bounds.cpp
+++ b/platform/android/src/geometry/lat_lng_bounds.cpp
@@ -9,14 +9,17 @@ jni::Object<LatLngBounds> LatLngBounds::New(jni::JNIEnv& env, mbgl::LatLngBounds
}
mbgl::LatLngBounds LatLngBounds::getLatLngBounds(jni::JNIEnv& env, jni::Object<LatLngBounds> bounds) {
- static auto swLat = LatLngBounds::javaClass.GetField<jni::jdouble>(env, "latitudeSouth");
- static auto swLon = LatLngBounds::javaClass.GetField<jni::jdouble>(env, "longitudeWest");
- static auto neLat = LatLngBounds::javaClass.GetField<jni::jdouble>(env, "latitudeNorth");
- static auto neLon = LatLngBounds::javaClass.GetField<jni::jdouble>(env, "longitudeEast");
- return mbgl::LatLngBounds::hull(
- { bounds.Get(env, swLat), bounds.Get(env, swLon) },
- { bounds.Get(env, neLat), bounds.Get(env, neLon) }
- );
+ static auto swLatField = LatLngBounds::javaClass.GetField<jni::jdouble>(env, "latitudeSouth");
+ static auto swLonField = LatLngBounds::javaClass.GetField<jni::jdouble>(env, "longitudeWest");
+ static auto neLatField = LatLngBounds::javaClass.GetField<jni::jdouble>(env, "latitudeNorth");
+ static auto neLonField = LatLngBounds::javaClass.GetField<jni::jdouble>(env, "longitudeEast");
+
+ mbgl::LatLng sw = { bounds.Get(env, swLatField), bounds.Get(env, swLonField) };
+ mbgl::LatLng ne = { bounds.Get(env, neLatField), bounds.Get(env, neLonField) };
+
+ sw.unwrapForShortestPath(ne);
+
+ return mbgl::LatLngBounds::hull(sw, ne);
}
void LatLngBounds::registerNative(jni::JNIEnv& env) {