1

现在的情况

我在网页中实现了一个 Google 自动填充文本框,以便用户可以选择一个 Google Place,并将该地点/地址信息存储到他们的帐户中。 基本上将 Google 的Place Autocomplete 演示与他们的Place Autocomplete Address 演示相结合

从自动完成的“搜索”框中,用户搜索一个地方(在这种情况下,一个establishment类型)。然后,他们会获得一些最接近匹配选项的列表 - 并且可以从列表中选择正确的选项。

当他们“选择”一个地方时,就会引发一个place_changed事件。

从这个事件中,我已经能够连接一个侦听器,它在选定的位置显示一个地图标记place并弹出一个InfoWindow.

我已将“默认”更改InfoWindow为我自己的,如果用户愿意,它允许用户单击“使用”按钮 - 然后一些 JavaScript 会处理并在某些字段中存储必要的数据。本质上,一切都是按照 Google 的文档完成的

正如我所愿(yippee!),一切都在工作。

这是一个示例:

选择地点后自动完成


考虑这个...

现在,假设用户从自动完成下拉菜单中选择了“匹配”。添加一个地图标记,然后将地图聚焦到它,并InfoWindow弹出“使用”按钮(如上)。

然而,他们决定不“使用”它——他们看到了附近另一个他们想使用的地方。

从地图上,用户可以点击所述替代地点,然后InfoWindow弹出另一个地点,显示地址和“在谷歌地图上查看”的链接。

像这样的东西:

已选择自动填充替代地点

注意:我注意到罐头的内容InfoWindow有时会因特殊类型的设施而异 - 例如火车站(地址未显示 - 只是一些符号表示它是一个火车站)。我对此并不太在意,因为希望我的问题的答案将使这个空白。


问题

很明显,点击不同的位置只会带来这个“替代方案” InfoWindow——我假设一个事件被触发,谷歌的 JS 通过InfoWindow在选定的位置启动另一个来处理它。

如果用户愿意的话,我认为如果用户能够“使用”他们点击过的其他位置,那将是一个更好的用户体验。他们目前必须“再次搜索”该其他位置,基本上最终得到与第一张图像相同的结果。

在 Internet 上无处可寻,我能找到一种方法来操纵点击另一个地方。

我尝试搜索要监听的事件,然后进行处理(就像我通过我自己的回调函数显示我的自定义InfoWindowfrom一样)。place_changed


我能做些什么?

我需要知道以下内容:

  • 从地图中选择“替代”位置时会触发什么事件?
  • 此事件是否包含一个place对象,例如在place_changed事件 args 中?
  • 如果是这样,我可以连接到这个事件,将 said 传递place给我现有的 JavaScript 函数,该函数设置地图标记并打开InfoWindow

提前感谢您的帮助和建议 - 一如既往地感激不尽。

4

0 回答 0