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

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

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

搜索地点

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

可能是因为您所查找的地点尚未分类。 所有地点均被默认归类为通用类型“establishment”,直到 Google 掌握关于该地点的足够数据,以将其归类为某个受支持的地点类型

解决方法之一是,您可以将地点 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(例如 localitypolitical)进行过滤,将会滤除 establishment 结果。

地点数据

如何添加或修改地点?

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

即使您并非某个地点的商家所有者,仍然可以提出更改建议

问题排查

为什么我不断接收“状态”:“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 请求的形式发送,所有 Google 地图 API 请求都要求使用 HTTPS
  • 发送此请求所使用的 HTTP method 不正确:
    • 所有请求都必须以 GET 请求的形式发送,[地点添加][place-add]除外。
    • 所有 [地点添加][place-add] 请求都必须以 POST 请求的形式发送。