Автоматическое получение текущего местоположения в Reactnative

У меня есть этот метод для получения текущего местоположения, нажав кнопку, он получит текущее местоположение. Я хочу получить местоположение, не нажимая эту кнопку.

getLocationHandler = () =>{
   navigator.geolocation.getCurrentPosition(pos =>{

    const coordsEvent  = { 
      nativeEvent :{
        coordinate : {
          latitude : pos.coords.latitude,
          longitude : pos.coords.longitude
        }
      }
    };
this.pickLocationHandler(coordsEvent);

   },
   err => {
     console.info(err);
     alert("Fetching the position failed,Please pick one manually")
   })
 }

Вы хотите получать местоположение на периодической основе? После определенного события?

R.Duteil 09.10.2018 09:16

Я хочу отображать текущее местоположение при открытии экрана карты

Aditya 09.10.2018 09:20
Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
0
2
5 486
1

Ответы 1

Вам нужно сохранить местоположение в состоянии и запрашивать его при монтировании вашего компонента. С react-native-maps получение местоположения является асинхронной задачей, поэтому вам понадобится такое решение:

constructor(props){
    super(props);
    state = {
        myLocation: null
    };
}

componentDidMount = () => {
    this.getMyLocation();
};

getMyLocation = async () => {
    let { status } = await Permissions.askAsync(Permissions.LOCATION);
    if (status !== 'granted') {
        this.setState({
            myLocation: 'Permission denied',
        });
    }
    let location = await Location.getCurrentPositionAsync({});
    this.setState({
        myLocation: JSON.stringify(location)
    });
};

Ооооооо или вы могли бы погуглить

react-native-maps get current location

И обнаружил эту проблему github: https://github.com/react-community/react-native-maps/issues/1183

Между прочим, кредиты на ответ на вопрос github. Ура, Вивекбурада!

Другие вопросы по теме