如何从React Native中的设置对象中获得有关click事件的单个数据

时间:2019-02-20 21:50:42

标签: javascript reactjs react-native

我已经尝试了一整天,但没有成功。一切正常,但是在地图上单击时我无法获得单个标记标题。单击每个标记时,我希望标记的标题显示在视图中,如下所示。

    constructor(props){
      this.state = {
      locObject: [],
      title: '',
    }      
    {this.state.LocObject.map((marker, index) => {

    return (
        <MapView.Marker
          key={index}
          coordinate={{
            latitude: parseFloat(marker.altitude),
            longitude: parseFloat(marker.longitude),
          }}
          onCalloutPress={() => console.log("It is working")}
          image={markerImage}>

        <MapView.Callout>
            <TouchableHighlight
              style={styles.calloutStyle}
              onPress={() => this.markerClickHandler}
              underlayColor="#000"
            >
              <View style={styles.calloutText}>

                <Text style={styles.style_marker_text}>
                  {marker.lokation}
                  {"\n"}
                  {marker.altitude}

                </Text>
              </View>
            </TouchableHighlight>
          </MapView.Callout>
        </MapView.Marker>
      );

    })
}

<Text>{this.state.title}</Text>

1 个答案:

答案 0 :(得分:0)

如果您只是想设置state.title,则可以执行以下操作:

onPress={() => {this.setState({title: marker.title})}

假设您要从marker对象上获取值的字段称为title