2011-11-18 18 views
7
<html> 
    <head> 
     <title></title> 

     <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places&sensor=true"></script> 
     <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 
     <script type="text/javascript"> 
      $(function() { 
       var input = document.getElementById('location'); 
       var options = {      
        types: ["locality"] 
       }; 

       autocomplete = new google.maps.places.Autocomplete(input, options); 
      }); 
     </script>   
    </head> 
    <body> 
     <div>Location: <input type="text" id="location" style="width:400px;" /></div>    
    </body> 
</html> 

Existe mi código para generar mi entrada de texto de ubicación de autocompletar. La lista de Google de tipos admitidos (http://code.google.com/apis/maps/documentation/places/supported_types.html) muestra "localidad" como el tipo de uso cuando no deseo que todo vuelva al resultado (empresas, etc.). No estoy obteniendo resultadosFunción de tipos de API de Google Places ...

Básicamente, lo que me gustaría lograr es buscar una ciudad (IE: Toronto) Y solo ver resultados como: "Toronto, ON, Canadá". Quizás estoy confundido sobre cómo implemento esta API.

¡Muchas gracias por sus respuestas!

+0

no creo localidad es un tipo /// –

Respuesta

5

Creo que la opción que busca según la documentación es "codificación geográfica" (http://code.google.com/apis/maps/documentation/javascript/reference.html#AutocompleteOptions):

var options = {      
    types: ["geocode"] 
}; 
+0

acaba de ir al enlace informados, y mientras localidad aparece en los tipos, si nos fijamos en este enlace (http://code.google.com/apis/maps/documentation/places/autocomplete.html#place_types), verás que solo muestra dos (parece raro que tengan un enlace a una lista de tipos y luego justo debajo dice que solo funcionan 2 tipos, pero eso se ve como lo que es); de cualquier forma, el código geográfico se ve como la opción que desea. – streetlogics

+0

Geocode es casi el resultado que estoy buscando. Desafortunadamente, todavía enumera los nombres de las calles. Por ejemplo, si busco "Londres, Reino Unido", aparecerán "London Street, SomeCity, SomeCountry" como resultado. ¿Dónde puedo encontrar explicaciones de estos tipos? No veo nada en los documentos de Google. –

+0

Los puntos de referencia volverán con el código geográfico también ... aeropuertos, por ejemplo. –

0

intento, echa un vistazo a la jsfiddle:

var options = {      
     types: ['geocode'] 
}; 

tipos, los cuales puede ser establecimiento o código geográfico, que representa empresas o direcciones, respectivamente. Si no se especifican los tipos, se devuelven ambos tipos .

3

también puede utilizar la restricción país

ejemplo:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places&sensor=false"></script> 

<script type="text/javascript"> 
    function initialize() 
    { 
     var input = document.getElementById('searchTextField'); 
     var options = { 
      types: ['(cities)'], 
      componentRestrictions: {country: "ca"} 
     }; 

     autocomplete = new google.maps.places.Autocomplete(input, options); 
    } 

    google.maps.event.addDomListener(window, 'load', initialize); 
</script> 

<input id="searchTextField" type="text" size="50" placeholder="Anything you want!"> 

Ahora puede agregar fácilmente un desplegable con una selección de ciudades y re-filtro de las ciudades, cuando onchange del desplegable ocurre :)

0

Si el usuario escribe Tor en el campo de entrada y la salida que desea es Toronto, ON, Canada, entonces debe usar types=(regions), con la b raquetas.

No sé si la opción estaba presente cuando se hizo la pregunta, pero está disponible ahora.

Pedir Muestra:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Tor&key=<YOUR_API_KEY_HERE>&types=(regions) 
Cuestiones relacionadas