Javascript 如何以编程方式更改google maps api自动完成输入的选择?

Javascript 如何以编程方式更改google maps api自动完成输入的选择?,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我理解,为了使用google maps javascript API v3以编程方式触发place_changed事件,您需要执行以下操作: google.maps.event.trigger(autocomplete, 'place_changed'); 但是,这只是触发事件中指定的回调,实际上不会对附加的元素执行任何操作 我需要做的是以编程方式将自动完成中的选择更改为先前通过以下方式检索的place对象中指定的特定位置: autocomplete.getPlace() 我当然可以直接更改输

我理解,为了使用google maps javascript API v3以编程方式触发place_changed事件,您需要执行以下操作:

google.maps.event.trigger(autocomplete, 'place_changed');
但是,这只是触发事件中指定的回调,实际上不会对附加的
元素执行任何操作

我需要做的是以编程方式将自动完成
中的选择更改为先前通过以下方式检索的place对象中指定的特定位置:

autocomplete.getPlace()

我当然可以直接更改输入中的值:

input.value = 'Whatever';
但这样做不会更改自动完成选择。执行此操作后,用户必须删除
中的整个字符串,然后再次开始键入,以便再次显示自动完成预测


因此,总结一下,我想使用从places/AutoCompleteAPI获得的place对象,以编程方式更改google maps autocomplete输入的选择。有什么方法可以做到这一点吗?

如果您有
place
对象,您可以通过

autocomplete.set("place", place)

这将触发自动完成中的
place_changed
事件

可能需要在以编程方式更改输入元素的值后触发输入元素上的键盘事件(keydown、keydup或keypress)。使用jQuery很容易做到这一点,但也可以在原始javascript中完成。如果您可以向
set()
命令提供文档,那就太好了这是
set
的文档,尽管它完全没有帮助-(Autocomplete扩展
MVCObject
)相关:如果你有地址但没有
place
对象,请看我不知道没有地址怎么办。谢谢