summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobrun Van Nuland <tobrun.van.nuland@gmail.com>2017-01-20 16:32:40 +0100
committerTobrun Van Nuland <tobrun.van.nuland@gmail.com>2017-01-20 16:32:40 +0100
commit969fdd08f2b0768ff9e1b61d6064005c05d29d9f (patch)
treea2c98785c815d5b7bc78b8cddb83245dd1f137dd
parent472807400b4d66733e164fd40c140c7e2827bd6f (diff)
downloadqtlocation-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-xplatform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java9
-rwxr-xr-xplatform/android/src/jni.cpp11
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"),