Geolocalizacion para Falbum 0.7
martes, 18 de noviembre de 2008Desde que moví todo el contenido de Cuaderno de Campo para colgarlo en mi propio servidor de casa ando optimizando el rendimiento del propio blog y de las páginas que le acompañan, de manera que se acelere el tráfico, el tiempo de respuesta, se reduzca la carga del servidor, etc…
Al mismo tiempo he ido incorporando funcionalidades nuevas, como el nuevo formulario que incluye búsquedas en los apuntes, fotografías y vídeos ó esta que paso a comentar que incorpora al plugins de Falbum 0.7 la geolocalización de las fotografías.
Esta información geográfica es suministrada desde la API de Flickr, por lo que el plugins Falbum ya la recogía cada vez que solicita información sobre una foto en cuestión, pero por motivos que desconozco no se incorporaba al array de datos con los que se construye la página. Para hacer esto y poder tener acceso a estos datos he añadido en el script Falbum.class.php las siguientes líneas:(incorpora estas lineas de código dentro de la función show_photo, por ejemplo a la altura de la linea 835) // geoLocalización
// extras incorporados por Trebol-a
$salida = $this->_call_flickr_php('flickr.photos.geo.getLocation', array ('photo_id' => $photo));
if (isset ($salida)) {
$geodata['latitud']=$salida['photo']['location']['latitude'];
$geodata['longitud']=$salida['photo']['location']['longitude'];
$geodata['localizacion']="Nombre de localización desconocido";
if ( isset($salida['photo']['location']['county']) )
$geodata['localizacion']="".$salida['photo']['location']['county']['_content']." (".$salida['photo']['location']['region']['_content'].")";
if ( isset($salida['photo']['location']['locality']) )
$geodata['localizacion']="".$salida['photo']['location']['locality']['_content']." (".$salida['photo']['location']['county']['_content'].")";
$this->template->set('geotag', $geodata);
Con esto, desde la pantilla de fotografía puedes inserta los geodatos de la fotografía haciendo <?php echo $geodata['latitud'].", ".$geodata['longitud']. ", en ".$geodata['localizacion']."."; ?>
La información referencia al nombre de la localización es dada por Flickr y dependiendo del nivel de precisión de su mapa mostrará algo como Barrio de la Concepción (Cartagena) ó Cartagena (Murcia).
Podeis ver un ejemplo de este uso en cualquiera de las fotografías de la sección de Fotografía, consultando la localización de cada una de las fotografías en GoogleMaps ó abriendo el archivo KML de cada fotografía en GoogleEarth.
14 de December, 2024 @ 20:11