diff options
author | Ivo van Dongen <info@ivovandongen.nl> | 2017-02-24 16:15:00 +0200 |
---|---|---|
committer | Ivo van Dongen <ivovandongen@users.noreply.github.com> | 2017-02-28 09:33:04 -0800 |
commit | f0de56cffae4922db80c74f751f14ac3ed572b31 (patch) | |
tree | 2e131dea7c02183a7deb382f20fb89fbf235be4f /platform/android/src/native_map_view.cpp | |
parent | ec1dc2622b633227321ffde962ecc7c85b751190 (diff) | |
download | qtlocation-mapboxgl-f0de56cffae4922db80c74f751f14ac3ed572b31.tar.gz |
[android] source list accessor + example
Diffstat (limited to 'platform/android/src/native_map_view.cpp')
-rwxr-xr-x | platform/android/src/native_map_view.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp index ddc5447347..af1473ca34 100755 --- a/platform/android/src/native_map_view.cpp +++ b/platform/android/src/native_map_view.cpp @@ -799,6 +799,22 @@ void NativeMapView::removeLayer(JNIEnv&, jlong layerPtr) { } } +jni::Array<jni::Object<Source>> NativeMapView::getSources(JNIEnv& env) { + // Get the core sources + std::vector<style::Source*> sources = map->getSources(); + + // Convert + jni::Array<jni::Object<Source>> jSources = jni::Array<jni::Object<Source>>::New(env, sources.size(), Source::javaClass); + int index = 0; + for (auto source : sources) { + auto jSource = jni::Object<Source>(createJavaSourcePeer(env, *map, *source)); + jSources.Set(env, index, jSource); + jni::DeleteLocalRef(env, jSource); + index++; + } + + return jSources; +} jni::Object<Source> NativeMapView::getSource(JNIEnv& env, jni::String sourceId) { // Find the source @@ -1356,6 +1372,7 @@ void NativeMapView::registerNative(jni::JNIEnv& env) { METHOD(&NativeMapView::addLayer, "nativeAddLayer"), METHOD(&NativeMapView::removeLayerById, "nativeRemoveLayerById"), METHOD(&NativeMapView::removeLayer, "nativeRemoveLayer"), + METHOD(&NativeMapView::getSources, "nativeGetSources"), METHOD(&NativeMapView::getSource, "nativeGetSource"), METHOD(&NativeMapView::addSource, "nativeAddSource"), METHOD(&NativeMapView::removeSourceById, "nativeRemoveSourceById"), |