2013-07-25 7 views
8

Ich verstehe, dass die place_changed Veranstaltung, um mit dem Google programmatisch zu feuern Maps JavaScript API v3 Sie Folgendes tun:Wie kann ich programmgesteuert die Auswahl einer Google Maps api Autocomplete-Eingabe ändern?

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

Doch diese einfach feuert den Rückruf im Fall angegeben und eigentlich nichts zu dem tun <input> Element, das angehängt ist.

Was ich brauche ist programmatisch zu tun, um die Auswahl der zum automatischen Vervollständigung ändern <input> zu einem bestimmten Standort oder innerhalb des Orts Objekt angegeben abgerufen früher über:

autocomplete.getPlace()

Ich kann natürlich direkt den Wert ändern in der Eingabe:

Aber dies ändert nicht die Autocompletes Auswahl. Danach muss der Benutzer die gesamte Zeichenfolge in <input> löschen und dann erneut mit der Eingabe beginnen, damit die automatischen Vervollständigungsvorhersagen wieder angezeigt werden.

Also ich möchte die Auswahl einer Google Maps Autocomplete-Eingabe programmgesteuert ändern, mit einem Ort Objekt von der Orte/Autocomplete API erhalten. Gibt es eine Möglichkeit, dies zu tun?

+0

Vermutlich müssen Sie ein Tastatur-Ereignis auslösen (keydown, keyup oder Druck) auf Das Eingabeelement, nachdem sein Wert programmgesteuert geändert wurde. Dies ist einfach mit jQuery, kann aber auch in rohen Javascript getan werden - https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Events/Creating_and_triggering_events. –

Antwort

7

Wenn Sie das place Objekt haben, können Sie es tun, über

autocomplete.set("place", place) 

dass löst das place_changed Ereignis in der die automatische Vervollständigung

+0

wird großartig, wenn Sie die Dokumentation zu 'set()' Befehl – GusDeCooL

+2

bereitstellen können Hier ist die Dokumentation für 'set' - obwohl es völlig nicht hilfreich ist - https://developers.google.com/maps/documentation/javascript/reference# MVCObject (Autocomplete erweitert 'MVCObject' https://developers.google.com/maps/documentation/javascript/reference#Autocomplete) – jeffsaracco

Verwandte Themen