如何以编程方式更改谷歌地图api自动完成输入的选择?

Gor*_*rdo 9 javascript google-maps google-maps-api-3

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

google.maps.event.trigger(autocomplete, 'place_changed');
Run Code Online (Sandbox Code Playgroud)

但是,这只会触发事件中指定的回调,并且实际上不会对<input>附加的元素执行任何操作.

我需要做的是以编程方式将自动完成中的选择更改为<input>之前检索到的位置对象中指定的特定位置或位置:

autocomplete.getPlace()

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

input.value = 'Whatever';
Run Code Online (Sandbox Code Playgroud)

但这样做并不会改变自动完成选择.在这样做之后,用户必须删除整个字符串<input>,然后最终再次开始输入,以便再次显示自动完成预测.

总而言之,我想使用从places/autocomplete api获得的场所对象,以编程方式更改谷歌地图自动完成输入的选择.有没有办法做到这一点?

jef*_*cco 8

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

autocomplete.set("place", place)
Run Code Online (Sandbox Code Playgroud)

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

  • 以下是"set"的文档 - 尽管它完全没有用 - https://developers.google.com/maps/documentation/javascript/reference#MVCObject(Autocomplete扩展`MVCObject` https://developers.google.com/maps /文档/ JavaScript的/参照#自动填充) (2认同)