Enriquecer los mashup de Google Maps con el API de Panoramio
Si tienes un mashup que utiliza Google Maps quizás te resulte interesante saber que con el API de Panoramio puedes añadirle imágenes para enriquecer esos mapas. Las fotos geolocalizadas de Panoramio pueden ser útiles para otros sitios web y, por ejemplo, ilustrar el vecindario de un inmueble, los alrededores de un hotel o casa rural, los puntos de interés de una ciudad, etc. Las posibilidades son infinitas y su implementación es muy simple.
El API de Panoramio es una simple api REST en la que hay que hacer un GET a:
http://www.panoramio.com/map/get_panoramas.php?order=popularity&set=public&from=0&to=20&minx=-180&miny=-90&maxx=180&maxy=90&size=medium
Con "order" las fotos pueden ordenarse por popularidad o fecha de subida, con "set" pueden escogerse todas las fotos subidas a Panoramio o solo las seleccionadas para Google Earth (fotos de lugares) y con "size" se puede escoger el tamaño de la imagen: original, medium (valor por defecto), small, thumbnail, square y mini_square. Los minx, miny, maxx, maxy definen el área donde mostrar las fotos (longitud mínima, latitud, longitud máxima y latitud, respectivamente).
Puedes definir el número de fotos que mostrar usando "from=X" y "to=Y", donde Y-X es el número de fotos incluidas. El valor 0 representa la última foto subida a Panoramio. Por ejemplo, "from=0 to=20" extraerá un grupo con las últimas 20 fotos subidas a Panoramio, "from=20 to=40" el grupo anterior de 20 fotos y así sucesivamente. El máximo número de fotos que puedes extraer en una petición es 100.
La información resultante está formateada usando JSON. Por ejemplo:
{
"count": 773840,"photos": [
{
"photo_id": 532693,
"photo_title": "Wheatfield in afternoon light",
"photo_url": "http://www.panoramio.com/photo/532693",
"photo_file_url": "http://static2.bareka.com/photos/medium/532693.jpg",
"longitude": 11.280727,
"latitude": 59.643198,
"width": 500,
"height": 333,
"upload_date": "22 January 2007",
"owner_id": 39160,
"owner_name": "Snemann",
"owner_url": "http://www.panoramio.com/user/39160",
},
{
"photo_id": 505229,
"photo_title": "Etangs près de Dijon",
"photo_url": "http://www.panoramio.com/photo/505229",
"photo_file_url": "http://static2.bareka.com/photos/medium/505229.jpg",
"longitude": 5.168552,
"latitude": 47.312642,
"width": 350,
"height": 500,
"upload_date": "20 January 2007",
"owner_id": 78506,
"owner_name": "Philippe Stoop",
"owner_url": "http://www.panoramio.com/user/78506"
}, ...
]
}
"count" es el número total de fotos disponible en el set de fotos de esa área. "Photos" es una matriz con las fotos pedidas. Las variables de cada "photo" deberían ser fáciles de interpretar, excepto quizás "owner_id" que indica el id del usuario que subió esa foto, por ejemplo, el 78506 indica que la página de ese usuario es http://www.panoramio.com/user/78506
Podeis ver ejemplos del uso del API, los requisitos y más información en la página del API de Panoramio.