diff options
author | Łukasz Paczos <lukas.paczos@gmail.com> | 2018-05-01 15:33:33 +0200 |
---|---|---|
committer | Tobrun <tobrun@mapbox.com> | 2018-05-02 12:23:37 +0200 |
commit | 8bf1ff1b36b8575823c8f5612fb39070b4ab8e12 (patch) | |
tree | 0f08a62647422d7cfc8be7ddb2db2fadb0a11cbd /platform/android/src/geometry | |
parent | fa700cc10864a6ec9df1f41062b210072f4926d4 (diff) | |
download | qtlocation-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.cpp | 19 |
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) { |