2010-06-20 14 views
9

Estoy construyendo una aplicación donde los usuarios proporcionan las direcciones para sus listados. ¡Ciertamente no es práctico pedirle a un usuario simple que proporcione la latitud y la longitud para cada dirección que proporciona!¿Puedo proporcionar direcciones en lugar de latitud y longitud a Google Maps?

¿Puedo proporcionar direcciones a Google Maps API en su lugar? ¿Si es así, cómo?

Gracias.

+0

@Ben: Gracias por volver a etiquetar, pero creo que la etiqueta 'google-maps-api-v3' podría ser importante aquí, para diferenciar entre la API v2. La API v2 sigue siendo muy popular. –

+0

Oh, lo siento. Parecía que había alrededor de cinco etiquetas más o menos equivalentes y supongo que eliminé accidentalmente parte de la información. ¡Gracias por el aviso! –

Respuesta

21

Sí, por supuesto. Eso se puede hacer muy fácilmente, usando el Geocoding Services provisto por la API de JavaScript de Google Maps. Consideremos el siguiente ejemplo:

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Google Maps Geocoding Demo 1</title> 
    <script src="http://maps.google.com/maps/api/js?sensor=false" 
      type="text/javascript"></script> 
</head> 
<body> 
    <div id="map" style="width: 400px; height: 300px;"></div> 

    <script type="text/javascript"> 

    var address = 'London, UK'; 

    var map = new google.maps.Map(document.getElementById('map'), { 
     mapTypeId: google.maps.MapTypeId.TERRAIN, 
     zoom: 6 
    }); 

    var geocoder = new google.maps.Geocoder(); 

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

    </script> 
</body> 
</html> 

Captura de pantalla:

Google Maps v3 Geocoding Demo

Simplemente puede sustituir 'London, UK' de la variable address a cualquier ubicación que admite la codificación geográfica en Google Maps.

+0

Cómo se puede refinar esto, a menudo proporciono el nombre de una calle en la dirección y todavía se coloca un pin localizando a la ciudad. –

0

Podría ser refinado si proporciona la dirección con el formato: var address = '# Street, City'; var address = '127 Ledbury Rd, Notting Hill, Londres';

Cuestiones relacionadas