Classe PHP para acesso ao API de Google Weather

Classe PHP 5, de programação orientada a objetos, que nos permite colocar o API Google Weather em nossa web para mostrar informação do tempo de uma determinada cidade.

Por Sara Alvarez Langa - Tradução de Celeste Veiga


Publicado em: 30/11/11
Valorize este artigo:
Vamos começar vendo as principais características desta classe. Começaremos dizendo que se trata de uma classe construída em PHP 5. Mostra a informação do tempo de uma cidade que capta de Google e a retorna em um arquivo XML que você pode utilizar em sua página HTML.

Esta classe te pode mostrar a temperatura, a umidade e o vento de uma determinada cidade para o dia atual e para os próximos dias.

Uma vez que sabemos exatamente o que faz esta classe, vamos ver como aplicá-la a nossa web.

Para tanto o primeiro que temos que fazer é baixar a classe de PHPClasses. Uma vez que tenhamos baixado o arquivo .php e o .css, assim como as duas imagens que há, podemos começar a ver como implementá-lo em nossa web.

O primeiro que vamos fazer é subir tais arquivos para nossa web. Uma vez subidos começamos a criar nosso arquivo de exemplo.

1. Edição do arquivo class.google.weather.php
Temos que editar este arquivo para adaptá-lo a nossas necessidades. Se vocês observarem o código vemos que há um array com as cidades que vamos poder selecionar para ver seu tempo. Pois bem, temos que editar este array e colocar as cidades que queremos mostrar. Uma vez editado este código ficaria algo assim:

....

class googleWeather{
   var $cities = array("Madrid", "Cordoba", "Sevilla", "Barcelona", "Toledo", "Tenerife");

   var $xml;
   var $selectedCity;
....

Agora passamos a criar nosso arquivo principal.

2.- Criação de um arquivo .php
Nesse arquivo o primeiro que fazemos é colocar um link para a folha de estilos e um include para o arquivo que contém a classe weather.

<link rel="stylesheet" href="style.css" type="text/css" media="screen" />
<?php
include("class.google.weather.php");

Uma vez que tenhamos isto continuamos inicializando a classe e selecionando a cidade por padrão que queremos que apareça.

$selectedCity = (isset($_POST["city"]) && $_POST["city"] != "")?$_POST["city"]:"Madrid";

$googleWeather = new googleweather($selectedCity);
?>

Agora já só nos falta mostrar o quadro com a previsão do tempo obtida. Para isso vamos criar um formulário com um campo select para poder ver os tempos das diferentes cidades introduzidas no array, e para finalizar mostramos o tempo da cidade selecionada, mediante as funções getWeatherInfo() e display_weather().
O código completo desta parte seria o seguinte:

<form method="post" name="weather">
<select name="city" onChange="weather.submit();">
<?php
foreach($googleWeather->cities as $city){
?>
<option value="<?php echo $city;?>" <?php echo ($selectedCity == $city)?"selected":"";?>><?php echo $city;?></option>
<?php
}
?>
</select>
</form>

<?php
$googleWeather->getWeatherInfo();
$googleWeather->display_weather();
?>

Nota: Se você está familiarizado com o uso de APIs talvez tenha achado estranho que o API de Google Weather não solicite nenhuma chave nem nenhum dado para identificar quem está solicitando o acesso às funcionalidades do API. Isto para Google Weather não é necessário, ou seja, somente temos que indicar o array com as cidades das que desejamos ter a informação meteorológica.

Com isto teríamos nossa classe funcionando. Para que fique mais claro passo a colocar o código completo do arquivo principal.

<link rel="stylesheet" href="style.css" type="text/css" media="screen" />
<?php
include("class.google.weather.php");
$selectedCity = (isset($_POST["city"]) && $_POST["city"] != "")?$_POST["city"]:"Madrid";

$googleWeather = new googleweather($selectedCity);
?>


<form method="post" name="weather">
<select name="city" onChange="weather.submit();">
<?php
foreach($googleWeather->cities as $city){
?>
<option value="<?php echo $city;?>" <?php echo ($selectedCity == $city)?"selected":"";?>><?php echo $city;?></option>
<?php
}
?>
</select>
</form>

<?php
$googleWeather->getWeatherInfo();
$googleWeather->display_weather();
?>





Comentários do artigo
Foi enviado 1 comentário ao artigo
1 comentário não revisado
0 comentários revisados

Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato