我目前正在使用airbnb地图模块开发一个本机应用程序。
我的地图包含多个标记,我可以点击这些标记来打开MapView
组件。它包含标题和描述。
我想为此MapView
添加一个按钮,但是the solution that I found无效。我是这样定制的(这是我的googlemap组件中的return
部分:
return(
<View style={styles.container}>
<MapView
style={styles.map}
provider={PROVIDER_GOOGLE}
customMapStyle={mapStyle}
initialRegion={{
latitude: 48.852968,
longitude: 2.349902,
latitudeDelta: 0.1,
longitudeDelta: 0.1
}}
>
<MapView.Marker
coordinate={{
latitude: 48.852968,
longitude: 2.349902
}}
title={ 'myTitle' }
description={ 'myDescription' }
pinColor={ 'blue' }
onCalloutPress={() => alert('Clicked')}
>
<MapView.Callout>
<View>
<Text>Click Me!</Text>
</View>
</MapView.Callout>
</MapView.Marker>
</MapView>
</View>
);
我想要的:
1-在地图上显示我的蓝色标记(使用lat和lng)
2-单击标记
3-有一个标题,说明和&#39;点击我!&#39;按键
4-点击&#39;点击&#39;作为console.log
反而会发生什么: 1-在地图上显示我的蓝色标记(使用lat和lng) 2-单击标记 3-有一点点弹出&#39;点击我!&#39;按钮(更多作为蓝色链接,但我不知道它应该如何呈现) 4-没有&#39;点击&#39;在我的控制台中
此功能是否已被弃用?或者我做错了什么?我按照解决方案和文档,但也许我错过了一些东西。
答案 0 :(得分:0)
从按钮中删除onPress并将其添加到标记中(请参阅pincolor后),再次尝试点击该按钮。
<MapView.Marker
coordinate={{
latitude: myLat,
longitude: myLng
}}
title={ 'myTitle' }
description={ 'myDescription' }
pinColor={ 'blue' }
onCalloutPress={() => alert('Clicked')}
>
<MapView.Callout>
<View>
<Text>Click Me!</Text>
</View>
</MapView.Callout>
</MapView.Marker>
这对我有用。希望这对你也有帮助:))
答案 1 :(得分:0)
将 zIndex 应用到您将在地图视图中显示的按钮