Показать сообщение отдельно
  #1 (permalink)  
Старый 18.12.2022, 10:20
Новичок на форуме
Отправить личное сообщение для parshin Посмотреть профиль Найти все сообщения от parshin
 
Регистрация: 13.12.2022
Сообщений: 6

Погода от openweathermap
Добрый день
Есть код, показывающий текущую погоду от openweathermap
/* global axios, res */

function weather(){
    const sec = 1000;
    const min = 60 * sec;
    const hour = 60 * min;
    const delay = (0 * hour) + (1 * min) + (0 * sec);
    var d = new Date();
    var month_num = d.getMonth();
    var week_num = d.getDay();
    var day = d.getDate();
    var hours = d.getHours();
    var minutes = d.getMinutes();
    var seconds = d.getSeconds();
    month = new Array("января", "февраля", "марта", "апреля", "мая", "июня",
    		      "июля", "августа", "сентября", "октября", "ноября", "декабря");
    week = new Array("воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота");
    if (day <= 9) day = "0" + day;
    if (hours <= 9) hours = "0" + hours;
    if (minutes <= 9) minutes = "0" + minutes;
    if (seconds <= 9) seconds = "0" + seconds;
  
// API ключ
let apiKey = "45aef403d21cba00f8464647a9595250";
// Город погода которого нужна
let city = "Perm";
// Формируем url для GET запроса
let url = `http://api.openweathermap.org/data/2.5/weather?q=${city}&lang=ru&units=metric&appid=${apiKey}`;
// Отправка GET запроса
axios.get(url).then(res => {
   // Вывод города
   document.querySelector('.city').innerHTML = res.data.name;
   // Вывод температуры
   document.querySelector('.temp').innerHTML = res.data.main.temp;
   document.querySelector('.f_l').innerHTML = res.data.main.feels_like;
   // Вывод давления
   document.querySelector('.pressure').innerHTML = res.data.main.pressure * 0.750063755419211;
   // Вывод скорости ветра
   document.querySelector('.w_d').innerHTML = res.data.wind.deg;
   document.querySelector('.wind').innerHTML = res.data.wind.speed;
   // Вывод влажности
   document.querySelector('.humidity').innerHTML = res.data.main.humidity;
   // Вывод восхода и заката солнца
   document.querySelector('.sunrise').innerHTML = res.data.sys.sunrise;
   document.querySelector('.sunset').innerHTML = res.data.sys.sunset;
   document.querySelector('.set_rise').innerHTML = res.data.sys.sunset - res.data.sys.sunrise;
});
    
    date_time = '<div class="weather" style="text-align: center;height: 252px;width: 350px;border-style: outset; border-width: 5px; background-color:#000000;">' +
                '<table width="100%" height="100%" cellspasing="0" cellpadding="0">' +
                '<tr><td nowrap style="width: 350px;height: 252px;background-size: cover;background-image: url(../formula1/images/fon0.gif)">' +
                    '<font style="font-size: 18pt;text-align: center;font-weight: bold" color="#00FFFF">' +
                        '<p style="margin-bottom: 10px;margin-top: 2px"><span class="city"></span></p>' +
                    '</font>' +
                    '<p style="margin-bottom: 2px;margin-top: 2px;text-align: center"><font style="font-size: 14pt; color: #FFFFFF">' + week[week_num] + 
                    '<br>' + day + ' ' + month[month_num] + ' ' + d.getFullYear() + '</font>' +
                    '<font face="LcdD" style="font-size: 14pt;font-style: normal; color: #FFFFFF"> ' + hours + ':' + minutes + '</font></p>' +
                    '<font style="font-size: 13pt;font-weight: bold" color="#FFFFFF">' +
                    '<p style="margin-bottom: 2px;margin-top: 2px;margin-left: 10px;text-align: left">Погода: ' +
                    '<font color="#FFFF00"><span class="temp"></span>°C&nbsp;&nbsp;&nbsp;<font color="#FFFFFF"> По ощущению </font><span class="f_l"></span>°C</font></p>' +
                    '<p style="margin-bottom: 2px;margin-top: 2px;margin-left: 10px;text-align: left">Давление: <font color="#FFFF00"><span class="pressure"></span> мм рт. ст.</font></p>' +
                    '<p style="margin-bottom: 2px;margin-top: 2px;margin-left: 10px;text-align: left">Ветер: <font color="#FFFF00"><span class="w_d"></span>° <span class="wind"></span> м/с</font></p>' +
                    '<p style="margin-bottom: 2px;margin-top: 2px;margin-left: 10px;text-align: left">Влажность: <font color="#FFFF00"><span class="humidity"></span>%</font></p>' +
                    '<img src="../formula1/images/01d.png" width="48" height="48" alt="" align="left">' +
                    '<p style="margin-bottom: 2px;margin-top: 2px;margin-left: 10px;text-align: left">Рассвет: <font color="#FFFF00"><span class="sunrise"></span><font color="#FFFFFF">&nbsp;&nbsp;&nbsp;Долгота дня </font><span class="set_rise"></span></font></p>' +
                    '<p style="margin-bottom: 2px;margin-top: 2px;margin-left: 10px;text-align: left">Закат: <font color="#FFFF00"><span class="sunset"></span></font></p>' +
            '</font></td></tr></table></div>';
    if (document.layers) {
        document.layers.doc_time.document.write(date_time);
        document.layers.doc_time.document.close();
    }
    else document.getElementById("doc_time").innerHTML = date_time;
    setTimeout("weather()", delay);
}

Вопрос в том можно ли переделать так, чтобы данные присваивались переменным для их последующей обработки? Заранее благодарен.
Ответить с цитированием