@@ -960,20 +960,24 @@ void nativeRemoveAnnotations(JNIEnv *env, jni::jobject* obj, jlong nativeMapView
960
960
nativeMapView->getMap ().removeAnnotations (ids);
961
961
}
962
962
963
- jni::jarray<jlong>* nativeGetAnnotationsInBounds (JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jni::jobject* latLngBounds_ ) {
964
- mbgl::Log::Debug (mbgl::Event::JNI, " nativeGetAnnotationsInBounds " );
963
+ jni::jarray<jlong>* nativeQueryPointAnnotations (JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jni::jobject* rect ) {
964
+ mbgl::Log::Debug (mbgl::Event::JNI, " nativeQueryPointAnnotations " );
965
965
assert (nativeMapViewPtr != 0 );
966
966
NativeMapView *nativeMapView = reinterpret_cast <NativeMapView *>(nativeMapViewPtr);
967
967
968
968
// Conversion
969
- mbgl::LatLngBounds latLngBounds = latlngbounds_from_java (env, latLngBounds_);
970
- if (latLngBounds.isEmpty ()) {
971
- return nullptr ;
972
- }
969
+ jfloat left = jni::GetField<jfloat>(*env, rect, *rectFLeftId);
970
+ jfloat right = jni::GetField<jfloat>(*env, rect, *rectFRightId);
971
+ jfloat top = jni::GetField<jfloat>(*env, rect, *rectFTopId);
972
+ jfloat bottom = jni::GetField<jfloat>(*env, rect, *rectFBottomId);
973
+ mbgl::ScreenBox box = {
974
+ { left, top },
975
+ { right, bottom },
976
+ };
973
977
974
978
// Assume only points for now
975
- std::vector<uint32_t > annotations = nativeMapView->getMap ().getPointAnnotationsInBounds (
976
- latLngBounds );
979
+ std::vector<uint32_t > annotations = nativeMapView->getMap ().queryPointAnnotations (
980
+ box );
977
981
978
982
return std_vector_uint_to_jobject (env, annotations);
979
983
}
@@ -1856,7 +1860,7 @@ extern "C" JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved) {
1856
1860
MAKE_NATIVE_METHOD (nativeUpdateMarker, " (JLcom/mapbox/mapboxsdk/annotations/Marker;)V" ),
1857
1861
MAKE_NATIVE_METHOD (nativeRemoveAnnotation, " (JJ)V" ),
1858
1862
MAKE_NATIVE_METHOD (nativeRemoveAnnotations, " (J[J)V" ),
1859
- MAKE_NATIVE_METHOD (nativeGetAnnotationsInBounds , " (JLcom/mapbox/mapboxsdk/geometry/LatLngBounds ;)[J" ),
1863
+ MAKE_NATIVE_METHOD (nativeQueryPointAnnotations , " (JLandroid/graphics/RectF ;)[J" ),
1860
1864
MAKE_NATIVE_METHOD (nativeAddAnnotationIcon, " (JLjava/lang/String;IIF[B)V" ),
1861
1865
MAKE_NATIVE_METHOD (nativeSetVisibleCoordinateBounds, " (J[Lcom/mapbox/mapboxsdk/geometry/LatLng;Landroid/graphics/RectF;DJ)V" ),
1862
1866
MAKE_NATIVE_METHOD (nativeOnLowMemory, " (J)V" ),
0 commit comments