qiuxiang / react-native-amap3d

react-native 高德地图组件,使用最新 3D SDK,支持 Android + iOS
https://qiuxiang.github.io/react-native-amap3d/api/
MIT License
1.28k stars 327 forks source link

安卓 - 当我点在地图上的地点名字或图标上时,无法触发 MapView 的 onPress 事件 #735

Closed XuanChuYun closed 2 years ago

XuanChuYun commented 2 years ago

“react-amap3”:“^3.native-7”, “ react”:“0.67, android

只有点在空白地方才会触发 onPress 事件

        <MapView
            ref={(ref: MapView) => (mapView = ref)}
            mapType={mapType ? MapType.Satellite : MapType.Standard}
            initialCameraPosition={{
                target: {
                    latitude: Number(longAndLat.lat) || 22.574216,
                    longitude: Number(longAndLat.long) || 113.921945,
                },
                zoom,
            }}
            buildingsEnabled={true}
            scaleControlsEnabled={false}
            zoomControlsEnabled={false}
            onPress={({nativeEvent}) => {
                console.log("你好, 我是 nativeEvent:", nativeEvent)
                setMarkers([nativeEvent])
                props.onHandler && props.onHandler(nativeEvent)
            }}
        >
            {markers.map((position) => {
                return (
                    <Marker
                        key={`${Number(position.latitude)},${Number(position.longitude)}`}
                        position={position}
                        icon={require("../../../assets/images/plant/map_position_icon.png")}
                    />
                )
            })}
        </MapView>
XuanChuYun commented 2 years ago

已解决,使用 onPressPoi={({nativeEvent}) => { // console.log(nativeEvent) console.log("你好, 我是 position:", nativeEvent.position) setMarkers([nativeEvent.position]) props.onHandler && props.onHandler(nativeEvent.position) }}