我已在网页中实施了Google自动填充文字框,以便用户可以选择Google地方信息,并将该地点/地址信息存储在其帐户中。 基本上将Google Place Autocomplete demo与Place Autocomplete Address demo
交叉从自动完成"搜索"在框中,用户搜索某个地点(在本例中为establishment
类型)。然后,他们会获得一些最接近匹配选项的列表 - 并且可以从列表中选择正确的选项。
当他们"选择"一个地方,这会引发place_changed
事件。
通过这次活动,我已经能够连接一个监听器,该监听器在所选place
处显示地图标记并弹出InfoWindow
。
我已经更改了"默认" InfoWindow
我自己,允许用户点击"使用"按钮,如果他们愿意 - 然后一些JavaScript负责并在某些字段中存储必要的数据。 基本上,一切都是按照Google的文档完成的。
一切都在工作,就像我想的那样(yippee!)。
以下是一个示例:
现在,让我们说用户选择了"匹配"来自自动完成下拉列表。添加地图标记,然后将地图聚焦到地图标记,InfoWindow
使用"使用"按钮弹出(如上所述)。
然而,他们决定不使用"它 - 他们已经看到了他们想要使用的另一个附近的地方。
在地图中,用户可以点击所说的替代地点,然后会弹出另一个InfoWindow
,显示地址和指向“#Google;在Google地图上查看”的链接。
这样的事情:
注意:我注意到InfoWindow
的内容有时会因特殊类型的机构而异 - 例如火车站(地址不是&#39) ;显示 - 只是一些符号表示它是一个火车站)。我没有太对此感到困惑,因为希望我的问题的答案会使这个无效。
很明显,点击其他位置只会显示出这个"替代品" InfoWindow
- 我认为一个事件被解雇了,谷歌' JS通过在所选位置启动另一个InfoWindow
来处理它。
如果用户能够"使用"我认为这将是更多更好的用户体验如果他们愿意的话,他们点击的另一个位置。 他们目前必须再次搜索"对于其他位置,基本上与第一张图像的结果相同。
在互联网面前,我能找到一种操纵点击其他地方的方式。
我已经尝试搜索要收听的事件,然后通过我自己的回调函数处理(以同样的方式从InfoWindow
显示我的自定义place_changed
)。
我需要知道以下内容:
place
对象,例如place_changed
事件args?place
传递到我现有的JavaScript函数中,该函数设置地图标记并打开InfoWindow
吗?提前感谢您的帮助和建议 - 我们一如既往地感激不尽。