GRAVITSAPA.INFO

Компьютеры, электроника, софт, авто, мото, вело, сайты, жизнь, советы :)

Ночной режим
GRAVITSAPA.info - интересный блог

Простое бесплатное API погоды

4996 просмотров Создание сайтов Нет комментов » 10 Янв 2017

Предлагаю простейший вариант подключения погоды на сайт в произвольном варианте по API.
Запрос данных выглядит следующим образом:
https://api.openweathermap.org/data/2.5/weather?q={city name}&units=metric&appid={API key}

Где:
{city name} — имя населённого пункта;
{API key} — ключ для подключения к API, который нужно получить в личном кабинете тут https://home.openweathermap.org/api_keys

В итоге получаем массив:
{"coord":{"lon":34.9833,"lat":48.45},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"base":"stations","main":{"temp":5,"feels_like":2.51,"temp_min":5,"temp_max":5,"pressure":1016,"humidity":87},"visibility":10000,"wind":{"speed":3,"deg":200},"clouds":{"all":0},"dt":1618610408,"sys":{"type":1,"id":8901,"country":"UA","sunrise":1618627550,"sunset":1618677179},"timezone":10800,"id":709930,"name":"Dnipro","cod":200}

Как вывести данные из этого массива на сайт по API?

Пишем простенький код, город указываем в конце ссылки запроса:

$url = "https://api.openweathermap.org/data/2.5/weather?q={city name}&appid={API key}" ;
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$json_output=curl_exec($ch);
$weather = json_decode($json_output);
foreach ($weather as $hyinya) {
$hyinya;
}

Затем выводим:

  • Облачность — $hyinya -> weather[description]
  • Текущая температура — $hyinya -> main[temp]
  • Скорость ветра — $hyinya -> wind[speed]
  • Влажность в % — $hyinya -> main[humidity]

Так же в результате запроса можно получить и другие данные. Более детальная документация тут https://openweathermap.org/api

Оставь свой коммент

Наверх