我正在使用react-native-maps模块。我给出了lat and long值,我在单击标记时使用了mapview.marker显示标记和工具提示。
,但是,现在我想在地图最初加载时单击标记显示工具提示。
。这是我的代码:
<View style={styles.page}>
<MapView
ref="map"
style={styles.map}
region={this.state.region}
provider = {PROVIDER_DEFAULT}
zoomEnabled={true}
onRegionChange={this.onRegionChange.bind(this)}
pitchEnabled={true}
showsCompass={true}
liteMode={false}
showsBuildings={true}
showsTraffic={true}
showsIndoors={true}
>
<MapView.Marker
coordinate={this.state.marker.latlng}
title={this.state.marker.title}
description={this.state.marker.description}
image={require('./assets/pin.png')}
/>
</MapView>
</View>
任何人都可以帮助如何解决这个问题...
我在MapView的任何类型的Onload Prop上找不到任何文档,因此我如下所建议的是使用OnLayout。您将需要使用ShowCallout方法作为标记显示该工具提示。为此,请为标记添加参考,然后您可以在MapView中使用该标记。
<View style={styles.page}>
<MapView
ref="map"
style={styles.map}
region={this.state.region}
provider = {PROVIDER_DEFAULT}
zoomEnabled={true}
onRegionChange={this.onRegionChange.bind(this)}
pitchEnabled={true}
showsCompass={true}
liteMode={false}
showsBuildings={true}
showsTraffic={true}
showsIndoors={true}
onLayout={() => { this.mark.showCallout(); }}
>
<MapView.Marker
ref={ref => { this.mark = ref; }}
coordinate={this.state.marker.latlng}
title={this.state.marker.title}
description={this.state.marker.description}
image={require('./assets/pin.png')}
/>
</MapView>
</View>
好吧,对我有用的是在该特定标记上使用ref
const ointaintmarker = useref(null);
然后在组件安装座上:启动marker?.current?.showcallout();