diff options
author | kevin <kevin.li@mapbox.com> | 2020-03-16 16:43:38 +0800 |
---|---|---|
committer | kevin <kevin.li@mapbox.com> | 2020-03-24 10:39:42 +0800 |
commit | f8977feba2be26431daa91d515f88325f954e07b (patch) | |
tree | 4b1343178de7ec20c725c0502801a2758617e2d0 /platform/android/src/snapshotter/map_snapshotter.cpp | |
parent | e0b27c52d94bfbb417741a3932e4373c4745c431 (diff) | |
download | qtlocation-mapboxgl-f8977feba2be26431daa91d515f88325f954e07b.tar.gz |
Implement addsource function for snapshotter
Diffstat (limited to 'platform/android/src/snapshotter/map_snapshotter.cpp')
-rw-r--r-- | platform/android/src/snapshotter/map_snapshotter.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/platform/android/src/snapshotter/map_snapshotter.cpp b/platform/android/src/snapshotter/map_snapshotter.cpp index abef7eeb21..3ec16e8baa 100644 --- a/platform/android/src/snapshotter/map_snapshotter.cpp +++ b/platform/android/src/snapshotter/map_snapshotter.cpp @@ -241,6 +241,17 @@ void MapSnapshotter::addLayerAbove(JNIEnv& env, jlong nativeLayerPtr, const jni: jni::ThrowNew(env, jni::FindClass(env, "com/mapbox/mapboxsdk/style/layers/CannotAddLayerException"), error.what()); } } + +void MapSnapshotter::addSource(JNIEnv& env, const jni::Object<Source>& obj, jlong sourcePtr) { + assert(sourcePtr != 0); + + Source *source = reinterpret_cast<Source *>(sourcePtr); + try { + source->addToStyle(env, obj, snapshotter->getStyle()); + } catch (const std::runtime_error& error) { + jni::ThrowNew(env, jni::FindClass(env, "com/mapbox/mapboxsdk/style/sources/CannotAddSourceException"), error.what()); + } +} // Static methods // void MapSnapshotter::registerNative(jni::JNIEnv& env) { @@ -258,6 +269,7 @@ void MapSnapshotter::registerNative(jni::JNIEnv& env) { METHOD(&MapSnapshotter::addLayerAt, "nativeAddLayerAt"), METHOD(&MapSnapshotter::addLayerBelow, "nativeAddLayerBelow"), METHOD(&MapSnapshotter::addLayerAbove, "nativeAddLayerAbove"), + METHOD(&MapSnapshotter::addSource, "nativeAddSource"), METHOD(&MapSnapshotter::setStyleJson, "setStyleJson"), METHOD(&MapSnapshotter::setSize, "setSize"), METHOD(&MapSnapshotter::setCameraPosition, "setCameraPosition"), |