summaryrefslogtreecommitdiff
path: root/platform/android/src/native_map_view.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src/native_map_view.cpp')
-rwxr-xr-xplatform/android/src/native_map_view.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp
index e8bc14c8c2..4a81a33b9b 100755
--- a/platform/android/src/native_map_view.cpp
+++ b/platform/android/src/native_map_view.cpp
@@ -288,6 +288,15 @@ void NativeMapView::setLatLngBounds(jni::JNIEnv& env, const jni::Object<mbgl::an
}
}
+jni::Local<jni::Object<LatLngBounds>> NativeMapView::getLatLngBounds(jni::JNIEnv& env) {
+ optional<mbgl::LatLngBounds> bounds = map->getLatLngBounds();
+ if (bounds) {
+ return LatLngBounds::New(env, bounds.value());
+ } else {
+ return LatLngBounds::New(env, mbgl::LatLngBounds::world());
+ }
+}
+
void NativeMapView::cancelTransitions(jni::JNIEnv&) {
map->cancelTransitions();
}
@@ -365,8 +374,8 @@ void NativeMapView::flyTo(jni::JNIEnv&, jni::jdouble angle, jni::jdouble latitud
map->flyTo(cameraOptions, animationOptions);
}
-jni::Local<jni::Object<LatLng>> NativeMapView::getLatLng(JNIEnv& env) {
- return LatLng::New(env, map->getLatLng(insets));
+jni::Local<jni::Object<LatLng>> NativeMapView::getLatLng(JNIEnv& env, jni::jboolean padded) {
+ return LatLng::New(env, map->getLatLng(padded ? insets : EdgeInsets{}));
}
void NativeMapView::setLatLng(jni::JNIEnv&, jni::jdouble latitude, jni::jdouble longitude, jni::jlong duration) {
@@ -588,6 +597,11 @@ jni::Local<jni::Object<PointF>> NativeMapView::pixelForLatLng(JNIEnv& env, jdoub
return PointF::New(env, static_cast<float>(pixel.x), static_cast<float>(pixel.y));
}
+jni::Local<jni::Object<PointF>> NativeMapView::pixelForLatLngRaw(JNIEnv& env, jdouble latitude, jdouble longitude) {
+ mbgl::ScreenCoordinate pixel = map->pixelForLatLngRaw(mbgl::LatLng(latitude, longitude));
+ return PointF::New(env, static_cast<float>(pixel.x), static_cast<float>(pixel.y));
+}
+
jni::Local<jni::Object<LatLng>> NativeMapView::latLngForPixel(JNIEnv& env, jfloat x, jfloat y) {
return LatLng::New(env, map->latLngForPixel(mbgl::ScreenCoordinate(x, y)));
}
@@ -1076,6 +1090,7 @@ void NativeMapView::registerNative(jni::JNIEnv& env) {
METHOD(&NativeMapView::getMetersPerPixelAtLatitude, "nativeGetMetersPerPixelAtLatitude"),
METHOD(&NativeMapView::projectedMetersForLatLng, "nativeProjectedMetersForLatLng"),
METHOD(&NativeMapView::pixelForLatLng, "nativePixelForLatLng"),
+ METHOD(&NativeMapView::pixelForLatLngRaw, "nativePixelForLatLngRaw"),
METHOD(&NativeMapView::latLngForProjectedMeters, "nativeLatLngForProjectedMeters"),
METHOD(&NativeMapView::latLngForPixel, "nativeLatLngForPixel"),
METHOD(&NativeMapView::addPolylines, "nativeAddPolylines"),
@@ -1109,6 +1124,7 @@ void NativeMapView::registerNative(jni::JNIEnv& env) {
METHOD(&NativeMapView::removeImage, "nativeRemoveImage"),
METHOD(&NativeMapView::getImage, "nativeGetImage"),
METHOD(&NativeMapView::setLatLngBounds, "nativeSetLatLngBounds"),
+ METHOD(&NativeMapView::getLatLngBounds, "nativeGetLatLngBounds"),
METHOD(&NativeMapView::setPrefetchTiles, "nativeSetPrefetchTiles"),
METHOD(&NativeMapView::getPrefetchTiles, "nativeGetPrefetchTiles")
);