Skip to content

Commit c49635b

Browse files
committed
android, mapbox-gl,maplibre: Fix receiveCommand for setCommandHandler
1 parent 5ec2301 commit c49635b

File tree

2 files changed

+13
-15
lines changed

2 files changed

+13
-15
lines changed

android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/mapview/RCTMGLMapView.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -752,11 +752,7 @@ public void onDidFinishRenderingMap(boolean fully) {
752752
Integer methodID = preRenderMethod.first;
753753
ReadableArray args = preRenderMethod.second;
754754

755-
try {
756-
mManager.receiveCommand(this, methodID, args);
757-
} catch (Exception ex) {
758-
Logger.e(LOG_TAG, String.format("Could not execute pre-render method %s: %s", methodID, ex.getMessage()));
759-
}
755+
mManager.receiveCommand(this, methodID, args);
760756
}
761757
mPreRenderMethods.clear();
762758
handleMapChangedEvent(EventTypes.DID_FINISH_RENDERING_MAP_FULLY);

android/rctmgl/src/main/java-mapboxgl/common/com/mapbox/rctmgl/components/mapview/RCTMGLMapViewManager.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,7 @@ public Map<String, Integer> getCommandsMap() {
246246

247247
@Override
248248
public void receiveCommand(RCTMGLMapView mapView, int commandID, @Nullable ReadableArray args) {
249+
String callbackID = args.getString(0);
249250
// allows method calls to work with componentDidMount
250251
MapboxMap mapboxMap = mapView.getMapboxMap();
251252
if (mapboxMap == null) {
@@ -256,41 +257,42 @@ public void receiveCommand(RCTMGLMapView mapView, int commandID, @Nullable Reada
256257
switch (commandID) {
257258
case METHOD_QUERY_FEATURES_POINT:
258259
mapView.queryRenderedFeaturesAtPoint(
259-
args.getString(0),
260+
callbackID,
260261
ConvertUtils.toPointF(args.getArray(1)),
261262
ExpressionParser.from(args.getArray(2)),
262263
ConvertUtils.toStringList(args.getArray(3)));
263264
break;
264265
case METHOD_QUERY_FEATURES_RECT:
265266
mapView.queryRenderedFeaturesInRect(
266-
args.getString(0),
267+
callbackID,
267268
ConvertUtils.toRectF(args.getArray(1)),
268269
ExpressionParser.from(args.getArray(2)),
269270
ConvertUtils.toStringList(args.getArray(3)));
270271
break;
271272
case METHOD_VISIBLE_BOUNDS:
272-
mapView.getVisibleBounds(args.getString(0));
273+
mapView.getVisibleBounds(callbackID);
273274
break;
274275
case METHOD_GET_POINT_IN_VIEW:
275-
mapView.getPointInView(args.getString(0), GeoJSONUtils.toLatLng(args.getArray(1)));
276+
mapView.getPointInView(callbackID, GeoJSONUtils.toLatLng(args.getArray(1)));
276277
break;
277278
case METHOD_GET_COORDINATE_FROM_VIEW:
278-
mapView.getCoordinateFromView(args.getString(0), ConvertUtils.toPointF(args.getArray(1)));
279+
mapView.getCoordinateFromView(callbackID, ConvertUtils.toPointF(args.getArray(1)));
279280
break;
280281
case METHOD_TAKE_SNAP:
281-
mapView.takeSnap(args.getString(0), args.getBoolean(1));
282+
mapView.takeSnap(callbackID, args.getBoolean(1));
282283
break;
283284
case METHOD_GET_ZOOM:
284-
mapView.getZoom(args.getString(0));
285+
mapView.getZoom(callbackID);
285286
break;
286287
case METHOD_GET_CENTER:
287-
mapView.getCenter(args.getString(0));
288+
mapView.getCenter(callbackID);
288289
break;
289290
case METHOD_SET_HANDLED_MAP_EVENTS:
290291
if(args != null) {
292+
ReadableArray events = args.getArray(1);
291293
ArrayList<String> eventsArray = new ArrayList<>();
292-
for (int i = 1; i < args.size(); i++) {
293-
eventsArray.add(args.getString(i));
294+
for (int i = 0; i < events.size(); i++) {
295+
eventsArray.add(events.getString(i));
294296
}
295297
mapView.setHandledMapChangedEvents(eventsArray);
296298
}

0 commit comments

Comments
 (0)