react-native-maps-osmdroid icon indicating copy to clipboard operation
react-native-maps-osmdroid copied to clipboard

CustomInfoWindow cannot be displayed on marker

Open ITxiefeng opened this issue 5 years ago • 0 comments

Is this a bug report?

On Android; CustomInfoWindow cannot be displayed on marker;

Have you read the Installation Instructions?

Yes

Environment

react-native: 0.61.5 react: 16.9.0

Steps to Reproduce

(Write your steps here:) I'm trying to put a Callout in Marker and it didn't work <GoogleMap.Marker key={item.deviceId} ref={ref => { this.marker1 = ref; }} onPress={() => this._showCallout()} provider={'osmdroid'} coordinate={item.coordinate} > <GoogleMap.Callout style={styles.customInfoWindow} tooltip={true} provider={'osmdroid'}> <View> <Text>This is a plain view</Text> </View> </GoogleMap.Callout> </GoogleMap.Marker>, image

Looking at logcat, I found an error 2020-06-01 20:51:21.789 4675-4675/com.militaryrnproject W/MessageQueue: Handler (com.facebook.react.bridge.queue.MessageQueueThreadHandler) {ccfc905} sending message to a Handler on a dead thread java.lang.IllegalStateException: Handler (com.facebook.react.bridge.queue.MessageQueueThreadHandler) {ccfc905} sending message to a Handler on a dead thread at android.os.MessageQueue.enqueueMessage(MessageQueue.java:549) at android.os.Handler.enqueueMessage(Handler.java:745) at android.os.Handler.sendMessageAtTime(Handler.java:697) at android.os.Handler.sendMessageDelayed(Handler.java:667) at android.os.Handler.post(Handler.java:395) at com.facebook.react.bridge.queue.MessageQueueThreadImpl.runOnQueue(MessageQueueThreadImpl.java:65) at com.facebook.react.bridge.ReactContext.runOnJSQueueThread(ReactContext.java:330) at com.airbnb.android.react.maps.osmdroid.OsmMapManager.invalidateNode(OsmMapManager.java:77) at com.airbnb.android.react.maps.osmdroid.OsmMapView.onViewAdded(OsmMapView.java:335) at android.view.ViewGroup.dispatchViewAdded(ViewGroup.java:4921) at android.view.ViewGroup.addViewInner(ViewGroup.java:5092) at android.view.ViewGroup.addView(ViewGroup.java:4869) at android.view.ViewGroup.addView(ViewGroup.java:4841) at org.osmdroid.views.overlay.infowindow.InfoWindow.open(InfoWindow.java:119) at org.osmdroid.views.overlay.Marker.showInfoWindow(Marker.java:308) at com.airbnb.android.react.maps.osmdroid.OsmMapView$8.onMarkerClick(OsmMapView.java:640) at org.osmdroid.views.overlay.Marker.onSingleTapConfirmed(Marker.java:388) at org.osmdroid.views.overlay.DefaultOverlayManager.onSingleTapConfirmed(DefaultOverlayManager.java:306) at org.osmdroid.views.MapView$MapViewDoubleClickListener.onSingleTapConfirmed(MapView.java:1603) at android.view.GestureDetector$GestureHandler.handleMessage(GestureDetector.java:300) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:201) at android.app.ActivityThread.main(ActivityThread.java:6823) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873) 2020-06-01 20:51:21.797 4675-4675/com.militaryrnproject W/unknown:ReactNative: Tried to enqueue runnable on already finished thread: 'js... dropping Runnable.

I don't know if it has anything to do with this mistake And then let me see CustomInfoWindow code

` private class CustomInfoWindow extends InfoWindow { public CustomInfoWindow(int resId, MapView mapView) { super(resId, mapView);

        this.mView.setOnTouchListener(OsmMapMarker.this.infoWindowTouched);
    }

    @Override
    public void onOpen(Object o) {
        closeAllInfoWindowsOn(this.getMapView());
    }

    @Override
    public void onClose() {
    }
}`

Wonder why onOpen() shut down all infowindow

Expected Behavior

(Write what you thought would happen.)

Actual Behavior

(Write what happened. Add screenshots!)

Reproducible Demo

(Paste the link to an example project and exact instructions to reproduce the issue.)

ITxiefeng avatar Jun 01 '20 13:06 ITxiefeng