diff options
author | Tobrun Van Nuland <tobrun.van.nuland@gmail.com> | 2017-01-20 16:32:40 +0100 |
---|---|---|
committer | Tobrun Van Nuland <tobrun.van.nuland@gmail.com> | 2017-01-20 16:32:40 +0100 |
commit | 969fdd08f2b0768ff9e1b61d6064005c05d29d9f (patch) | |
tree | a2c98785c815d5b7bc78b8cddb83245dd1f137dd | |
parent | 472807400b4d66733e164fd40c140c7e2827bd6f (diff) | |
download | qtlocation-mapboxgl-upstream/tvn-cleanup-annotation-icons.tar.gz |
[android] - cleanup annotation icon, provide binding implementation of remove annotation imageupstream/tvn-cleanup-annotation-icons
-rwxr-xr-x | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java | 9 | ||||
-rwxr-xr-x | platform/android/src/jni.cpp | 11 |
2 files changed, 20 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java index 0c15480dee..79f07b2ab3 100755 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java @@ -641,6 +641,13 @@ final class NativeMapView { nativeAddAnnotationIcon(nativeMapViewPtr, symbol, width, height, scale, pixels); } + public void removeAnnotationIcon(String symbol){ + if(isDestroyedOn("removeAnnotationIcon")){ + return; + } + nativeRemoveAnnotationIcon(nativeMapViewPtr, symbol); + } + public void setVisibleCoordinateBounds(LatLng[] coordinates, RectF padding, double direction, long duration) { if (isDestroyedOn("setVisibleCoordinateBounds")) { return; @@ -1075,6 +1082,8 @@ final class NativeMapView { private native void nativeAddAnnotationIcon(long nativeMapViewPtr, String symbol, int width, int height, float scale, byte[] pixels); + private native void nativeRemoveAnnotationIcon(long nativeMapViewPtr, String symbol); + private native void nativeSetVisibleCoordinateBounds(long nativeMapViewPtr, LatLng[] coordinates, RectF padding, double direction, long duration); diff --git a/platform/android/src/jni.cpp b/platform/android/src/jni.cpp index 1ef7fec8fb..75187fbe81 100755 --- a/platform/android/src/jni.cpp +++ b/platform/android/src/jni.cpp @@ -854,6 +854,16 @@ void nativeAddAnnotationIcon(JNIEnv *env, jni::jobject* obj, jlong nativeMapView nativeMapView->getMap().addAnnotationIcon(symbolName, iconImage); } +void nativeRemoveAnnotationIcon(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, + jni::jstring* symbol) { + assert(nativeMapViewPtr != 0); + NativeMapView *nativeMapView = reinterpret_cast<NativeMapView *>(nativeMapViewPtr); + + const std::string symbolName = std_string_from_jstring(env, symbol); + + nativeMapView->getMap().removeAnnotationIcon(symbolName); +} + void nativeSetVisibleCoordinateBounds(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jni::jarray<jni::jobject>* coordinates, jni::jobject* padding, jdouble direction, jlong duration) { assert(nativeMapViewPtr != 0); @@ -1902,6 +1912,7 @@ void registerNatives(JavaVM *vm) { MAKE_NATIVE_METHOD(nativeRemoveAnnotations, "(J[J)V"), MAKE_NATIVE_METHOD(nativeQueryPointAnnotations, "(JLandroid/graphics/RectF;)[J"), MAKE_NATIVE_METHOD(nativeAddAnnotationIcon, "(JLjava/lang/String;IIF[B)V"), + MAKE_NATIVE_METHOD(nativeRemoveAnnotationIcon, "(JLjava/lang/String;)V"), MAKE_NATIVE_METHOD(nativeSetVisibleCoordinateBounds, "(J[Lcom/mapbox/mapboxsdk/geometry/LatLng;Landroid/graphics/RectF;DJ)V"), MAKE_NATIVE_METHOD(nativeOnLowMemory, "(J)V"), MAKE_NATIVE_METHOD(nativeSetDebug, "(JZ)V"), |