问题描述
我有一个MapView
,其中我通过Marker
显示了多个位置,还有一个TouchableOpacity
的数组,它们的作用类似于按钮。
每次按下其中一个按钮时,都会将用户定向到地图上的特定标记。另外,对于每个Marker
,我都有一个带有自定义组件的标注,用于显示该位置的信息。
我的问题是,当我按下TouchableOpacity
时如何显示/隐藏标注?当我直接按标记时,将显示标注。这就是我要归档的内容。
我的地图代码如下:
<MapView.Animated
provider={PROVIDER_GOOGLE}
initialRegion={initialRegionMap}
style={StyleSheet.absoluteFillObject}
onPress={() => Keyboard.dismiss()}
showsUserLocation
region={region}
>
{
events.map((event,index) => (
<Marker
key={index.toString()}
coordinate={event.eventLocation}
pinColor={event.isPrivateEvent ? theme.colors.Gold : theme.colors.Red}
>
<Callout tooltip onPress={() => goToEvent(index,event.eventName,event)}>
<EventMapCard
eventNameText={event.eventName}
dateText={event.eventDayStart}
hourText={event.eventHourStart}
organizerNameText={event.organizerName}
organizerImageSource={event.organizerImg}
isPrivateEvent={event.isPrivateEvent}
imageSource={event.imageLink}
/>
</Callout>
</Marker>
))
}
</MapView.Animated>
按钮的代码像这样
<FlatList
data={events}
keyExtractor={(_,index) => index.toString()}
style={{ marginTop: 20,marginHorizontal: 15 }}
renderItem={({ item }) => (
<Block>
<EventCardSmall
eventNameText={item.eventName}
imageSource={item.imageLink}
dateText={item.eventDayStart}
hourText={item.eventHourStart}
organizerImageSource={item.organizerImg}
onPress={() => updateRegion(item.eventLocation)}
/>
</Block>
)}
/>
我尝试使用useState
来执行此操作,但是它根本不起作用。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)