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?
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. –