Привет всем, я пытаюсь получить API погоды от darksky. У меня есть класс погоды, и в его конструкторе я определил apikey, city (который я не использую сейчас), long и lat (для согласований).Я хочу получить геолокацию браузеров и передать их в переменные long и lat.При запуске я получаю сообщение об ошибке:
«Uncaught ReferenceError: long is notfined». Скажите, пожалуйста, в чем проблема?
class Weather {
constructor() {
this.apiKey = 'xxxx';
this.city = city;
this.long = long;
this.lat = lat;
}
//Fetch from API
async getWeather() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(position => {
clearTimeout(location_timeout);
this.long = position.coords.longitude;
this.lat = position.coords.latitude;
});
console.log(this.long, this.lat);
const response = await fetch(`https://api.darksky.net/forecast/${this.apiKey}/${this.lat},${this.long}`);
const responseData = await response.json();
return responseData.current_observation;
}
}
}
const weather = new Weather();
weather.getWeather()
.then(results => {
console.log(results);
})
.catch(err => console.log(err));