2011-11-18 4 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> 

C'è il mio codice per generare il mio inserimento di testo con posizione di completamento automatico. L'elenco di Google dei tipi supportati (http://code.google.com/apis/maps/documentation/places/supported_types.html) mostra "località" come tipo da utilizzare quando non desidero che tutto ritorni nel risultato (attività commerciali, ecc.). Non ho risultati.Funzionalità dei tipi di API di Google Places ..

Fondamentalmente, quello che mi piacerebbe ottenere è cercare una città (IE: Toronto) e vedere solo risultati come: "Toronto, ON, Canada". Forse sono confuso su come implementare questa API.

Grazie mille per le vostre risposte!

+0

non credo che località è un tipo /// –

risposta

5

Credo che l'opzione che si sta cercando in base alla documentazione è "geocode" (http://code.google.com/apis/maps/documentation/javascript/reference.html#AutocompleteOptions):

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

appena andato al link che hai postato, e mentre località è elencato nei tipi, se si guarda a questo link (http://code.google.com/apis/maps/documentation/places/autocomplete.html#place_types), vedrai che ne elenca solo due (sembra strano che abbiano un link a un elenco di tipi e quindi subito sotto si dice che funzionano solo 2 tipi, ma sembra proprio quello che è) - quindi in entrambi i casi, il geocode sembra l'opzione che desideri. – streetlogics

+0

Geocode è quasi il risultato che sto cercando. Sfortunatamente, elenca ancora i nomi delle strade. Es: Se cerco "London, UK", "London Street, SomeCity, SomeCountry" apparirà come risultato. Dove posso trovare le spiegazioni di questi tipi? Non vedo nulla nei documenti di Google. –

+0

I punti di riferimento torneranno con il geocode e ... gli aeroporti, ad esempio. –

0

prova, controllare il jsfiddle:

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

tipi, che può essere sia stabilimento o codice geografico, che rappresenta aziende o indirizzi, rispettivamente. Se i tipi non sono specificati, vengono restituiti entrambi i tipi .

3

è anche possibile utilizzare la restrizione Paese

esempio:

<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!"> 

Ora si può facilmente aggiungere un menu a discesa con una selezione di città e ri-filtro delle città, quando onchange della discesa si verifica :)

0

Se l'utente immette Tor nel campo di input e l'output desiderato è Toronto, ON, Canada, è necessario utilizzare types=(regions), con la b racchette.

Non so se l'opzione fosse presente quando è stata posta la domanda, ma è ora disponibile.

Campione:

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