From e0c2b3e771bdd4a23bb7442240ccc3dbf1c1c57a Mon Sep 17 00:00:00 2001 From: Kevin Li Date: Fri, 28 Feb 2020 17:26:15 +0800 Subject: [android] Add jni binding for min and max pitch (#16236) * [android] Add jni binding for min and max pitch * Update CHANGELOG.md --- CHANGELOG.md | 2 ++ platform/android/src/native_map_view.cpp | 20 ++++++++++++++++++++ platform/android/src/native_map_view.hpp | 8 ++++++++ 3 files changed, 30 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 672a5ea5e6..e20a97ae11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,8 @@ New method allows serialization of a layer into a Value type, including all modifications done via runtime style API. New method is also an enabler for Style object serialization (sources, layers, etc). +- [android] Add jni binding for min and max pitch ([#16236](https://github.com/mapbox/mapbox-gl-native/pull/16236)) + ##### ⚠️ Breaking changes - Changes to `mbgl::FileSourceManager::getFileSource()` ([#16238](https://github.com/mapbox/mapbox-gl-native/pull/16238)) diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp index db30d87a5b..f6e2e4a22f 100644 --- a/platform/android/src/native_map_view.cpp +++ b/platform/android/src/native_map_view.cpp @@ -479,6 +479,22 @@ jni::jdouble NativeMapView::getMaxZoom(jni::JNIEnv&) { return *map->getBounds().maxZoom; } +void NativeMapView::setMinPitch(jni::JNIEnv&, jni::jdouble pitch) { + map->setBounds(BoundOptions().withMinPitch(pitch)); +} + +jni::jdouble NativeMapView::getMinPitch(jni::JNIEnv&) { + return *map->getBounds().minPitch; +} + +void NativeMapView::setMaxPitch(jni::JNIEnv&, jni::jdouble pitch) { + map->setBounds(BoundOptions().withMaxPitch(pitch)); +} + +jni::jdouble NativeMapView::getMaxPitch(jni::JNIEnv&) { + return *map->getBounds().maxPitch; +} + void NativeMapView::rotateBy(jni::JNIEnv&, jni::jdouble sx, jni::jdouble sy, jni::jdouble ex, jni::jdouble ey, jni::jlong duration) { mbgl::ScreenCoordinate first(sx, sy); mbgl::ScreenCoordinate second(ex, ey); @@ -1172,6 +1188,10 @@ void NativeMapView::registerNative(jni::JNIEnv& env) { METHOD(&NativeMapView::getMinZoom, "nativeGetMinZoom"), METHOD(&NativeMapView::setMaxZoom, "nativeSetMaxZoom"), METHOD(&NativeMapView::getMaxZoom, "nativeGetMaxZoom"), + METHOD(&NativeMapView::setMinPitch, "nativeSetMinPitch"), + METHOD(&NativeMapView::getMinPitch, "nativeGetMinPitch"), + METHOD(&NativeMapView::setMaxPitch, "nativeSetMaxPitch"), + METHOD(&NativeMapView::getMaxPitch, "nativeGetMaxPitch"), METHOD(&NativeMapView::rotateBy, "nativeRotateBy"), METHOD(&NativeMapView::setBearing, "nativeSetBearing"), METHOD(&NativeMapView::setBearingXY, "nativeSetBearingXY"), diff --git a/platform/android/src/native_map_view.hpp b/platform/android/src/native_map_view.hpp index ab93fab81f..ccd62e0b45 100644 --- a/platform/android/src/native_map_view.hpp +++ b/platform/android/src/native_map_view.hpp @@ -127,6 +127,14 @@ public: jni::jdouble getMaxZoom(jni::JNIEnv&); + void setMinPitch(jni::JNIEnv&, jni::jdouble); + + jni::jdouble getMinPitch(jni::JNIEnv&); + + void setMaxPitch(jni::JNIEnv&, jni::jdouble); + + jni::jdouble getMaxPitch(jni::JNIEnv&); + void rotateBy(jni::JNIEnv&, jni::jdouble, jni::jdouble, jni::jdouble, jni::jdouble, jni::jlong); void setBearing(jni::JNIEnv&, jni::jdouble, jni::jlong); -- cgit v1.2.1