Google自动填充:选择从地图中选择的替代地点

时间:2016-07-27 23:55:25

标签: javascript google-maps google-maps-api-3 autocomplete google-maps-autocomplete

现状

我已在网页中实施了Google自动填充文字框,以便用户可以选择Google地方信息,并将该地点/地址信息存储在其帐户中。 基本上将Google Place Autocomplete demoPlace Autocomplete Address demo

交叉

从自动完成"搜索"在框中,用户搜索某个地点(在本例中为establishment类型)。然后,他们会获得一些最接近匹配选项的列表 - 并且可以从列表中选择正确的选项。

当他们"选择"一个地方,这会引发place_changed事件。

通过这次活动,我已经能够连接一个监听器,该监听器在所选place处显示地图标记并弹出InfoWindow

我已经更改了"默认" InfoWindow我自己,允许用户点击"使用"按钮,如果他们愿意 - 然后一些JavaScript负责并在某些字段中存储必要的数据。 基本上,一切都是按照Google的文档完成的。

一切都在工作,就像我想的那样(yippee!)。

以下是一个示例:

Autocomplete with place selected

考虑一下......

现在,让我们说用户选择了"匹配"来自自动完成下拉列表。添加地图标记,然后将地图聚焦到地图标记,InfoWindow使用"使用"按钮弹出(如上所述)。

然而,他们决定不使用"它 - 他们已经看到了他们想要使用的另一个附近的地方。

在地图中,用户可以点击所说的替代地点,然后会弹出另一个InfoWindow,显示地址和指向“#Google;在Google地图上查看”的链接。

这样的事情:

Autocomplete alternative place selected

注意:我注意到InfoWindow的内容有时会因特殊类型的机构而异 - 例如火车站(地址不是&#39) ;显示 - 只是一些符号表示它是一个火车站)。我没有对此感到困惑,因为希望我的问题的答案会使这个无效。

问题

很明显,点击其他位置只会显示出这个"替代品" InfoWindow - 我认为一个事件被解雇了,谷歌' JS通过在所选位置启动另一个InfoWindow来处理它。

如果用户能够"使用"我认为这将是更多更好的用户体验如果他们愿意的话,他们点击的另一个位置。 他们目前必须再次搜索"对于其他位置,基本上与第一张图像的结果相同。

在互联网面前,我能找到一种操纵点击其他地方的方式。

我已经尝试搜索要收听的事件,然后通过我自己的回调函数处理(以同样的方式从InfoWindow显示我的自定义place_changed )。

我该怎么办?

我需要知道以下内容:

  • 当一个"替代品"位置是从地图中选出的?
  • 此事件是否包含place对象,例如place_changed事件args?
  • 如果是这样,我可以连接到此事件,将所述place传递到我现有的JavaScript函数中,该函数设置地图标记并打开InfoWindow吗?

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

0 个答案:

没有答案