Nov 29 2007

panoramio + json-php (PEAR)

Category: diariovivir, programaciónJosé @ 12:31 pm

panoramio nos ofrece la posibilidad de obtener las fotos geoposicionadas que los mismos usuarios posicionan en el mapa.
en la API de panoramio podemos encontrar la documentación para poder obtener estos datos.
como los datos que nos entregan están formateados usando JSON, podemos crear un pequeño script para poder desplegar esta información, para lo cual necesitamos JSON-PHP, una implementación de JSON en PHP.
para lograr esto podemos utilizar el siguiente script en php:

include("JSON.php"); //incluimos JSON
$json = new Services_JSON(); //creamos nueva instancia

$url = 'http://www.panoramio.com/map/get_panoramas.php?order=upload_date&set=full&size=small&from=0&to=3&minx=0&miny=-90&maxx=360&maxy=90';

$input = file_get_contents($url, 1000000); //obtenemos el resultado que nos devuelve $url
$value = $json->decode($input); //decodificamos usando JSON

$cnt = count($value->photos); // cuenta nro registros devueltos

for($x=0;$x<$cnt;$x++) {
$photo_id = $value->photos[$x]->photo_id;
$photo_title = $value->photos[$x]->photo_title;
$photo_url = $value->photos[$x]->photo_url;
$photo_file_url = $value->photos[$x]->photo_file_url;
$longitude = $value->photos[$x]->longitude;
$latitude = $value->photos[$x]->latitude;
$width = $value->photos[$x]->width;
$height = $value->photos[$x]->height;
$upload_date = $value->photos[$x]->upload_date;
$owner_id = $value->photos[$x]->owner_id;
$owner_name = $value->photos[$x]->owner_name;
$owner_url = $value->photos[$x]->owner_url;

echo $photo_url; //devuelve la url de la imagen
}

con esto ya tenemos los datos en nuestro script, ahora solo nos queda formatearlo para que se muestre de una manera presentable

lo quiero compartir:
  • del.icio.us
  • Meneame
  • StumbleUpon
  • BlogMemes Sp
  • Technorati
  • Digg
  • Facebook
  • YahooMyWeb

6 Responses to “panoramio + json-php (PEAR)”

  1. juani says:

    José, como puedo hacer para poner fotos (no sobre un mapa) en mi sitio de viajes? Por lo que entiendo de este script te imprime la url de la imagen. Puede ser o estoy muy errado?
    gracias

  2. José says:

    en el caso de querer imprimir la imagen solo tienes que imprimir la variable $photo_file_url

  3. juani says:

    Gracias José! lo voy a probar… :)
    saludos

  4. juani says:

    Jose, lo pude hacer a medias con $photo_file_url. Con esto solo me muestra una sola foto y yo en la url le paso de 0 a 10. Tenes idea de por que puede ser?
    Con 5 fotos que muestre me conformo….

  5. juani says:

    José, lo pude conseguir. Estaba cometiendo unos pequños errores por eso no me mostraba mas que una fotos.
    Saludos

  6. José says:

    excelente (:

Leave a Reply