2013-07-25 6 views
8

Capisco che in ordine di sparare l'evento place_changed programmazione con Google Maps API JavaScript v3 effettuare le seguenti operazioni:Come posso modificare a livello di codice la selezione di un input di autocomplete di google maps api?

google.maps.event.trigger(autocomplete, 'place_changed'); 

Tuttavia questo spara semplicemente il callback specificato nell'evento e in realtà non fa nulla per la <input> elemento allegato.

Che cosa devo fare è a livello di codice modificare la selezione nel completamento automatico <input> a una posizione specifica o posizionare specificato all'interno dell'oggetto luogo recuperate in precedenza tramite:

autocomplete.getPlace()

posso ovviamente modificare direttamente il valore nell'input:

input.value = 'Whatever'; 

Tuttavia, ciò non modifica la selezione del completamento automatico. Dopo aver fatto ciò, l'utente deve cancellare l'intera stringa nel <input>, e quindi finalmente ricominciare a digitare, in modo che le previsioni del completamento automatico vengano visualizzate nuovamente.

Quindi, per riassumere vorrei modificare la selezione di un completamento automatico di google maps a livello di codice, utilizzando un oggetto posto ottenuto dalle posizioni/api di completamento automatico. C'è un modo per fare questo?

+0

Presumibilmente è necessario per attivare un evento della tastiera (keydown, keyup o pressione di un tasto) su l'elemento di input dopo che il suo valore è stato modificato a livello di codice. Questo è facile con jQuery, ma può anche essere fatto in javascript raw - https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Events/Creating_and_triggering_events. –

risposta

7

Se avete l'oggetto place lo si può fare tramite

autocomplete.set("place", place) 

che attiveranno l'evento place_changed nel completamento automatico

+0

sarà grandioso se puoi fornire la documentazione al comando 'set()' – GusDeCooL

+2

Ecco la documentazione di 'set' - anche se è del tutto inutile - https://developers.google.com/maps/documentation/javascript/reference# MVCObject (Il completamento automatico estende 'MVCObject' https://developers.google.com/maps/documentation/javascript/reference#Autocomplete) – jeffsaracco

Problemi correlati