A openweathermap.org fornece uma API de dados meteorológicos de forma gratuita, sendo perfeita para rodar projetos básicos.
Inicialmente é necessário criar sua conta em https://openweathermap.org, assim recebe uma chave para realizar as consultas via API.
Vamos realizar uma simples consulta sobre temperatura e outros dados uma cidade
<?php $dados = file_get_contents('api.openweathermap.org/data/2.5/weather?q={sua_cidade}&appid={CHAVE_API}'); print_r($dados) ?>
Teremos como retorno dados em json, para facilitar a leitura utilize a formatação http://jsonviewer.stack.hu/
{ "coord": { "lon": -54.2, "lat": -31.8667 }, "weather": [ { "id": 802, "main": "Clouds", "description": "nuvens dispersas", "icon": "03d" } ], "base": "stations", "main": { "temp": -1.02, "feels_like": -3.63, "temp_min": -1.02, "temp_max": -1.02, "pressure": 1022, "humidity": 72, "sea_level": 1022, "grnd_level": 999 }, "visibility": 10000, "wind": { "speed": 1.99, "deg": 255, "gust": 2.24 }, "clouds": { "all": 29 }, "dt": 1622370699, "sys": { "type": 1, "id": 8312, "country": "UY", "sunrise": 1622370472, "sunset": 1622407274 }, "timezone": -10800, "id": 3443952, "name": "Acegua", "cod": 200 }
Agora vamos trabalhar com as informações:
<?php #coleta os dados da api $dados = file_get_contents('api.openweathermap.org/data/2.5/weather?q={sua_cidade}&appid={CHAVE_API}'); # o retorno e feito em json $dados = json_decode($dados, true); #agora podemos mostrar as infos. echo 'Temperatura: '.$dados['main']['temp']; echo 'Umidade: '.$dados['main']['humidity']; echo 'Velocidade do Vento'. $dados['wind']['speed']; ?>
Lembrando que no plano gratuito, voce terá um limite de consultas diárias, para evitar problemas podemos criar um cache com duração de 30 minutos ou 1 hora.
Comentários