Uno de los conceptos básicos que suelo explicar a los desarrolladores que son nuevos con el API de Google Maps es "geocoding": el proceso de convertir una dirección en un par de coordenadas de latitud/longitud. Casi el 99,9% de los programadores tienen que usar un "geocoder" para poner sus propios datos en el mapa, o para que los usuarios del mapa puedan ubicarse en él. Por suerte, ofrecemos tanto el servicio HTTP Geocoder para hacer "geocoding" en la parte del servidor, como la más reciente "clase GClientGeocoder para hacer "geocoding" en la parte del cliente.
Hoy os presento el concepto más avanzado de "reverse geocoding": el proceso de convertir un par de coordenadas de latitud/longitud a una dirección. Un porcentaje más pequeño (pero importante) de desarolladores querrán usar un "reverse geocoder" para que sus usuarios sepan la dirección de cualquier punto en el mapa, quizás para rellenar un formulario de forma mas rápida (¿por qué teclear cuando puedes hacer clic?). Para esos programadores ahora ofrecemos "address-level reverse geocoding" tanto para nuestro servicio de HTTP como para nuestra clase GClientGeocoder. Para que sea muy fácil de usar, el interfaz de "reverse geocoding" es casi el mismo que el de "forward geocoding" - la única diferencia es que se envía una combinación de lat/lng en vez de una dirección. Aquí os muestro un poco de código para hacer "client-side reverse geocoding":
geocoder.getLocations(latlng, function(addresses) { if(addresses.Status.code != 200) { alert("reverse geocoder failed to find an address for " + latlng.toUrlValue()); } else { var result = addresses.Placemark[0]; map.openInfoWindow(latlng, result.address); }});
Para ver una demostración del "reverse geocoder", visita Meetways, una página que combina Google AJAX Local Search API con nuestra API de Google Maps y un poquito de matemáticas. Esta página calcula el punto entre dos direcciones en el mapa, usa el reverse geocoder para averiguar la dirección de este punto, y entonces hace una búsqueda local cerca de la dirección para encontrar lugares que están a medio camino. Dado que "reverse geocoding" funciona en todos los lugares donde funciona el "forward geocoding", puedes reunirte con tus amigos en más de ">70 países (incluyendo España, claro).
Para ver una demostración un tanto ridiculo, visita este juego en cual tienes que hacer clic en el punto correcto para una dirección. Hay que saber mucho sobre el mundo para ganar en este juego... pero solamente hay que aprender JavaScript para usar el codigo. :)
Para mas información de este nuevo servicio, lee la documentación de referencia y los códigos de ejemplo. Nos encantará ver las diversas maneras en que los desarolladores usan el "reverse geocoder" - por favor, no dudes en poner un enlace a tu demo de "reverse geocoding" en el grupo. ¡Que lo disfrutéis!