summaryrefslogtreecommitdiff
path: root/platform/android/src/map/camera_position.cpp
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2017-08-22 16:32:45 +0300
committerIvo van Dongen <info@ivovandongen.nl>2017-08-23 19:49:25 +0300
commit69050ddabbc254b12fa3ac61536f4eece7459249 (patch)
treea25b2f1faa46728005c696c66efc67be05fe77bb /platform/android/src/map/camera_position.cpp
parent77d5bb54183cafbc15af4d459f9295ea15c763b4 (diff)
downloadqtlocation-mapboxgl-upstream/ivd-android-snapshotter.tar.gz
[android] map snapshotterupstream/ivd-android-snapshotter
Diffstat (limited to 'platform/android/src/map/camera_position.cpp')
-rw-r--r--platform/android/src/map/camera_position.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/platform/android/src/map/camera_position.cpp b/platform/android/src/map/camera_position.cpp
index d6f2cb83e8..1fc5f9789f 100644
--- a/platform/android/src/map/camera_position.cpp
+++ b/platform/android/src/map/camera_position.cpp
@@ -27,6 +27,24 @@ jni::Object<CameraPosition> CameraPosition::New(jni::JNIEnv &env, mbgl::CameraOp
return CameraPosition::javaClass.New(env, constructor, LatLng::New(env, center), options.zoom.value_or(0), tilt_degrees, bearing_degrees);
}
+mbgl::CameraOptions CameraPosition::getCameraOptions(jni::JNIEnv& env, jni::Object<CameraPosition> position) {
+ static auto bearing = CameraPosition::javaClass.GetField<jni::jdouble>(env, "bearing");
+ static auto target = CameraPosition::javaClass.GetField<jni::Object<LatLng>>(env, "target");
+ static auto tilt = CameraPosition::javaClass.GetField<jni::jdouble>(env, "tilt");
+ static auto zoom = CameraPosition::javaClass.GetField<jni::jdouble>(env, "zoom");
+
+ auto center = LatLng::getLatLng(env, position.Get(env, target));
+
+ return mbgl::CameraOptions {
+ center,
+ {},
+ {},
+ position.Get(env, zoom),
+ position.Get(env, bearing) * util::DEG2RAD,
+ position.Get(env, tilt)
+ };
+}
+
void CameraPosition::registerNative(jni::JNIEnv &env) {
// Lookup the class
CameraPosition::javaClass = *jni::Class<CameraPosition>::Find(env).NewGlobalRef(env).release();