API de google maps
GOOGLE MAPS
Ejemplos de aplicaciones que usan google maps
En la web www.programmableweb.com podemos encontrar varios ejemplos de "mashups" hechos con google maps. Probablemente la API mas usada en este tipo de apliaciones (con un 36% segun ésta web).
http://www.programmableweb.com/api/GoogleMaps/mashups
-Run London (nike)
rutas para ir corriendo (footing) en londres. Se puede grabar un recorrido.
http://www.runlondon.com/routefinder/RouteFinder.aspx?sectionid=find
-knowcal.Localizador de sitios en UK
http://www.knowcal.co.uk/
(con el skype para poder llamar)
-geoviviendas. Buscador de viviendas en España.
http://www.geoviviendas.com/
-celebrity maps
http://www.celebrity-maps.com/index.php
Conceptos básicos de posicionamiento geográfico.
-Para definir un punto en el mundo necesitamos dos coordenadas, la longitud (distancia al ecuador) y la longitud (distancia al meridiano de greenwich). Estos dos datos nos dan la posición exacta de un punto cualquiera en el mundo. Estas son las coordenadas que podemos conseguir por ejemplo de un GPS.
-Un geocoder es un servicio que nos permite conseguir la posición geográfica a partir de una dirección postal. Por ejemplo en la ciudad de barcelona, a partir de la dirección:
la rambla 51, barcelona
obtendriamos la posición:
41.380351,2.174006 (latitud y longitud)
El servicio de geocoding está integrado dentro de la API de google maps
http://www.google.com/apis/maps/documentation/#Geocoding_Examples
También podemos eencontrar servicios alternativos como por ejemplo:
http://www.geonames.org/
En geonames tenemos también una API donde podemos solicitar coordenadas a partir de la dirección, por ejemplo:
http://ws.geonames.org/postalCodeSearch?postalcode=08100,%20spain&maxRows=10
En este caso de momento ni siquiera necesitamos una clave para acceder, aunque la fiabilidad del servicio es bastante deficiente de momento.
Otras sistemas de geocoding:
http://emad.fano.us/blog/?p=277
http://www.localsearchmaps.com/geo/?loc=tour+eiffel,paris
-Puede ser que necesitemos hacer exactamente lo contrario, es decir que a partir de una posición geográfica necesitemos saber la dirección. Esto se denomina; "inverse geocoding".
Naturalmente este serveicio solo es posible dentro de entornos urbanos.. en medio del campo no tiene mucho sentido, o por lo menos es mas aproximado.
mas información sobre sistemas de posición geográfica en:
http://en.wikipedia.org/wiki/Geographic_information_system
Como se integra google maps en nuestra web?
Para usar los mapas debemos como siempre solicitar una clave (key) en la web de google maps. Esto es un paso fácil y rápido de hacer:
http://www.google.com/apis/maps/
Solo hay una restricción, podremos usar la API solo en una URL determinada.
En nustro caso he solicitado una llave para la dirección local 127.0.0.1 que es la siguiente:
ABQIAAAAYKIXCcKRJ2nmDRW35jFP-RRi_j0U6kJrkFvY4-OX2XYmEAa76BTD19-cwHNw4fF_BuTiXZI1N5CYKw
Una vez tenemos la clave podemos empezar a usar los mapas.
La API de google maps funciona en Javascript. En los siguientes apartados vamos a ver como se integra en nuestra página.
Intrucciones básicas de la API
En la siguiente dirección podemos encontrar la documentación sobre la API:
http://www.google.com/apis/maps/documentation/
Ejercicio. Construir una página con google maps en javascript
Descargar todos los archivos del ejercicio
(1) Mostrar el mapa centrado en un punto, con un nivel determinado de "zoom":
//el programa en realidad consiste en solo dos lineas:
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
atención: escribir en el navegador la dirección 127.0.0.1 si ponemos "localhost" nos mostrará un mensaje de "clave invalida".
http://127.0.0.1/maps_1.htm
A partir de este primer ejemplo cambiar las coordenadas del punto y el nivel de zoom y ver que ocurre.
Por ejemplo cambiar el nivel de zoom de 13 a 20. HAy que tener en cuenta que el nivel de zoom es un valor logarítmico, es decir un nivel de zoom de 3 es 10 veces mayor que un nivel 2, etc...
(2) Usar la libreria Phoogle.php para crear el javascript automáticamente
Existe una libreria que permite crear los mapas programando en PHP en lugar de javascript, lo que muchas veces puede resultar mas cómodo.
En el ejemplo pho_1.php podemos ver un mapa parecido al del ejercicio 1, pero en este caso no hemos creado ninguna linea de javascript sino que se han generado "automáticamente".
(3) Añadiendo dos puntos con información usando phoogle.php
Hemos añadido estas lineas al código
$map->setWidth(400);
$map->setHeight(400);
$map->centerMap(41.381,2.120);
$map->addGeoPoint(41.381,2.120,"esto es una prueba");
$map->addGeoPoint(41.385,2.125,"otra prueba");
?>
(4) Experimentar con otras funciones de phoogle y de google maps.
Referencias:
Excelente tutorial sobre google maps:
http://www.econym.demon.co.uk/googlemaps/index.htm

