response-native-maps: Как отслеживать местоположение пользователя при нажатии кнопки - PullRequest
2 голосов
/ 15 марта 2019

Я использую response-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 голосов
/ 15 марта 2019

Попробуйте обратный вызов 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}
          />
...