无法使用反应本机地图中的函数 hideCallout

Cannot use the function hideCallout from react native maps

当我在我的应用程序上按下卡片的 X 按钮时,我目前正在尝试关闭我的标注。

我的代码是这样的。 ** 关卡功能**

  unsetCard = id => {
    this.setState({
      ...this.state,
      showCard: false,
    });

    this.markers.hideCallout();

    if (this.state.keyboard) {
      Keyboard.dismiss();
    }
  };

这是我的 ** 地图视图代码,我使用 RN 聚类 **

<MapView
            // 
            mapRef={ref => (this.myMapRef = ref)}
            //
            onPress={this.unsetCard}>
            {this.props.data.map(marker => (
              <Marker
                key={marker.id}
                ref={ref => (this.markers = ref)}
               //
               }>
                <Callout
                  //
                  }}>
                  <CustomCallout title={marker.t} />
                </Callout>
              </Marker>
            ))}
          </MapView>

终于在同一个文件的这个组件中调用了unset card的函数:

            <CustomCardWithImage
              close={() => this.unsetCard(this.state.cardInfo.id)}
            />

如果有人告诉我如何使用标记的引用,我将不胜感激,因为尽管我尝试了很多,但还是行不通。

提前致谢,

在认真考虑不再继续使用此应用程序后,我休息了一下并解决了问题。如果您有兴趣,可以通过以下方式使用显示或隐藏标注:

初始化标记

  constructor(props) {
    super();
    this.markers = [];
  }

创建标记参考

<Marker
  key={marker.id}
  ref={ref => {
  this.markers[marker.id] = ref;
}}>

需要的地方打电话

this.markers[id].hideCallout();

我希望有一天有人觉得它有用