1

我正在尝试开发一个使用 Google Places API 的 jQuery 移动应用程序。本质上,我正在做的是向 jQuery 移动页面添加输入,然后将其连接到 Google Places 以自动完成地址,并可能获取该地址的坐标。

我在修改此处提供的演示方面取得了初步成功,这些演示利用 Google 自己的“地点库”中的自动完成功能。然而,从 UI 的角度来看,在移动设备上这个实现是行不通的——你需要点击一个相对较小的结果,并且点击手机上的返回按钮并不会选择第一个结果。

输入: http ://www.raymondcamden.com/index.cfm/2012/3/27/Example-of-Autocomplete-in-jQuery-Mobile

非常适合我的需要,只是我现在尝试使用自动完成 API 通过 Google Places API 返回数据。请参阅我正在使用的示例 API 调用:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Amoeba&types=establishment&sensor=true&key=myKeyHERE

但是,这不会返回任何 GEO 信息 - 只是地址。我需要使用其他方法或调用吗?通过本机(Places Library)实现,我可以访问一大堆数据,它不需要 API 密钥,也不需要在界限内工作。不确定重新地理编码结果集是否是最好的方法。

4

2 回答 2

1

我发现在执行上述操作后需要另一个调用,'reference' 字段在初始 JSON 响应中返回。我可以将结果缓存为我需要的唯一地理位置。尽管您的建议肯定被视为另一种潜在的解决方案,但我更喜欢这种对 UI 行为的额外控制,即使它是以额外的 API 请求为代价的。

无论如何,已经给了你一个不错的建议来回答你的荣誉。

https://developers.google.com/places/documentation/#PlaceDetailsRequests

https://maps.googleapis.com/maps/api/place/details/json?reference=CmRYAAAAciqGsTRX1mXRvuXSH2ErwW-jCINE1aLiwP64MCWDN5vkXvXoQGPKldMfmdGyqWSpm7BEYCgDm-iv7Kc2PF7QA7brMAwBbAcqMr5i1f4PwTpaovIZjysCEZTry8Ez30wpEhCNCXpynextCld2EBsDkRKsGhSLayuRyFsex6JA6NPh9dyupoTH3g&sensor=true&key=[yourKey]

于 2012-08-20T19:05:55.070 回答
0

您不能在 javascript 中执行跨域 json 请求,因此无法访问 /json 端点。

您应该做的是回到您最初的想法,然后将自动完成建议的样式设置为更适合移动设备。

.pac-container is the class for the suggest area
.pac-item is the class for each item in the suggest area
于 2012-08-20T01:51:28.767 回答