Sistema de previsão do tempo em php
A alguns dias eu estava fazendo a área administrativa de um site, muito simples por sinal, e meio veio a mente que tipo de conteúdo eu poderia colocar que fosse útil ao meu cliente, e meu cliente é uma pessoa que praticamente passa o dia todo trabalhando na rua, sempre visitando seus clientes, então eu pensei: “poxa vou colocar o sistema de previsão do tempo do google”, e foi muito útil, fiz algumas pesquisas e encontrei uma forma bem bacana de fazer o sistema, vou passar para vocês agora.
O primeiro passo é ir até a url e colocar os seguintes comandos:
Base: http://www.google.com/ig/api?weather=cidade,estado,país&hl=idioma
Com parâmetros: http://www.google.com/ig/api?weather=Belo Horizonte,Minas Gerais,Brazil&hl=pt-br
Coloque a cidade e o estado com espaços, não tem problema, se for junto o Google não reconhece.
Imediatamente ele irá gerar um arquivo XML, copie todo o texto XML e cole no seu editor(notepad, notepad++, dreamweaver) e salve-o
como previsão.xml
Em seguida vamos criar um arquivo de classe, salve-o como previsão.class.php e coloque nele o seguinte código:
< ?php
// Localização
$cidade = 'Belo horizonte'; // Cidade
$estado = 'Minas Gerais'; // Estado (sem abreviação!)
$pais = 'Brazil'; // País (em inglês)
$idioma = 'pt-br'; // Idioma de resposta (pt-br)
// URL principal da API
$googleWeather = 'http://www.google.com/ig/api';
// Montamos a URL que será chamada
// Usamos a função urlencode() para substituir caracteres especiais
$apiUrl = $googleWeather . '?weather=' . urlencode($cidade) . ',' . urlencode($estado) . ',' . urlencode($pais) . '&hl=' . $idioma;
// Pegamos o resultado da API
$resultado = file_get_contents($apiUrl);
// Usamos o SimpleXML para pegar a resposta
// O SimpleXML precisa receber valores em UTF-8, então usamos o uft8_encode()
$xml = simplexml_load_string(utf8_encode($resultado));
// Separamos as informações encontradas
$info = $xml->xpath('/xml_api_reply/weather/forecast_information');
$atual = $xml->xpath('/xml_api_reply/weather/current_conditions');
$proximos = $xml->xpath('/xml_api_reply/weather/forecast_conditions');
?>
E por fim na pagina em que você deseja que apareça o sistema de previsão do tempo coloque o seguinte código:
Previsão do Tempo - < ?php echo date('d/m/Y', strtotime($info[0]->forecast_date['data'])); ?>
Cidade: < ?php echo $info[0]->city['data']; ?>
Previsão Atual
<'img src="http://www.google.com< ?php echo $atual[0]->icon['data']; ?>" alt="weather" '/> < ?php echo $atual[0]->temp_c['data']; ?>° C condition['data']; ?>Próximos dias
< ?php foreach ($proximos AS $item) { ?> <'img src="http://www.google.com< ?php echo $item->icon['data']; ?>" alt="weather" '/> < ?php echo $item->day_of_week['data'];?> < ?php echo $item->low['data']; ?>/high['data']; ?>° C < ?php echo $item->condition['data']; ?>
< ?php } ?>
Para publicar este codigo eu precisei fazer duas moficações, e quando vocês forem inserir no codigo de vocês fiquem atendos para:
1 - juntar o espaço existente entre a tag do php " < ?php "
2 - retirem a aspas simples que está na tag de imagem <'img src=...Espero que tenham gostado, boa sorte e até a próxima.
Comentários
Postar um comentário