Я хочу показывать погоду в зависимости от текущего местоположения пользователя при загрузке экрана. Я получаю текущее местоположение, я даже получаю информацию о погоде на основе этого, но проблема в том, что я не могу отобразить его на экране. Все испытания выполнены, но все напрасно
Ниже приведен фрагмент кода 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 () вне этого метода? Я хочу использовать значения долготы и широты вне метода