Muestra el tiempo en tu web

tiempoapigoogle

Gracias a la API de Google, podemos mostrar en nuestra página web el tiempo que hace en cualquier ciudad del mundo, incluyendo un icono con una imagen descriptiva, la temperatura (en grados centígrados o Fahrenheit) y un pequeño texto descriptivo, como se muestra en esta demo.

La instalación y configuración de este script se realiza de forma rápida y sencilla, ya que simplemente se debe configurar una única línea en todo el código, indicando el nombre de la ciudad sobre la cual se quiere ver el tiempo:

http://www.google.com/ig/api?weather=[city name]

Por ejemplo, si queremos ver el tiempo en Santiago de Compostela, este código quedaría así:

http://www.google.com/ig/api?weather=santiago de compostela

El resto del código, os lo dejo a continuación. Se puede retocar alguna cosilla más, dejando por ejemplo la temperatura del día de hoy en grados Centígrados en vez de grados Fahrenheit, y modificando el diseño al gusto de cada uno, integrándose perfectamente en el código de la página. Eso sí, el texto que aparece con la descripción del tiempo está en Inglés.

<?
$xml = simplexml_load_file('http://www.google.com/ig/api?weather=santiago de compostela');
$information = $xml->xpath("/xml_api_reply/weather/forecast_information");
$current = $xml->xpath("/xml_api_reply/weather/current_conditions");
$forecast_list = $xml->xpath("/xml_api_reply/weather/forecast_conditions");
?>
<html>
 <head>
 <title>Google Weather API</title>
 </head>
 <body>
 <h1><?= print $information[0]->city['data']; ?></h1>
 <h2>El tiempo de hoy</h2>
 <div>
 <img src="<?= 'http://www.google.com' . $current[0]->icon['data']?>" alt="tiempo"?>
 <span>
 <?= $current[0]->temp_c['data'] ?>&deg; C
 (<?= $current[0]->condition['data'] ?>)
 </span>
 </div>
 <h2>Previsi&oacute;n</h2>
 <? foreach ($forecast_list as $forecast) : ?>
 <div>
 <img src="<?= 'http://www.google.com' . $forecast->icon['data']?>" alt="weather"?>
 <div><?= $forecast->day_of_week['data']; ?></div>
 <span>
 <?= $forecast->low['data'] ?>&deg; F - <?= $forecast->high['data'] ?>&deg; F,
 <?= $forecast->condition['data'] ?>
 </span>
 </div>
 <? endforeach ?>
 </body>
</html>

Una respuesta para “Muestra el tiempo en tu web”

  1. Bitacoras.com  on Octubre 9th, 2009

    Información Bitacoras.com…

    Valora en Bitacoras.com: No hay resumen disponible para esta anotación…


Dejar un comentario

Debe registrarse para introducir un comentario.