получить текущее местоположение в первом запуске - PullRequest
0 голосов
/ 22 октября 2018

У меня есть приложение, которое использует службы определения местоположения, но когда я запрашиваю текущее местоположение и после разрешения пользователя, приложение не может найти местоположение.чтобы пользователь мог найти его местоположение, необходимо закрыть и заново открыть приложение, пока не будет найдено правильное положение.вот мой код:

componentWillMount() {
    this.getCurrentLocation();
}
getCurrentLocation = () => {
    const locationConfig = {
        timeout: 20000,
        maximumAge: 1000,
        enableHighAccuracy: false
    };
    navigator.geolocation.getCurrentPosition(
        this.iGetLocation,
        (error) => {
            console.log(error);
        },
        locationConfig
    );
};

1 Ответ

0 голосов
/ 22 октября 2018

Я думаю, что проблема в вашем обратном вызове позиции: this.iGetPosition.Попробуйте использовать функцию обратного вызова, как показано ниже.Это работает для меня (проверьте функцию getCurrentPosition):

 componentDidMount() {
        this.requestAccess();
 }
 requestAccess = async () => {
    try {
      const granted = await PermissionsAndroid.request(
        PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
        {
          'title': 'Location permission',
          'message': 'App needs access to your location ' +
                     'so we can show your location.'
        }
      )
      if (granted === PermissionsAndroid.RESULTS.GRANTED) {
        navigator.geolocation.getCurrentPosition(
          (position) => {
            this.setState({
              latitude: position.coords.latitude,
              longitude: position.coords.longitude,
              error: null,
            });
          },
          (error) => this.setState({ error: error.message }),
          { enableHighAccuracy: false, timeout: 20000, maximumAge: 1000 },
        );

      } else {
        console.log("Location permission denied")
      }
    } catch (err) {
      console.warn(err)
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...