react-native-maps:如何在按下按钮时跟踪用户位置

时间:2019-03-15 04:26:26

标签: javascript react-native react-native-maps

我正在使用react-native-maps,效果很好。但是我有两个问题。

  1. 我可以使用followsUserLocation自动跟踪用户位置,但是当我移动地图时,它一直将我拖回到用户位置。我该如何解决?

  2. 我想要一个刷新按钮,当用户按下该按钮时,我希望我的地图视图跟随用户的位置。

    constructor() {
        super();
        this.state = {
            followsUserLocation: true,
        };
    }
    
    
    mapView() {
        return(
            <MapView style={styles.map}
            showsUserLocation
            followsUserLocation={this.state.followsUserLocation}
            initialRegion={{
            latitude: 37.523814,
            longitude:  126.927494,
            latitudeDelta: 0.0922,
            longitudeDelta: 0.0421}}/>
       )
    }
    

任何评论或建议将不胜感激!预先感谢!

1 个答案:

答案 0 :(得分:0)

尝试onUserLocationChange回调并使用setState相应地设置您的区域

   state = {
    showsUserLocation: true,
    followsUserLocation : true,
    mapRegion: {
      latitude: 37.78825,
      longitude: -122.4324,
      latitudeDelta: 0.0922,
      longitudeDelta: 0.0421,
    },
  };

    <MapView
            style={{ flex: 1 }}
            region={this.state.mapRegion}
            //use this callback to update the regions
            onUserLocationChange={event => console.log(event.nativeEvent)}
            showsUserLocation={this.state.showsUserLocation}
            followsUserLocation={this.state.followsUserLocation}
          />