借助商家资料 API,您可以为您的商家创建一个平台,以便他们在 Google 上管理自己的业务。在您的平台上,您可以允许合作伙伴搜索与其商家名称、地址和电话数据匹配的商家信息。他们可以确立对营业地点的所有权,还能通过纬度和经度准确定位商家的实际营业地点。
准备工作
在使用商家资料 API 之前,您需要注册您的应用并获取 OAuth 2.0 凭据。如需详细了解如何开始使用商家资料 API,请参阅基本设置。
如何使用地址数据
如要在您的平台上使用地址和地理定位数据,您可以使用两组不同的 API 和资源:商家资料 API 和 Google 地图 API。
常用的商家资料资源
借助 GoogleLocations
API,商家可以提前了解是否已经有人在商家资料中声明了对某个营业地点的所有权。如果没有,商家可以立即请求该营业地点的访问权限。
PostalAddress
对象表示商家的实际地址。
常用的 Google 地图资源
Maps JavaScript 地点 widget 常常在合作伙伴工作流程中用于创建交互式地图。此外,以下 Maps API 也很有用:
- 使用地点自动补全和地点详情返回地点预测。有关价格详情,请参阅 SKU:自动补全(包含地点详情)- 按会话结算。
- 使用地点搜索查询地点信息。有关价格详情,请参阅 SKU:查找地点。
- 使用地理编码提供地址的地理编码和反向地理编码。有关价格详情,请参阅 SKU:地理编码。
一个或零个匹配项
当合作伙伴搜索某个营业地点的匹配商家信息时,其目标是将搜索结果的范围缩小到一个或零个匹配项。这分别意味着找到的营业地点符合其搜索条件,或者商家资料中尚不存在这样的营业地点。
如果存在一个或零个匹配项,请使用 accounts.locations.create
方法创建新的商家信息,或按照 GoogleLocations
指南声明对现有商家信息的所有权。如果 Google 无法对地址进行地理编码,营业地点的创建会失败,并且 API 响应会包含对 LatLng
数据的请求。如要了解商家如何提供其 LatLng
数据,请参阅手动调整地理位置数据。
确定 LatLng
坐标后,系统即会创建新的商家信息。
部分匹配项和多个匹配项
当企业主或合作伙伴的运营团队搜索与某营业地点匹配的商家信息时,他们输入的信息可能仅会返回一个部分匹配项,也可能会返回多个匹配项。如要将搜索结果的范围缩小到一个或零个匹配项,可通过两个 Maps API 用例手动解析部分匹配项和多个匹配项。
用户细化搜索
如果合作伙伴平台的用户搜索某个营业地点,然后遇到多个部分匹配项,他们可以通过以下某种方式解决问题:
- 分析部分匹配的地址并选择正确的地址。
- 修改或重新键入地址的各个部分,以便提高准确性,并将其结果范围缩小到一个或零个匹配项。
![](https://developers.google.cn/static/my-business/images/partial-match.png?authuser=1&hl=ur)
用户从一个或多个完全匹配项中选择
在某些情况下,可能有多个营业地点与用户搜索的地址完全匹配。例如,用户可能在合作伙伴平台中输入以下地址:
Burung kolibri, Collmin Sq., GRN No. 1, Wonokromo, Jawa Timur 60983, Indonesia
假设返回了以下响应,所有这些响应都与指定的地址匹配:
- Kasperson Printer Center,一个未经验证的营业地点。
- Bengo Seguro,一个经过验证的营业地点。
- Garush Productions,一个未经验证的营业地点。
用户需要手动选择匹配的商家。为确保向消费者提供前往商家的准确路线,您可能需要调整这些营业地点的纬度和经度 (LatLng
) 数据,以提高准确性。如要了解用户如何手动输入其 LatLng
,请参阅手动调整地理位置数据。
手动调整地理位置数据
商家可以添加其商家的纬度和经度 (LatLng
) 坐标,以提高他们在商家资料中的商家信息的准确性。新商家可能不知道自己的 LatLng
坐标,因此他们可以转而使用 Maps JavaScript 地点 widget 手动放置图钉,以此确定准确的 LatLng
坐标。
![](https://developers.google.cn/static/my-business/images/latlng-manual-adjustment.png?authuser=1&hl=ur)
LatLng
坐标相关联,需要手动调整每个营业地点的坐标。搜索结果的质量
根据搜索地址的准确性和地区的不同,搜索结果差异很大。发展中地区显示的 Google 地图地点往往较少,经常会出现与 Google 地址格式不一致的情况。这会导致搜索结果质量较差,更需要手动设置地址格式,也更加需要使用 Maps API。