2010-10-13 17 views

Respuesta

85

Hay un muy buen ejemplo de https://developers.google.com/maps/documentation/javascript/examples/geocoding-simple

para acortarlo un poco:

geocoder = new google.maps.Geocoder(); 

function codeAddress() { 

    //In this case it gets the address from an element on the page, but obviously you could just pass it to the method instead 
    var address = document.getElementById('address').value; 

    geocoder.geocode({ 'address' : address }, function(results, status) { 
     if(status == google.maps.GeocoderStatus.OK) { 

      //In this case it creates a marker, but you can get the lat and lng from the location.LatLng 
      map.setCenter(results[0].geometry.location); 
      var marker = new google.maps.Marker({ 
       map  : map, 
       position: results[0].geometry.location 
      }); 
     } else { 
      alert('Geocode was not successful for the following reason: ' + status); 
     } 
    }); 
} 
+6

No deseamos que toda la documentación sea tan buena como jQuery's. Tengo dificultades con parte de la documentación de Google. – b729sefc

22

No creo location.LatLng está trabajando, sin embargo, esto funciona:

results[0].geometry.location.lat(), results[0].geometry.location.lng() 

Lo encontró mientras exploraba el código fuente Get Lat Lon.

+0

¡Gracias por esto! – cpcdev

16

Si necesita hacer esto en el backend puede utilizar la siguiente estructura de URL: código PHP

https://maps.googleapis.com/maps/api/geocode/json?address=STREET_ADDRESS 

de muestras mediante rizo:

$curl = curl_init(); 

curl_setopt($curl, CURLOPT_URL, 'https://maps.googleapis.com/maps/api/geocode/json?address=' . rawurlencode($address)); 

curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1); 

$json = curl_exec($curl); 

curl_close ($curl); 

Ver documentation adicional para más detalles.

Los documentos proporcionan resultados de muestra y le ayudarán a obtener su propio API key para poder realizar solicitudes a la API de geocodificación de Google Maps.

+0

¿Sabes cuál es el límite para esto? Me refiero a cuántas llamadas puedo hacer en una hora o día? –

+2

Los límites de API gratis son 2500 solicitudes por período de 24 horas, 5 solicitudes por segundo ... ver https://developers.google.com/maps/documentation/geocoding/intro#Limits – farinspace

+1

Vine aquí en busca de esto. Los usuarios de PHP pueden querer usar '$ arr = json_decode ($ json, true);' para acceder a los datos. –

Cuestiones relacionadas