diff options
author | tobrun <tobrun.van.nuland@gmail.com> | 2018-05-30 13:28:49 +0200 |
---|---|---|
committer | Tobrun <tobrun@mapbox.com> | 2018-05-30 20:23:57 +0200 |
commit | 7193a43729b0826f43275842a1e060e907830520 (patch) | |
tree | 737ea88f66a756a8b9240021ef4c8329e98baca2 | |
parent | e67f0be81301abce9454c678f677d37d61a03631 (diff) | |
download | qtlocation-mapboxgl-7193a43729b0826f43275842a1e060e907830520.tar.gz |
[core] [android] - add style json setter/getter to map snapshotter
5 files changed, 36 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java index 641c283798..a2c7ed5dfd 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java @@ -278,6 +278,12 @@ public class MapSnapshotter { */ public native void setStyleUrl(String styleUrl); + /** + * Updates the snapshotter with a new style json + * + * @param styleJson the style json + */ + public native void setStyleJson(String styleJson); /** * Must be called in on the thread diff --git a/platform/android/src/snapshotter/map_snapshotter.cpp b/platform/android/src/snapshotter/map_snapshotter.cpp index ca1307dd16..8c064f5707 100644 --- a/platform/android/src/snapshotter/map_snapshotter.cpp +++ b/platform/android/src/snapshotter/map_snapshotter.cpp @@ -107,6 +107,10 @@ void MapSnapshotter::setStyleUrl(JNIEnv& env, jni::String styleURL) { snapshotter->setStyleURL(jni::Make<std::string>(env, styleURL)); } +void MapSnapshotter::setStyleJson(JNIEnv& env, jni::String styleJSON) { + snapshotter->setStyleJSON(jni::Make<std::string>(env, styleJSON)); +} + void MapSnapshotter::setSize(JNIEnv&, jni::jint width, jni::jint height) { auto size = mbgl::Size { static_cast<uint32_t>(width), static_cast<uint32_t>(height) }; snapshotter->setSize(size); @@ -121,6 +125,7 @@ void MapSnapshotter::setRegion(JNIEnv& env, jni::Object<LatLngBounds> region) { snapshotter->setRegion(LatLngBounds::getLatLngBounds(env, region)); } + // Private methods // void MapSnapshotter::activateFilesource(JNIEnv& env) { @@ -153,6 +158,7 @@ void MapSnapshotter::registerNative(jni::JNIEnv& env) { "nativeInitialize", "finalize", METHOD(&MapSnapshotter::setStyleUrl, "setStyleUrl"), + METHOD(&MapSnapshotter::setStyleJson, "setStyleJson"), METHOD(&MapSnapshotter::setSize, "setSize"), METHOD(&MapSnapshotter::setCameraPosition, "setCameraPosition"), METHOD(&MapSnapshotter::setRegion, "setRegion"), diff --git a/platform/android/src/snapshotter/map_snapshotter.hpp b/platform/android/src/snapshotter/map_snapshotter.hpp index 33d32e01a1..3be2cb4f6c 100644 --- a/platform/android/src/snapshotter/map_snapshotter.hpp +++ b/platform/android/src/snapshotter/map_snapshotter.hpp @@ -44,6 +44,8 @@ public: void setStyleUrl(JNIEnv&, jni::String styleURL); + void setStyleJson(JNIEnv&, jni::String styleJSON); + void setSize(JNIEnv&, jni::jint width, jni::jint height); void setCameraPosition(JNIEnv&, jni::Object<CameraPosition> position); diff --git a/platform/default/mbgl/map/map_snapshotter.cpp b/platform/default/mbgl/map/map_snapshotter.cpp index da3a250e0f..39f96d7210 100644 --- a/platform/default/mbgl/map/map_snapshotter.cpp +++ b/platform/default/mbgl/map/map_snapshotter.cpp @@ -25,6 +25,9 @@ public: void setStyleURL(std::string styleURL); std::string getStyleURL() const; + void setStyleJSON(std::string styleJSON); + std::string getStyleJSON() const; + void setSize(Size); Size getSize() const; @@ -107,6 +110,14 @@ std::string MapSnapshotter::Impl::getStyleURL() const { return map.getStyle().getURL(); } +void MapSnapshotter::Impl::setStyleJSON(std::string styleJSON) { + map.getStyle().loadJSON(styleJSON); +} + +std::string MapSnapshotter::Impl::getStyleJSON() const { + return map.getStyle().getJSON(); +} + void MapSnapshotter::Impl::setSize(Size size) { map.setSize(size); frontend.setSize(size); @@ -160,6 +171,14 @@ std::string MapSnapshotter::getStyleURL() const { return impl->actor().ask(&Impl::getStyleURL).get(); } +void MapSnapshotter::setStyleJSON(const std::string& styleJSON) { + impl->actor().invoke(&Impl::setStyleJSON, styleJSON); +} + +std::string MapSnapshotter::getStyleJSON() const { + return impl->actor().ask(&Impl::getStyleJSON).get(); +} + void MapSnapshotter::setSize(const Size& size) { impl->actor().invoke(&Impl::setSize, size); } diff --git a/platform/default/mbgl/map/map_snapshotter.hpp b/platform/default/mbgl/map/map_snapshotter.hpp index a71da121c0..e0363a7b38 100644 --- a/platform/default/mbgl/map/map_snapshotter.hpp +++ b/platform/default/mbgl/map/map_snapshotter.hpp @@ -39,6 +39,9 @@ public: void setStyleURL(const std::string& styleURL); std::string getStyleURL() const; + void setStyleJSON(const std::string& styleJSON); + std::string getStyleJSON() const; + void setSize(const Size&); Size getSize() const; |