diff --git a/android/src/main/java/com/mapbox/reactnativemapboxgl/ReactNativeMapboxGLManager.java b/android/src/main/java/com/mapbox/reactnativemapboxgl/ReactNativeMapboxGLManager.java index dc3d682..8866a44 100644 --- a/android/src/main/java/com/mapbox/reactnativemapboxgl/ReactNativeMapboxGLManager.java +++ b/android/src/main/java/com/mapbox/reactnativemapboxgl/ReactNativeMapboxGLManager.java @@ -14,6 +14,7 @@ import com.facebook.react.modules.core.RCTNativeAppEventEmitter; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.ThemedReactContext; import com.facebook.react.uimanager.SimpleViewManager; +import com.facebook.react.views.scroll.ScrollEventType; import com.mapbox.mapboxsdk.camera.CameraPosition; import com.mapbox.mapboxsdk.camera.CameraUpdate; import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; @@ -46,6 +47,8 @@ public class ReactNativeMapboxGLManager extends SimpleViewManager getExportedCustomDirectEventTypeConstants() { + return MapBuilder.builder() + .put("onRegionChange", MapBuilder.of("registrationName", "onRegionChange")) + .put("onRegionWillChange", MapBuilder.of("registrationName", "onRegionWillChange")) + .put("onOpenAnnotation", MapBuilder.of("registrationName", "onOpenAnnotation")) + .put("onRightAnnotationTapped", MapBuilder.of("registrationName", "onRightAnnotationTapped")) + .put("onChangeUserTrackingMode", MapBuilder.of("registrationName", "onChangeUserTrackingMode")) + .put("onUpdateUserLocation", MapBuilder.of("registrationName", "onUpdateUserLocation")) + .put("onLongPress", MapBuilder.of("registrationName", "onLongPress")) + .put("onTap", MapBuilder.of("registrationName", "onTap")) + .put("onFinishLoadingMap", MapBuilder.of("registrationName", "onFinishLoadingMap")) + .put("onStartLoadingMap", MapBuilder.of("registrationName", "onStartLoadingMap")) + .put("onLocateUserFailed", MapBuilder.of("registrationName", "onLocateUserFailed")) + .build(); + } + // Props @ReactProp(name = "initialZoomLevel") diff --git a/android/src/main/java/com/mapbox/reactnativemapboxgl/ReactNativeMapboxGLView.java b/android/src/main/java/com/mapbox/reactnativemapboxgl/ReactNativeMapboxGLView.java index 392498a..b14fea5 100644 --- a/android/src/main/java/com/mapbox/reactnativemapboxgl/ReactNativeMapboxGLView.java +++ b/android/src/main/java/com/mapbox/reactnativemapboxgl/ReactNativeMapboxGLView.java @@ -284,10 +284,9 @@ public class ReactNativeMapboxGLView extends RelativeLayout implements if (event == null) { event = Arguments.createMap(); } - event.putString("name", name); ((ReactContext)getContext()) .getJSModule(RCTEventEmitter.class) - .receiveEvent(getId(), "topChange", event); + .receiveEvent(getId(), name, event); } @Override diff --git a/index.js b/index.js index 56da01d..f2d8113 100644 --- a/index.js +++ b/index.js @@ -168,12 +168,6 @@ class MapView extends Component { MapboxGLManager.selectAnnotation(findNodeHandle(this), annotationId, animated); } - // Android event dispatch - _onChange = (event: Event) => { - const { name, src } = event.nativeEvent; - if (this.props[name]) { this.props[name](src); } - }; - // Events _onRegionChange = (event: Event) => { if (this.props.onRegionChange) this.props.onRegionChange(event.nativeEvent.src); @@ -349,7 +343,6 @@ class MapView extends Component {