diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2016-08-29 17:43:32 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-29 17:43:32 +0200 |
commit | 8deb7aaa79ccb96812d94d3d49e13bf49fe9308f (patch) | |
tree | 2523eccabf80108289210dfa101b4336d85f37b2 /platform/android/src/jni.cpp | |
parent | eca745d63a1d86d9103ca03b59acb7972bcbfd0d (diff) | |
download | qtlocation-mapboxgl-8deb7aaa79ccb96812d94d3d49e13bf49fe9308f.tar.gz |
[android] - 5844 remove stop gap for update-able shape annotations (#6187)
* [android] - remove stopgap updatable shape annotations
Diffstat (limited to 'platform/android/src/jni.cpp')
-rwxr-xr-x | platform/android/src/jni.cpp | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/platform/android/src/jni.cpp b/platform/android/src/jni.cpp index acaa5e8b42..c0e4665de8 100755 --- a/platform/android/src/jni.cpp +++ b/platform/android/src/jni.cpp @@ -796,40 +796,30 @@ jni::jarray<jlong>* nativeAddPolygons(JNIEnv *env, jni::jobject* obj, jlong nati return std_vector_uint_to_jobject(env, ids); } -jlong nativeUpdatePolygon(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jlong polygonId, jni::jobject* polygon) { +void nativeUpdatePolygon(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jlong polygonId, jni::jobject* polygon) { mbgl::Log::Debug(mbgl::Event::JNI, "nativeUpdatePolygon"); assert(nativeMapViewPtr != 0); NativeMapView *nativeMapView = reinterpret_cast<NativeMapView *>(nativeMapViewPtr); - if (polygonId == -1) { - return polygonId; - } jni::jobject* points = jni::GetField<jni::jobject*>(*env, polygon, *polygonPointsId); mbgl::FillAnnotation annotation { mbgl::Polygon<double> { toGeometry<mbgl::LinearRing<double>>(env, points) } }; annotation.opacity = { jni::GetField<jfloat>(*env, polygon, *polygonAlphaId) }; annotation.outlineColor = { toColor(jni::GetField<jint>(*env, polygon, *polygonStrokeColorId)) }; annotation.color = { toColor(jni::GetField<jint>(*env, polygon, *polygonFillColorId)) }; - //TODO replace remove add with updateAnnotation, https://github.com/mapbox/mapbox-gl-native/issues/5844 - nativeMapView->getMap().removeAnnotation(polygonId); - return nativeMapView->getMap().addAnnotation(annotation); + nativeMapView->getMap().updateAnnotation(polygonId, annotation); } -jlong nativeUpdatePolyline(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jlong polylineId, jni::jobject* polyline) { +void nativeUpdatePolyline(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jlong polylineId, jni::jobject* polyline) { mbgl::Log::Debug(mbgl::Event::JNI, "nativeUpdatePolyline"); assert(nativeMapViewPtr != 0); NativeMapView *nativeMapView = reinterpret_cast<NativeMapView *>(nativeMapViewPtr); - if (polylineId == -1) { - return polylineId; - } jni::jobject* points = jni::GetField<jni::jobject*>(*env, polyline, *polylinePointsId); mbgl::LineAnnotation annotation { toGeometry<mbgl::LineString<double>>(env, points) }; annotation.opacity = { jni::GetField<jfloat>(*env, polyline, *polylineAlphaId) }; annotation.color = { toColor(jni::GetField<jint>(*env, polyline, *polylineColorId)) }; annotation.width = { jni::GetField<jfloat>(*env, polyline, *polylineWidthId) }; - //TODO replace remove add with updateAnnotation, https://github.com/mapbox/mapbox-gl-native/issues/5844 - nativeMapView->getMap().removeAnnotation(polylineId); - return nativeMapView->getMap().addAnnotation(annotation); + nativeMapView->getMap().updateAnnotation(polylineId, annotation); } void nativeRemoveAnnotations(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jni::jarray<jlong>* jarray) { @@ -1814,8 +1804,8 @@ extern "C" JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved) { MAKE_NATIVE_METHOD(nativeAddPolylines, "(J[Lcom/mapbox/mapboxsdk/annotations/Polyline;)[J"), MAKE_NATIVE_METHOD(nativeAddPolygons, "(J[Lcom/mapbox/mapboxsdk/annotations/Polygon;)[J"), MAKE_NATIVE_METHOD(nativeUpdateMarker, "(JJDDLjava/lang/String;)V"), - MAKE_NATIVE_METHOD(nativeUpdatePolygon, "(JJLcom/mapbox/mapboxsdk/annotations/Polygon;)J"), - MAKE_NATIVE_METHOD(nativeUpdatePolyline, "(JJLcom/mapbox/mapboxsdk/annotations/Polyline;)J"), + MAKE_NATIVE_METHOD(nativeUpdatePolygon, "(JJLcom/mapbox/mapboxsdk/annotations/Polygon;)V"), + MAKE_NATIVE_METHOD(nativeUpdatePolyline, "(JJLcom/mapbox/mapboxsdk/annotations/Polyline;)V"), 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"), |