Можем ли мы получить доступ к значениям широты и долготы из getCurrentPosition () в Reactjs - PullRequest
0 голосов
/ 23 октября 2019

Я хочу показывать погоду в зависимости от текущего местоположения пользователя при загрузке экрана. Я получаю текущее местоположение, я даже получаю информацию о погоде на основе этого, но проблема в том, что я не могу отобразить его на экране. Все испытания выполнены, но все напрасно

Ниже приведен фрагмент кода App.js в componentDidMount ()

componentDidMount = async () => {
        navigator.geolocation.getCurrentPosition((position) => {
        const lat = position.coords.latitude.toFixed(3);
        const lon = position.coords.longitude.toFixed(3);
        console.log('Lat', lat)
        console.log('Lon', lon)
        this.fetchWeather(position.coords.latitude,
        position.coords.longitude);
      },
      (error) => {
      alert(JSON.stringify(error))},
      {
        enabledHighAccuracy: true,
        timeout: 50000,
        maximumAge: 1000
      })

}

За пределами componentDidMount ()

fetchWeather = async (lat, lon) => {
    const weather = await fetch(`${api}lat=${lat}&lon=${lon}&key=${API_KEY3}`);
    const result = await weather.json();
      this.setState({
        city: result.data[0].city_name,
        country: result.data[0].country_code,
        humidity: result.data[0].rh,
        temperature: result.data[0].temp,
        wind: result.data[0].wind_spd,
        humidity: result.data[0].rh,
        description: result.data[0].weather.description, 
      });
      console.log('DATA', this.state)
    }

В «ДАННЫХ» я получаю итоговые данные, но не могу отобразить их на экране

Как получить значения широты и долготы из getCurrentPosition () вне этого метода? Я хочу использовать значения долготы и широты вне метода

...