From afcc78a0aba6a7de6bd676982c9671dbc0eb6acd Mon Sep 17 00:00:00 2001 From: Nicholas Hallahan Date: Tue, 14 Jul 2015 11:11:14 -0700 Subject: [PATCH] Able to remove an annotation from the map #1716 --- android/cpp/jni.cpp | 15 +++++++-------- .../com/mapbox/mapboxgl/views/NativeMapView.java | 2 +- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/android/cpp/jni.cpp b/android/cpp/jni.cpp index 61af695f5..0e26311f4 100644 --- a/android/cpp/jni.cpp +++ b/android/cpp/jni.cpp @@ -455,12 +455,12 @@ jlong JNICALL nativeAddMarker(JNIEnv *env, jobject obj, jlong nativeMapViewPtr, return (jlong) nativeMapView->getMap().addPointAnnotation(mbgl::PointAnnotation(mbgl::LatLng(latitude, longitude), std::string("default_marker"))); } -// void JNICALL nativeRemoveAnnotation(JNIEnv *env, jobject obj, jlong nativeMapViewPtr, jlong annotationId) { -// mbgl::Log::Debug(mbgl::Event::JNI, "nativeRemoveAnnotation"); -// assert(nativeMapViewPtr != 0); -// NativeMapView *nativeMapView = reinterpret_cast(nativeMapViewPtr); -// nativeMapView->getMap().setLatLng((uint32_t)annotationId); -// } +void JNICALL nativeRemoveAnnotation(JNIEnv *env, jobject obj, jlong nativeMapViewPtr, jlong annotationId) { + mbgl::Log::Debug(mbgl::Event::JNI, "nativeRemoveAnnotation"); + assert(nativeMapViewPtr != 0); + NativeMapView *nativeMapView = reinterpret_cast(nativeMapViewPtr); + nativeMapView->getMap().removeAnnotation((uint32_t)annotationId); +} jobject JNICALL nativeGetLatLng(JNIEnv *env, jobject obj, jlong nativeMapViewPtr) { mbgl::Log::Debug(mbgl::Event::JNI, "nativeGetLatLng"); @@ -1007,8 +1007,7 @@ extern "C" JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) { reinterpret_cast(&nativeSetLatLng)}, {"nativeAddMarker", "(JLcom/mapbox/mapboxgl/geometry/LatLng;)J", reinterpret_cast(&nativeAddMarker)}, - // {"nativeRemoveAnnotation", "(J)V", - // reinterpret_cast(&nativeRemoveAnnotation)}, + {"nativeRemoveAnnotation", "(JJ)V", reinterpret_cast(&nativeRemoveAnnotation)}, {"nativeGetLatLng", "(J)Lcom/mapbox/mapboxgl/geometry/LatLng;", reinterpret_cast(&nativeGetLatLng)}, {"nativeResetPosition", "(J)V", reinterpret_cast(&nativeResetPosition)}, diff --git a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/NativeMapView.java b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/NativeMapView.java index 9ed7d29b9..13260a64b 100644 --- a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/NativeMapView.java +++ b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/NativeMapView.java @@ -220,7 +220,7 @@ class NativeMapView { } public void removeAnnotation(long id) { -// nativeRemoveAnnotation(mNativeMapViewPtr, id); + nativeRemoveAnnotation(mNativeMapViewPtr, id); } public LatLng getLatLng() {