增强型交易实现指南

概览

Web iOS API

Google Maps Platform 适用于 Web(JS、TS)、Android 和 iOS,还提供用于获取地点、路线和距离的相关信息的网络服务 API。本指南中的示例适用于单个平台,如需在其他平台实现增强型交易,请参阅提供的文档链接。

用户通常很难理解交易语句,而使用“ACMEHCORP”等缩写(而非“Acme Houseware”等商家名称)可能会导致客户服务电话增加,以及引发代价高昂的争议。增强型交易可提供商家的全称和业务类别、店面照片、商家地址及商家在地图上的位置、完整的联系信息等等,从而简化并直观呈现这些交易语句。这不仅有助于提高用户满意度和透明度,还可减少客户服务电话、提高净推荐值,以及吸引用户在应用内停留更长时间。

在本主题中,我们介绍了增强型交易实现指南和自定义设置提示,我们建议利用 Google Maps Platform API 的最优组合,打造出色的交易记录用户体验。本实现指南将向您介绍如何将营业地点与特定商家进行匹配,以及如何显示商家的详细信息。

增强型交易示例屏幕
增强型交易示例屏幕(点击可放大)

启用 API

若要实现增强型交易,您必须在 Google Cloud Console 中启用以下 API。您可以通过以下超链接转到 Google Cloud Console,为您选择的项目启用各个 API:

如需详细了解设置方法,请参阅 Google Maps Platform 使用入门

实现指南的各个部分

本主题涵盖一些实现和自定义设置,请据此操作。

  • 对勾标记图标表示核心实现步骤。
  • 星形图标表示可选但建议采用的自定义设置,可以强化解决方案。
使用 Google Maps Platform 匹配商家 将交易记录中的商家与 Google Maps Platform 中的地点相关联。
显示商家详情 显示包含丰富数据的交易,其中会显示商家的相关实用信息,以便用户快速识别交易。
添加商家营业地点地图 添加商家营业地点地图。

使用 Google Maps Platform 匹配商家

此示例使用的是Places API

下图展示了您的应用如何使用现有商家数据库中的地点详情或通过“地点搜索”请求对商家交易进行匹配,从而返回相关结果:

商家匹配流程矩阵
商家匹配流程矩阵(点击可放大)

获取 Google Maps Platform 地点 ID

您可能会有包含商家名称和商家地址等基本信息的商家数据库。若要从 Google Maps Platform 中获取此地点的相关信息(包括联系信息和用户贡献的信息),您将需要数据库中每个商家对应的 Google Maps Platform 地点 ID。

若要获取商家对应的地点 ID,请在 Places API 中向 /findplacefromtext 端点发出请求,并仅请求 place_id 字段,从而将该请求作为免费的查找地点 - 仅 ID 调用进行计费。如果商家有多个营业地点,请将商家名称与城市或街道名称搭配使用。调用返回的数据的质量会有所不同,因此您需要验证返回的结果是否确实与所需商家相匹配。

以下示例展示了如何使用商家名称和城市请求 Google 台北办事处的地点 ID:

https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=google%20taipei&inputtype=textquery&fields=place_id&key=YOUR_API_KEY

请务必对 API 请求中的输入参数进行网址编码

存储地点 ID

若要存储 Google Maps Platform 中的商家相关信息以用于将来的请求,您可以在数据库中无限期存储此地点 ID,将其作为商家记录的一种属性。您应该只需对每个商家执行一次“查找地点”请求。您也可以在每次用户请求交易详情时搜索地点 ID。

为确保您始终获得最准确的信息,请使用包含 place_id 参数的地点详情请求,每 12 个月刷新一次地点 ID

如果您显示的地点详情与发生交易的商家不匹配,建议您允许用户就商家匹配质量提供反馈。

显示商家详情

此示例使用的是Places API 同样适用于Places SDK for Android | Places SDK for iOS | Places Library、Maps JavaScript API

在用户前往您的某个营业地点之后,您可以分享用户需要了解的地点详情。有了丰富的地点详情(例如联系信息、营业时间、用户评分和用户照片),您的应用就可以针对用户已完成的交易向他们发出提醒。调用 Places API 以获取地点详情后,您可以通过信息窗口、网页边栏或其他您喜欢的方式过滤并呈现响应结果。

商家详情示例屏幕
商家详情示例屏幕(点击可放大)

如需查询地点详情,您需要每个营业地点的地点 ID。请参阅获取地点 ID 来检索营业地点的地点 ID。

以下“地点详情”请求会针对 Google 台北 101 地点 ID 在 json 输出中返回地址、坐标、网站、电话号码、评分和营业时间:

https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJraeA2rarQjQRyAqIxkx2vN8&fields=name%2Cformatted_address%2Cwebsite%2Cformatted_phone_number%2Cgeometry/location%2Cicon%2Copening_hours%2Crating&key=YOUR_API_KEY

添加商家营业地点地图

此示例使用的是Geocoding API | Maps Static API 同样适用于Android | iOS

确定商家营业地点

Maps Static API 接受在地址或坐标上放置标记。如果您的商家记录中已有地址,则可以跳到下一部分,但我们建议您使用坐标而非地址,以确保地图精确度。

如果您的商家数据库中包含街道地址但没有地理坐标,并且您尚未请求地点详情,则可以在服务器端使用 Geocoding API 将街道地址转换为纬度/经度坐标,然后将坐标存储在数据库中,并且至少每 30 天刷新一次坐标。

下例展示了如何使用 Geocoding API 获取 Google 台北办事处地点 ID 的经纬度:

https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJraeA2rarQjQRyAqIxkx2vN8&key=YOUR_API_KEY

在地图上为商家营业地点添加标记

由于用户会查看地图来确认交易,而不是浏览或导航,因此您需要创建可提供一定程度的互动的地图。

对于桌面版网站和移动网站,请创建 Maps Static API 网址并将一个标记放置在商家的纬度/经度坐标或地址处。您可以通过网络服务调用来使用 Maps Static API,该调用将根据您指定的参数创建地图的图片版本。对于移动设备,请跳至下一部分“在移动应用中添加地图”。

下方的调用显示了一个路线图,该图尺寸为 640x480 像素,以放置在 Google 台北办事处的标记为中心,采用的是默认缩放级别。该图还指定了一个红色的送货地点标记和一个云端地图样式:

    https://maps.googleapis.com/maps/api/staticmap?size=640x480&markers=color:red%7C25.033976%2C121.5645389&map_id=b224095f76859890&key=YOUR_API_KEY&signature=BASE64_SIGNATURE=

它分为以下部分:

API 网址 https://maps.googleapis.com/maps/api/staticmap?
图片尺寸 size=640x480
商家营业地点标记(使用网址编码 markers=color:red%7C25.033976%2C121.5645389
云端地图样式 map_id=b224095f76859890
API 密钥 key=YOUR_API_KEY
数字签名(了解如何对请求进行数字签名 signature=BASE64_SIGNATURE

上述代码会生成如下所示的图片:

Google 台北办事处的静态地图图片

您也可以使用地址作为标记位置:

https://maps.googleapis.com/maps/api/staticmap?size=640x480&markers=color:green%7CTaipei%20101%20Tower%2CNo.%207信義路五段信義區台北市%20Taiwan%20110&map_id=b224095f76859890&key=AIzaSyBYQA7wGUSMprUOyAADiOv5DcENtB0FFKU&signature=6wn_pRDrV_KNfch27mD2BW4zseo=

如需了解其他参数选项,请参阅 Maps Static API 文档

在移动应用中添加地图

如果您使用的是 Maps SDK for Android 或 Maps SDK for iOS,则可以根据地点详情信息中的坐标来放置标记。

由于用户会查看地图来确认交易,而不是浏览或导航,因此请选择可提供一定程度的互动的地图。