2011-07-02 15 views
5

¿Cómo se hace un geocodificación inversa en el cliente con la API de Google Maps V3? El geocodificador de reenvío de la dirección a LatLng es sencillo (código a continuación), pero ¿cómo se hace lo mismo con el geocodificación inverso?Geocodificación inversa en el lado del cliente (API de Google Maps V3)

normal Código Geocode:

geocoder = new google.maps.Geocoder(); 
geocoder.geocode({ 'address': address}, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
    map.setCenter(results[0].geometry.location); 
    var marker = new google.maps.Marker({ 
    map: map, 
    position: results[0].geometry.location 
    }); 

Respuesta

13

El proceso es exactamente el mismo, con la pequeña diferencia de que en lugar de suministrar un objeto de dirección a la función de codificación geográfica que proporciona un objeto LatLng

inversa Código Geocode:

var input = document.getElementById("latlng").value; 
var latlngStr = input.split(",",2); 
var lat = parseFloat(latlngStr[0]); 
var lng = parseFloat(latlngStr[1]); 
var latlng = new google.maps.LatLng(lat, lng); 

geocoder.geocode({'latLng': latlng}, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
    if (results[1]) { 
     map.setZoom(11); 
     marker = new google.maps.Marker({ 
      position: latlng, 
      map: map 
     }); 
     infowindow.setContent(results[1].formatted_address); 
     infowindow.open(map, marker); 
    } else { 
     alert("No results found"); 
    } 
    } else { 
    alert("Geocoder failed due to: " + status); 
    } 
}); 

Example directly from Google

Espero que ayude.

+0

¿Sabe si las solicitudes de geocodificación inversa contribuyen a los límites normales de geocodificación de 2500/día? – Nyxynyxx

+0

Estoy casi seguro de que sí. Es la misma llamada a un método con un param diferente. Solo asegúrate de que estés haciendo la geocodificación del cliente y deberías estar bien. – Khepri

+0

genial, gracias !! – Nyxynyxx

Cuestiones relacionadas