2014-02-26 4 views
9

Ich versuche, eine virtuelle Tastatur anzuhängen, die an eine Google Places-Autocomplete-Eingabe gebunden wird.Google Places Autocomplete auslösen

Wenn ich einen Buchstaben in die Eingabe physisch eintippe, zeigt ein von Google unterstütztes Dropdown-Feld die Autocomplete-Vorhersagen basierend auf der Position der Karte an. Wenn ich auf eine virtuelle Tastaturtaste klicke, wird die Eingabe ordnungsgemäß aktualisiert, aber die Autocomplete-Vorhersagen werden nicht aktualisiert.

Ich habe versucht, die virtuelle Tastatur change Rückruf zu verwenden, um eine "keyup" (Stackoverflow Ergebnisse), "keypress" auszulösen "keydown", "change" und ich diese sogar versucht (demo):

change : function(e, keyboard, el) { 
    google.maps.event.trigger(autocomplete, 'place_changed'); 
} 

was zu einem JavaScript-Fehler führt, der im Grunde zeigt, dass autocomplete.getPlace(); kein Ergebnis zurückgibt.

So jetzt habe ich den Code unten (in this demo) versucht, die die Änderung Rückruf verwendet, um eine automatische Vervollständigung Vorhersage auszulösen, aber wie Sie in dieser Demo sehen können, unterscheiden sich die Ergebnisse.

Idealerweise möchte ich das bereits eingerichtete Autocomplete-Vorhersage-Dropdown auslösen, um es während der Eingabe auf der virtuellen Tastatur zu aktualisieren.

Antwort

8

Ich fand meine Antwort (demo)!

change : function(e, keyboard, el) { 
    google.maps.event.trigger(el, 'focus', {}); 
} 
+0

Alter, du hast stundenlang unter Google's API gelandet. Vielen Dank! –

+0

Haben Sie herausgefunden, wie Sie die Änderung auslösen können, wenn ich auf die Ergebnisse der automatischen Vervollständigung klicke? Ich kann den "Fokus" erreichen, um die Ergebnisse auszulösen und anzuzeigen, aber jetzt, wenn ich auf die Ergebnisse klicke, verschwinden sie nicht. – nf071590