反应本性:如何通过单击反应本地映射的标记来显示工具提示



我正在使用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();

相关内容

  • 没有找到相关文章

最新更新