本文档针对有关 Places API 的常见问题做出了解答。如果您在此处找不到问题的答案,以下一些页面可能会对您有所帮助。
Places API 还拥有活跃的开发者社区。如果您对代码有疑问,建议您在社区中发布问题。如需详细了解如何提问,请参阅支持页面。
搜索地点
为什么我按类型过滤时系统没有返回某些地点?
您要查找的地点可能尚未归类。在 Google 拥有足够的地点数据来将其归类为受支持的地点类型之一之前,所有地点都被归类为泛型类型“establishment
”。
作为一种权宜解决方法,您可以将地点 type
传递给 keyword
参数。keyword
参数与以下字段匹配:名称、类型、地址和客户评价。
如果您想自行向地点详情添加类别 type
,请提交地点修改内容。修改内容获得批准并发布后,系统会使用正确的 type
过滤条件显示该内容。
为什么系统未返回某些附近地点?
默认情况下,Places API 会按所提供 radius
中的 prominence
对结果进行排序。附近搜索请求最多可返回 60 条结果,分三页显示。如果某个地点在 prominence
中排名第 22 位,则会显示在第二页的搜索结果中,您可以通过分页访问该页面。如果某个地点在 prominence
中的排名超过 60,则不会包含在搜索结果中,即使它离搜索中心更近也是如此。
您可以将查询中的 rankby
参数设置为 distance
并省略 radius
参数,以便按 distance
(而非 prominence
)对结果进行排序。系统会忽略相关性,并按与 location
的距离返回地点。
如果您按类型过滤请求,系统可能会从响应中滤除某些结果。如需了解详情,请参阅常见问题解答条目:为什么在按类型过滤时系统不返回某些地点?。
为什么按某个 types
过滤时,我最多只能收到两个结果?
Places API 旨在返回附近的 establishments
列表(受支持地点类型的第一个表格中的任何内容)和最多两个位置(受支持地点类型的第二个表格中的任何内容)结果,以帮助确定您要针对哪个区域执行附近搜索请求。
如果您按地点 type
(例如 locality
或 political
)过滤附近搜索请求,系统会滤除 establishment
结果。
地点数据
如何添加或修改地点?
如果您是商家的所有者,则可以使用商家资料在 Google 地图上添加、验证和管理商家信息。
即使您不是地点的所有者,也可以建议更改。
问题排查
为什么我一直收到“状态”为“REQUEST_DENIED”的请求?
在以下情况下,Places API 会返回 "status": "REQUEST_DENIED"
:
- 您尚未在 Google Cloud 控制台中激活 Places API。
- 您的请求中缺少
key
参数。 key
参数与 Google Cloud 控制台中的 API 密钥不匹配。- 您的 API 密钥未在 Google Cloud 控制台中正确设置:
- 如果您使用的是受浏览器限制的 API 密钥,请检查您允许的引荐来源是否正确。
- 如果您使用的是受服务器限制的 API 密钥,请检查允许的 IP 是否正确。
- 不支持受 Android 或 iOS 限制的 API 密钥。使用通用(不受限)API 密钥,或存在浏览器或服务器限制的密钥。
- 请求未以
HTTPS
请求的形式发送,所有 Google 地图 API 请求都需要HTTPS
。 - 发送请求时使用的
HTTP method
不正确。