Muestra el tiempo en tu web
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'] ?>° C
(<?= $current[0]->condition['data'] ?>)
</span>
</div>
<h2>Previsió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'] ?>° F - <?= $forecast->high['data'] ?>° F,
<?= $forecast->condition['data'] ?>
</span>
</div>
<? endforeach ?>
</body>
</html>


Bitacoras.com on Octubre 9th, 2009
Información Bitacoras.com…
Valora en Bitacoras.com: No hay resumen disponible para esta anotación…