17

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

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

然而,这只是触发事件中指定的回调,实际上并没有对<input>附加的元素做任何事情。

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

autocomplete.getPlace()

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

input.value = 'Whatever';

但是这样做不会改变自动完成的选择。这样做之后,用户必须删除 中的整个字符串<input>,然后最后再次开始输入,以使自动完成预测再次出现。

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

4

1 回答 1

11

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

autocomplete.set("place", place)

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

于 2014-03-19T13:41:03.900 回答