地点网络服务常见问题解答

本文档包含有关 Places API 的常见问题解答。如果您无法在此处找到问题的解答,以下页面可能会有帮助。

Places API 还有一个充满活力的开发者社区。如果您对代码有任何疑问,建议您将问题发布到该社区中。如需详细了解如何提问,请参阅支持页面

搜索地点

为什么按照类型过滤时系统未返回某些地点?

可能是因为您查找的地点尚未归类。 在 Google 收集到足够的数据后,Google 会将所有地点归类为“establishment”通用类型,直到 Google 能够将其归类为支持的地点类型之一。

为了解决此问题,您可以将地点 type 传递给 keyword 参数。keyword 参数与以下内容匹配:名称、类型、地址和客户评价。

如果您想自行将类别 type 添加到地点列表,请提交地点修改。修改获得批准并发布后,它将使用正确的 type 过滤显示。

为什么系统未返回某些附近的地点?

默认情况下,Places API 会按 prominence 对提供的 radius 中的结果进行排序。附近搜索请求最多可返回 60 条结果,分三页显示。如果某个地点在 prominence 中排名第 22,它将显示在结果的第二页,您可以通过分页来访问结果的第二页。如果某个地点在 prominence 中的排名超过 60,那么即使它更靠近您的搜索中心,也不会包含在搜索结果中。

将查询中的 rankby 参数设置为 distance 并省略 radius 参数,即可按 distance(而非 prominence)对结果进行排序。系统会忽略相关性,并按与 location 的距离顺序返回地点。

如果您按类型过滤请求,可能会从响应中滤除某些结果。如需了解详情,请参阅常见问题解答条目:为什么按照类型过滤时系统未返回某些地点?

为什么按某些 types 过滤时只收到最多两个结果?

Places API 旨在返回附近的 establishments 列表(来自受支持地点类型的第一张表中的任何内容)和最多两个位置(受支持地点类型的第二个表中的任何内容)结果,以帮助识别您要执行附近搜索请求的区域。

按位置 type(如 localitypolitical)过滤附近搜索请求将会滤除 establishment 结果。

地点数据

如何添加或修改地点?

如果您是商家所有者,则可以使用商家资料在 Google 地图上添加、验证和管理您的商家信息。

如果您不是该地点的所有者,仍然可以提出更改建议

问题排查

为什么我不断收到 "status": "REQUEST_DENIED"?

在以下情况下,Places API 会返回 "status": "REQUEST_DENIED"

  • 您尚未在 Google Cloud 控制台中激活 Places API。
  • 您的请求缺少 key 参数。
  • key 参数与 Google Cloud 控制台中的 API 密钥不匹配。
  • 您尚未在 Google Cloud 控制台中正确设置您的 API 密钥:
    • 如果您使用的是有浏览器限制的 API 密钥,请检查允许的引荐来源网址是否正确。
    • 如果您使用的是具有服务器限制的 API 密钥,请检查允许的 IP 是否正确。
    • 不支持具有 Android 或 iOS 限制的 API 密钥。请使用通用(不受限制)的 API 密钥,或者具有浏览器或服务器限制的密钥。
  • 该请求未以 HTTPS 请求的形式发送,所有 Places API 请求都必须包含 HTTPS
  • 发送请求时使用的 HTTP method 不正确:
    • 除 [地点添加][place-add] 外,所有请求都必须以 GET 请求的形式发送。
    • 所有 [地点添加][place-add] 请求都必须以 POST 请求的形式发送。