现在的情况
我在网页中实现了一个 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 上无处可寻,我能找到一种方法来操纵点击另一个地方。
我尝试搜索要监听的事件,然后进行处理(就像我通过我自己的回调函数显示我的自定义InfoWindow
from一样)。place_changed
我能做些什么?
我需要知道以下内容:
- 从地图中选择“替代”位置时会触发什么事件?
- 此事件是否包含一个
place
对象,例如在place_changed
事件 args 中? - 如果是这样,我可以连接到这个事件,将 said 传递
place
给我现有的 JavaScript 函数,该函数设置地图标记并打开InfoWindow
?
提前感谢您的帮助和建议 - 一如既往地感激不尽。