Introducción.
La georreferenciación inversa es el proceso contrario al descrito anteriormente, corresponde al obtener el nombre de una ubicación (topónimo) a partir de su ubicación geográfica, en términos de latitud y longitud.
La aplicación de demostración.

En el ejemplo equivale a conocer la ubicación del sitio: latitud = 5.073375 y longitud = -75.495155, y con esta información determinar que los siguientes sitios corresponden con esa posición.
- Carrera 12, Manizales, Caldas, Colombia.
- Manizales, Caldas, Colombia.
- Caldas, Colombia.
- Colombia.
La implementación.
Su implementación es una versión ligeramente mas simple que la georreferenciación directa.
A continuación se detallan a nivel general las variaciones de esta modalidad de georreferenciación con respecto a la expuesta en un artículo anterior.
Del lado de Javascript.
Se asocia el evento de clic sobre el mapa con la función que realizará la georreferenciación inversa (processReverseGeocoding).
google.maps.event.addListener(map, 'click', function(event) { processReverseGeocoding(event.latLng, showMarkerInfo); });
En esta función se realiza el proceso de georreferenciación inversa el cual, al igual que su contraparte directa, es asíncrono y por este motivo se utiliza la misma estrategia del callback.
var request = { latLng: location } geocoder.geocode(request, function(results, status) { // ... });
La función showMarkerInfo es ejecutada cuando se finaliza la georreferenciación inversa y esta ha obtenido resultados válidos. Su misión es la mostrar la información resultante en el mapa.
function showMarkerInfo(locations) { // Centra el mapa en la ubicación especificada map.setCenter(locations[0].geometry.location); // Crea el mensaje para mostrar la información georreferenciada var infoWindow = new google.maps.InfoWindow(); infoWindow.setPosition(locations[0].geometry.location); // Prepara el mensaje con la información obtenida del proceso // de georreferenciación inversa var content = 'Latitud: ' + locations[0].geometry.location.lat() + '<br />' + 'Longitud: ' + locations[0].geometry.location.lng() + '<br />' + '<br />Topónimos:<br /><ul>'; for (var i=0; i<locations.length; i++) { if (locations[i].formatted_address) content += '<li>' + locations[i].formatted_address + '</li>'; else content += '<li>No se encontró información.</li>'; } content += "</ul>"; infoWindow.setContent(content); // Muestra el mensaje sobre el mapa infoWindow.open(map); }
Enlaces.
- Aplicación de demostración del API v3 de georreferenciación inversa de Google Maps 0.1.
http://demo.jorgeivanmeza.com/GMaps/GeocodeAPI3Demo/0.1/reverse.html - The Google Geocoding API.
http://code.google.com/apis/maps/documentation/geocoding/index.html - Geocoding service.
http://code.google.com/apis/maps/documentation/javascript/services.html#Geocoding
pregunta si hag un punto de inicio y uno final se formara una ruta ok puedo saber si en esa ruta esta en otro punto