gpt4 book ai didi

react-native - 如何访问 react-native-maps MapView 的所有 MapView.Markers?

转载 作者:行者123 更新时间:2023-12-04 04:35:57 26 4
gpt4 key购买 nike

在使用 react-native-maps 的 native 应用程序中,我试图以编程方式显示 MapView.Callout特定的 MapView.Marker在许多之中。我打算使用 showCallout 方法,但还没有找到如何访问 MapView 的所有标记,我可以从那里根据它的 id/key/ref 选择正确的标记。

标记在 map 循环中渲染到 MapView 上,如下所示。

到目前为止,我尝试使用 this.refs.mapView.refs/this.refs.mapView.children 来获取所有 MapView 的标记但没有成功,但我在那里什么也没得到。

<MapView>
ref={'mapView'}
...
>
{this.props.screenProps.appState.cachedDeviations.map(deviation => {
return (
<MapView.Marker
coordinate={
deviation.position
}
key={deviation.Id}
ref={deviation.Id}
>
<MapView.Callout style={styles.callout}>
<DeviationCallout
...
/>
</MapView.Callout>
</MapView.Marker>
)
})
}
</MapView>

任何提示?

最佳答案

您可以使用功能引用。

示例

<MapView.Marker
coordinate={ deviation.position }
key={deviation.Id}
ref={(ref) => this.markers[deviation.Id] = ref}
>
// ...
</<MapView.Marker>

// ...

this.markers[someId].showCallout();

关于react-native - 如何访问 react-native-maps MapView 的所有 MapView.Markers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47267197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com