summaryrefslogtreecommitdiff
path: root/platform/android/src/style
diff options
context:
space:
mode:
authorTobrun <tobrun@mapbox.com>2017-04-19 15:05:08 +0200
committerGitHub <noreply@github.com>2017-04-19 15:05:08 +0200
commit553ec88dc0350b9b034a0370300653d94f092382 (patch)
tree291aaa4e26979090a5b233d69e9cba557f0ab5f2 /platform/android/src/style
parent9c1150cfe9c1d7c4992e421695ce7c83a4840339 (diff)
downloadqtlocation-mapboxgl-553ec88dc0350b9b034a0370300653d94f092382.tar.gz
[android] - expose source layer identifier (#8709)
Diffstat (limited to 'platform/android/src/style')
-rw-r--r--platform/android/src/style/layers/layer.cpp20
-rw-r--r--platform/android/src/style/layers/layer.hpp6
-rw-r--r--platform/android/src/style/layers/layer.hpp.ejs1
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