我使用"import MapboxGL,{MarkerView} from "@react-native-mapbox-gl/ maps“来映射地图。
return (
<MarkerView coordinate={coordinate} key={key} onPress= {()=>console.log("pressed")}>
<View style={{
height: 20,
width: 70,
backgroundColor: '#fff',
borderColor: '#fff',
borderWidth: 3
}}
>
<TouchableHighlight onPress= {()=>console.log("pressed")}>
<Text style={{color:"#000000"}} >{label}</Text>
</TouchableHighlight>
</View>
</MarkerView>
);
};On press event在这里不能使用标记视图。
发布于 2021-03-21 00:36:57
实际上,在MarkerView上不存在onPress属性请在此处检查
https://github.com/react-native-mapbox-gl/maps/blob/master/docs/MarkerView.md
使用MapboxGL.PointAnnotation代替MarkerView,在这里您可以使用它的onSelected函数,如下所示:
<MapboxGL.MapView
ref={(c) => (this._map = c)}>
<MapboxGL.PointAnnotation
onSelected={() => console.log("pressed")}
>
<Image source={require('./assets/marker.png')} />
</MapboxGL.PointAnnotation>
</MapboxGL.MapView>有关更多属性要求,请查看:
https://github.com/react-native-mapbox-gl/maps/blob/master/docs/PointAnnotation.md
https://stackoverflow.com/questions/66718047
复制相似问题