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

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

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

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

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

1 Ответ

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

Вам нужно сохранить местоположение в состоянии и запрашивать его, когда ваш компонент смонтирован.С 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)
    });
};

ОооооооооооооооооооооооооооооооооооооооооооооооооооооооТан был бы

реагировать-нативные картыполучить текущее местоположение

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

Кредиты к ответу на вопрос GitHub кстати.Ура Вивекбурада!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...