diff options
author | Tobrun <tobrun@mapbox.com> | 2017-04-19 15:05:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-19 15:05:08 +0200 |
commit | 553ec88dc0350b9b034a0370300653d94f092382 (patch) | |
tree | 291aaa4e26979090a5b233d69e9cba557f0ab5f2 /platform/android/src | |
parent | 9c1150cfe9c1d7c4992e421695ce7c83a4840339 (diff) | |
download | qtlocation-mapboxgl-553ec88dc0350b9b034a0370300653d94f092382.tar.gz |
[android] - expose source layer identifier (#8709)
Diffstat (limited to 'platform/android/src')
-rw-r--r-- | platform/android/src/style/layers/layer.cpp | 20 | ||||
-rw-r--r-- | platform/android/src/style/layers/layer.hpp | 6 | ||||
-rw-r--r-- | platform/android/src/style/layers/layer.hpp.ejs | 1 |
3 files changed, 24 insertions, 3 deletions
diff --git a/platform/android/src/style/layers/layer.cpp b/platform/android/src/style/layers/layer.cpp index 6c9de51a0d..58c0c5ee84 100644 --- a/platform/android/src/style/layers/layer.cpp +++ b/platform/android/src/style/layers/layer.cpp @@ -144,6 +144,25 @@ namespace android { } } + jni::String Layer::getSourceLayer(jni::JNIEnv& env) { + using namespace mbgl::style; + + std::string sourceLayerId; + if (layer.is<FillLayer>()) { + sourceLayerId = layer.as<FillLayer>()->getSourceLayer(); + } else if (layer.is<LineLayer>()) { + sourceLayerId = layer.as<LineLayer>()->getSourceLayer(); + } else if (layer.is<SymbolLayer>()) { + sourceLayerId = layer.as<SymbolLayer>()->getSourceLayer(); + } else if (layer.is<CircleLayer>()) { + sourceLayerId = layer.as<CircleLayer>()->getSourceLayer(); + } else { + mbgl::Log::Warning(mbgl::Event::JNI, "Layer doesn't support source layer"); + } + + return jni::Make<jni::String>(env, sourceLayerId); + } + jni::jfloat Layer::getMinZoom(jni::JNIEnv&){ return layer.getMinZoom(); } @@ -180,6 +199,7 @@ namespace android { METHOD(&Layer::setPaintProperty, "nativeSetPaintProperty"), METHOD(&Layer::setFilter, "nativeSetFilter"), METHOD(&Layer::setSourceLayer, "nativeSetSourceLayer"), + METHOD(&Layer::getSourceLayer, "nativeGetSourceLayer"), METHOD(&Layer::getMinZoom, "nativeGetMinZoom"), METHOD(&Layer::getMaxZoom, "nativeGetMaxZoom"), METHOD(&Layer::setMinZoom, "nativeSetMinZoom"), diff --git a/platform/android/src/style/layers/layer.hpp b/platform/android/src/style/layers/layer.hpp index deea7a6613..78c3f80b48 100644 --- a/platform/android/src/style/layers/layer.hpp +++ b/platform/android/src/style/layers/layer.hpp @@ -66,9 +66,11 @@ public: /* common properties, but not shared by all */ - void setFilter(jni::JNIEnv& env, jni::Array<jni::Object<>> jfilter); + void setFilter(jni::JNIEnv&, jni::Array<jni::Object<>>); - void setSourceLayer(jni::JNIEnv& env, jni::String sourceLayer); + void setSourceLayer(jni::JNIEnv&, jni::String); + + jni::String getSourceLayer(jni::JNIEnv&); // Property getters diff --git a/platform/android/src/style/layers/layer.hpp.ejs b/platform/android/src/style/layers/layer.hpp.ejs index d1e84ac2d4..837049b4c3 100644 --- a/platform/android/src/style/layers/layer.hpp.ejs +++ b/platform/android/src/style/layers/layer.hpp.ejs @@ -44,7 +44,6 @@ public: jni::Object<TransitionOptions> get<%- camelize(property.name) %>Transition(jni::JNIEnv&); <% } -%> <% } -%> - jni::jobject* createJavaPeer(jni::JNIEnv&); }; // class <%- camelize(type) %>Layer |