2013-07-25 1 views
8

Je comprends que pour déclencher l'événement place_changed programme avec Google Maps API Javascript v3 vous procédez comme suit:Comment puis-je modifier par programme la sélection d'une entrée autocomplete API google maps?

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

Toutefois, ce feux simplement le rappel spécifié dans l'événement et ne le fait pas vraiment quoi que ce soit à la <input> élément qui est attaché.

Ce que je dois faire est de changer par programme la sélection dans la saisie semi-automatique <input> à un endroit précis ou le lieu précisé dans l'objet lieu récupéré plus tôt via:

autocomplete.getPlace()

Je peux bien sûr changer directement la valeur dans l'entrée:

input.value = 'Whatever'; 

Mais cela ne change pas la sélection de l'autocomplétion. Après cela, l'utilisateur doit supprimer la chaîne entière dans le <input>, puis recommencer à taper à nouveau, afin que les prédictions de saisie semi-automatique s'affichent à nouveau. Donc, pour résumer je voudrais changer la sélection d'une saisie auto-complétée google maps par programme, en utilisant un objet lieu obtenu à partir des lieux/autocomplete API. Est-ce qu'il y a un moyen de faire ça?

+0

On peut supposer que vous devez déclencher un événement de clavier (keydown, keyup ou keypress) sur l'élément d'entrée après que sa valeur a été modifiée par programme. C'est facile avec jQuery mais peut aussi être fait en javascript brut - https://developer.mozilla.org/fr-fr/docs/Web/Guide/DOM/Events/Creating_and_triggering_events. –

Répondre

7

Si vous avez l'objet place vous pouvez le faire via

autocomplete.set("place", place) 

qui déclenchera l'événement place_changed dans la saisie semi-automatique

+0

sera génial si vous pouvez fournir la documentation à la commande 'set()' – GusDeCooL

+2

Voici la documentation de 'set' - bien que ce ne soit pas du tout utile - https://developers.google.com/maps/documentation/javascript/reference# MVCObject (la saisie semi-automatique étend 'MVCObject' https://developers.google.com/maps/documentation/javascript/reference#Autocomplete) – jeffsaracco