8

Attualmente sto usando il codice dato, ma questo limita solo i suggerimenti a un paese. Ho visto un'implementazione ma sta usando jQuery e voglio farlo senza usare jQuery.Come posso limitare il completamento automatico della libreria di Google Maps Places ai suggerimenti di solo una città?

var input = document.getElementById('searchTextField'); 
var options = { 
    //types: ['(cities)'], 
    componentRestrictions: { country: 'pk' } 
}; 
var autocomplete = new google.maps.places.Autocomplete(input, options); 

risposta

17

Prova ad aggiungere una proprietà bounds all'oggetto options si passa al costruttore Autocomplete, come illustrato in questo codice:

var southWest = new google.maps.LatLng(25.341233, 68.289986); 
var northEast = new google.maps.LatLng(25.450715, 68.428345); 
var hyderabadBounds = new google.maps.LatLngBounds(southWest, northEast); 

var options = { 
    bounds: hyderabadBounds, 
    types: ['establishment [or whatever fits your usage]'], 
    componentRestrictions: { country: 'pk' } 
}; 

Se si desidera che i Autocomplete limiti per essere guidati dalla finestra corrente della mappa, è possibile associare i limiti della mappa per il Autocomplete in questo modo:

autocomplete.bindTo('bounds', map); 

o, se funziona meglio nella vostra applicazione, si ha anche la possibilità di impostare i limiti in modo esplicito in caso di necessità:

autocomplete.setBounds(someOtherBounds); 

Questo può significare che si crea una città predefinita, come ho fatto con Hyberabad nell'esempio di cui sopra . O consentire agli utenti di selezionare da un elenco di città da avviare e quindi impostare la finestra della mappa sulla città selezionata. Lo Autocomplete suggerirà i nomi di città se si avvia solo con lo componentRestrictions di country 'PK' come si sta già facendo. Saprai cosa funziona meglio per la tua applicazione.

Infine, questo non limita veramente e completamente lo Autocomplete solo alla città, ma raggiungerà il risultato desiderato nel modo più preciso possibile.

+0

http://hittheroad.ie/ consente il completamento automatico solo in Irlanda e nessun altro suggerimento. com'è possibile? – ihimv

+0

Ci scusiamo per questa stupida domanda, ma come faccio a trovare i limiti per una città specifica in un paese? –

+0

@SiddharthAjmera: Non è sciocco, ma otterrai risultati migliori se: apri una nuova domanda, fornisci più dettagli su esattamente ciò che stai cercando di ottenere, includi un esempio del tuo codice corrente e spiega perché quel codice non funziona . –

2

Ho trovato fantastici esempi di restrizione o limitazione dei risultati di ricerca per paese utilizzando la classe di completamento automatico, ovvero esiste un metodo denominato setComponentRestrictions che consente di impostare il paese (proprietà), trovato qui -https: //developers.google. com/maps/documentation/javascript/reference # ComponentRestrictions

Si prega di controllare https://code.google.com/p/gmaps-samples-v3/source/browse/trunk/places/2012-may-hangout/autocomplete.html?r=290 per esempi.

Problemi correlati