2010-11-28 16 views
11

Hay un cuadro de texto para que las personas escriban su ubicación. A medida que las personas escriben, deberían ver Google Map's Sugerir autocompletar.¿Hay alguna manera de usar Google Maps para completar automáticamente una ubicación de usuario?

Luego, una vez que seleccionan algo del autocompletado, me gustaría una alerta de lat/long.

¿Es posible utilizar Google Maps para estas 2 tareas?

Mi objetivo es obtener Lat/long de la persona, de la manera más sencilla posible. Idealmente ... ¿hay un complemento para hacer esto?

+1

Esto es un duplicado de http://stackoverflow.com/questions/1323661/location-search-autocomplete-que-integra-con-que-google-geocodificando – andynormancx

+0

Esta pregunta tiene 2 partes, por lo tanto, no parece ser un duplicado de la pregunta antes mencionada – Philar

Respuesta

4

He configurado la demostración here. La funcionalidad de sugerencia está a cargo del plugin jquery Freebase.

<script type="text/javascript" src="./jquery-1.4.2.js"></script> 
<link type="text/css" rel="stylesheet" href="http://freebaselibs.com/static/suggest/1.3/suggest.min.css" /> 
<script type="text/javascript" src="http://freebaselibs.com/static/suggest/1.3/suggest.min.js"></script> 
<script type="text/javascript"> 
$(function() { 
    $("#address").suggest({type:'/location/citytown'}); 
}); 
</script> 

de se añaden usando v3 API de Google

var marker = new google.maps.Marker({ 
     position: latlng, 
     map: map, 
     zIndex: Math.round(latlng.lat()*-100000)<<5 
    }); 

Se añade la posición del marcador a la cadena de contenido de la infoWindow

infowindow.setContent("<h3>Markers "+(marker_id+1)+" "+marker.position+"</h3>"); 

El javascript completa se puede encontrar here El marcador

+0

Gracias por tomarse el tiempo para configurar esto :) – TIMEX

+0

No lo menciones, me ayuda a aprender en el camino. – Philar

0

En términos de "complementos para hacer esto", los navegadores compatibles con HTML5 modernos tienen incorporado el geolocation API. Wikipedia article here.

YMMV

+0

Lo sé, pero el usuario podría estar enviando una ubicación diferente. – TIMEX

+1

Ah, está bien. Entonces, cuando dijo "su ubicación", quiso decir "la ubicación en la que están interesados", en lugar de "la ubicación en la que se encuentran en este momento". – Eric

3

Google Maps API V3 hace esto realmente fácil. Usando el código fuente en this page, sólo tiene que encontrar la línea:

var place = autocomplete.getPlace(); 

y añadir éste justo después de que:

alert(place.geometry.location.toString()); 

Esto debe satisfacer tanto sus necesidades.

+0

esto es increíble, ¡tan rápido!aquí están los documentos: https://google-developers.appspot.com/maps/documentation/javascript/places#places_autocomplete – ptim

+0

Dado V3, esta debería ser considerada la respuesta correcta ahora. – Bing

Cuestiones relacionadas