按下按钮时是否可以显示/隐藏标注?

问题描述

我有一个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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...