React native 如何通过本地映射创建一个标记?

React native 如何通过本地映射创建一个标记?,react-native,react-native-maps,React Native,React Native Maps,我们可以通过创建多个标记,但我只需要一个标记。我需要删除之前的标记,并创建新的标记。我该怎么做 我认为其他例子与我的想法并不接近,所以如果你有更好的想法,请告诉我 let id = 0; constructor(props){ super(props); this.state={ markers: [], } } onMapPress(e) { this.setState({ markers: [ ...th

我们可以通过创建多个标记,但我只需要一个标记。我需要删除之前的标记,并创建新的标记。我该怎么做

我认为其他例子与我的想法并不接近,所以如果你有更好的想法,请告诉我

let id = 0;


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


onMapPress(e) {
    this.setState({
      markers: [
        ...this.state.markers,
        {
          coordinate: e.nativeEvent.coordinate,
          key: id++,
        },
      ],
    });
  }


  <MapView
     style={styles.map}
     initialRegion={{
        latitude: 28.95761453,
        longitude: 50.83710976,
        latitudeDelta: 0.0200,
        longitudeDelta: 0.0200,
     }}
     provider={this.props.provider}
     onPress={(e) => this.onMapPress(e)}>

              {this.state.markers.map(marker => (
                <Marker
                  key={marker.key}
                  coordinate={marker.coordinate}
                />
              ))}

   </MapView>
只需从onMapPress方法中删除…this.state.markers一行并检查输出。如果有任何错误,请告诉我

onMapPress(e) {
    this.setState({
      markers: [ 
        {
          coordinate: e.nativeEvent.coordinate,
          key: id++,
        },
      ],
    });
  }

非常感谢。现在,如何在consol.log上打印最新的纬度和经度?首先,尝试打印console.logJson.stringifythis.state.markers[0]。坐标,坐标对象可能包含纬度和经度。如果它包含,则尝试使用大写JSON命令console.logJson.stringifythis.state.markers[0].coordinate.latitude和console.logJson.stringifythis.state.markers[0].coordinate.longitudiory。console.logJSON.stringifythis.state.markers[0].coordinate.latitDegreat@阿利雷扎:还有一个问题。。我有一个按钮和一个功能。在函数中,我使用此代码在控制台中显示纬度。现在,当我按下按钮时,在控制台中不会发生,但第二次按下时,我可以在控制台中看到纬度。你能帮我吗?