Google Maps Platform 报告

Google Maps Platform 中的报告功能提供了一组预定义的可视化报告,可让您在 Google Cloud 控制台中轻松查看基本的 API 用量、配额和结算信息。您可以快速确定 API 调用次数和剩余的 API 用量配额,以及监控一段时间内的用量结算情况。

报告类型包括:

  • 用量报告:报告您的项目使用与之相关联的凭据向 Google Maps Platform API 发出的请求数。
  • 配额报告:以图表形式报告配额用量,可按每分钟的请求数分组。所选 API 的当前配额限制以表格形式显示在配额用量图表下方。
  • 结算报告:以堆叠折线图的形式报告一段时间内的费用。查看当月的配额用量(包含已用的任何与用量相关的赠金),以及当月的预测总费用。
  • 互动度报告:报告定位工具 Plus 版用户的查看次数、互动次数和互动率。

响应状态和响应代码决定了某项请求是否会显示在用量配额和/或结算报告中。如需查看响应状态和响应代码的完整列表,请参阅下面的响应状态和报告部分。

您可以使用 Cloud 控制台查看 Google Maps Platform 用量、配额和结算报告。

用量报告

用量取决于您的项目使用与之相关联的凭据向 Google Maps Platform API 发出的请求数量。请求包括成功请求、导致服务器错误的请求以及导致客户端错误的请求。凭据包括 API 密钥和客户端 ID(适用于专业版方案项目和迁移后的专业版方案项目)。

用量指标以表格(请求、错误和延迟时间)和图表(流量、错误和延迟时间)的形式显示。为方便您进行跟踪:

  • 所有 API 的用量指标都可以按时间段和 API 过滤;您还可以看到按响应代码、API 和凭据分组的流量、错误和延迟时间。
  • 特定 API 的用量指标可以按时间段及 API 的版本、凭据和方法过滤;您还可以看到按响应代码、API 方法与版本、凭据分组的流量、错误和延迟时间。

API 和服务“信息中心”页面

API 和服务“信息中心”页面简要列出了您已为项目启用的所有 API(Google Maps Platform API 及其他 API 和服务)的用量指标。

“信息中心”页面显示了三个图表和一个表格。您可以选择一个时间段(从 1 小时到过去 30 天)来过滤图表和表格中显示的用量。

“流量”图表按 API 显示每秒查询次数 (QPS) 的用量。“错误”图表按 API 显示导致错误的请求所占的百分比。“延迟时间”图表按 API 显示请求的延迟时间中位数。

图表下方有一个表格,其中列出已启用的 API 和服务。请求数是指所选时间段内的请求数量。错误数是指这些请求中导致错误的请求数量。延迟时间(延迟中位数和百分位数)是指这些请求的延迟时间。

监控 API

如需访问 API 和服务“信息中心”页面,请执行以下操作:

  1. 在 Cloud 控制台中,打开项目选择器页面:

    项目选择器页面

  2. 选择您的项目。系统随即会显示 API 和服务“信息中心”页面。

    如果该页面未显示,请选择菜单按钮 菜单,然后选择 API 和服务

如需了解详情,请参阅监控 API 使用量

Google 地图“概览”页面

Google 地图下的概览页面包含一个表格,其中列出已启用的 API 以及过去 30 天内的使用请求数。“请求(按 API)”也能以图表形式显示。结算图表显示您的当前账单和过去 3 个月的总用量。

“概览”图表的屏幕截图,其中显示的表格列出了过去 30 天内已启用的 API 和 API 请求数。

如需访问 Google Maps Platform“概览”页面,请执行以下操作:

  1. 在 Cloud 控制台中,打开 Google Maps Platform 页面:

    打开 Google Maps Platform 页面

  2. 在左侧菜单中,选择概览

Google Maps Platform“API”页面

Google 地图下的 API 页面包含两个表格。已启用的 API 表格列出了过去 30 天内每个已启用的 API 的请求数、错误数和平均延迟时间。其他 API 表格列出了尚未启用的 API。

API

如需访问 Google Maps Platform“API”页面,请执行以下操作:

  1. 在 Cloud 控制台中,打开 Google Maps Platform 页面:

    打开 Google Maps Platform 页面

  2. 在左侧菜单中,选择 API

Google 地图“指标”页面

Google 地图“指标”页面会显示三个图表:“流量”“错误”和“延迟时间中位数”。图表中的用量数据可以按响应代码类别、API、API 方法、凭据、平台和网域分组。

指标页面的图表下方有一个 API 表格,其中显示您已选择的 API 的请求数、错误数和延迟时间。

借助顶部的 API 下拉列表,以及右侧窗格中的分组和过滤选项,您可以选择特定或多个 API、凭据、响应代码类别、平台类型和/或网域,对显示的用量指标进行分组和过滤。此外,您也可以选择时间段(从 1 小时到过去 30 天)和粒度(每秒或每天)来过滤显示的用量指标。

“指标”页面会显示三个图表:“流量”“错误”和“延迟时间中位数”。

以下图片显示了在“分组依据”下拉列表中选择按平台网域分组时,单个 API 的“平台”和“网域”过滤条件:

只有在选择单个 API 时,“平台”过滤条件才会显示。 只有在选择单个 API 时,“平台”过滤条件才会显示。

如需访问 Google Maps Platform API“指标”页面,请执行以下操作:

  1. 在 Cloud 控制台中,打开 Google Maps Platform 页面:

    打开 Google Maps Platform 页面

  2. 在左侧菜单中,选择指标

响应代码图表

流量(按响应代码)错误(按响应代码)图表按 HTTP 响应代码类别划分用量。下表显示了 Google Maps Platform API 响应状态和 HTTP 响应代码类别之间的对应关系:

Maps API 状态 HTTP 响应代码类别 - 用量报告
(2xx、3xx、4xx、5xx)
备注
OK 2xx 成功响应。

这是可计费请求,并会消耗配额。
OK 3xx 成功响应。

这是可计费请求,并会消耗配额。

例如,如果 Place Photo 请求成功,则返回指向所引用图片的 302 重定向。
DATA_NOT_AVAILABLE 4xx(1) 成功响应,表示输入的位置没有可用的数据。

这是可计费请求,并会消耗配额。
ZERO_RESULTS 4xx(1) 成功响应没有返回任何结果。

这是可计费请求,并会消耗配额。
NOT_FOUND 4xx(1) 对于 Directions API,这个响应状态表示在请求的出发地、目的地或航点中,有至少一个指定的位置无法进行地理编码处理。

对于 Places API,这个响应状态表示在 Places 数据库中找不到引用的位置 (place_id)。

这是可计费请求,并会消耗配额。
INVALID_REQUEST(参数值无效)、
MAX_WAYPOINTS_EXCEEDED、
MAX_ROUTE_LENGTH_EXCEEDED 等
4xx 由参数值无效导致的错误。如需了解详情,请查看 API 响应。

这是可计费请求,并会消耗配额。
REQUEST_DENIED 4xx 由身份验证错误、访问错误等引起的客户端错误。如需了解详情,请查看 API 响应。
OVER_DAILY_LIMIT、
OVER_QUERY_LIMIT、
RESOURCE_EXHAUSTED、
rateLimitExceeded、
dailyLimitExceeded、
userRateLimitExceeded
4xx 由每个允许的时间段内请求过多而引起的客户端错误。稍后重试请求。如需了解详情,请查看 API 响应。
INVALID_REQUEST(参数无效/缺少参数,请求解析/验证错误) 4xx 由请求无效引起的客户端错误。如需了解详情,请查看 API 响应。
NOT_FOUND (404) 4xx 对于 Geolocation API,这个响应状态表示输入的内容不足以生成位置信息估算值。

对于 Roads API,这个响应状态表示输入的内容无法与道路合理对应。

这是可计费请求,并会消耗配额。
UNKNOWN_ERROR 5xx 表示请求无法继续的服务器错误,具体原因如下:内部错误、服务过载、不可用、超时等。
1 为了提高错误代码报告的一致性,Google Maps Platform API 正在迁移以下各项:1) 将如下 Maps API 状态的 HTTP 响应代码类别从 2xx 迁移到 4xxDATA_NOT_AVAILABLENOT_FOUNDZERO_RESULTS - 状态;2) 将如下 Maps API 状态的 HTTP 响应代码类别从 2xx 迁移到 4xxREQUEST_DENIEDOVER_DAILY_LIMITOVER_QUERY_LIMITdailyLimitExceededrateLimitExceededuserRateLimitExceeded;3) 将如下 Maps API 状态的 HTTP 响应代码类别从 2xx 迁移到 5xxUNKNOWN_ERROR。在过渡期间,您可能会看到这两种响应代码。Maps API 响应中返回的响应代码不会发生变化。您可以确认 Google Maps Platform 指标4xx 和/或 5xx 数量的增加是否与这次迁移有关,方法是在 Metrics Explorer 中查看到底是哪个响应代码的数量增加了(详细了解如何在 Google Maps Platform 上使用 Google Cloud Monitoring)。

如需详细了解状态代码和错误消息,请参阅您感兴趣的 API 的响应文档(例如地理编码响应路线响应)。

Google Maps Platform 解决方案参数

Google Maps Platform 提供了许多类型的示例代码,可帮助您快速上手。例如,您可以使用 Cloud 控制台中的快速构建器、按照行业解决方案实施指南进行操作,以及通过 Codelab 学习相关知识。

为了解代码使用情况和找出改善解决方案的方法,Google 在 API 调用中添加了 solution_channel 查询参数,用于收集与示例代码使用情况相关的信息:

  • 解决方案示例代码中默认包含 solution_channel 查询参数。
  • 此查询参数会将解决方案采用情况分析数据返回到 Google,以便 Google 在未来的版本中提高解决方案质量。
  • 从示例代码中删除 solution_channel 查询参数及其值即可将其停用。
  • 此查询参数并非必需项目,将其移除不会影响性能。
  • 此查询参数仅用于示例代码使用情况报告。
  • 此查询参数独立于任何 API 特定的分析和报告。也就是说,从解决方案示例代码中移除此参数将不会停用内部 Maps JavaScript API 报告。

配额报告

针对您的项目可以向 Google Maps Platform API 发出的请求数,您可以使用配额来设置限制。您可以通过以下三种方式限制请求数:每天请求数、每分钟请求数和每位用户每分钟的请求数。只有成功请求和导致服务器错误的请求才会计入配额。未通过身份验证的请求不计入配额。

配额用量以图表形式显示在 Cloud 控制台的配额页面中,可按每分钟的请求数分组。所选 API 的当前配额限制以表格形式显示在配额用量图表下方。

使用此计算器可获取任意 GMP API 产品的每分钟配额值

Google 地图“配额”页面

Google 地图配额页面会显示所选特定 API 的配额限制和配额用量。

Google Cloud 控制台中的配额用量图表显示了 API 密钥和客户端 ID 的总流量。客户端 ID 流量还会显示在 Cloud 控制台的“指标”图表中。

该页面仅显示会消耗配额的请求,包括成功的请求(OKZERO_RESULTSDATA_NOT_AVAILABLE)和导致服务器错误的请求(NOT_FOUNDINVALID_REQUEST/INVALID_VALUE [参数值无效]、UNKNOWN_ERROR)。

导致客户端错误的请求不会消耗配额,因此不会显示在该页面上;这类错误包括:身份验证/授权/无效参数错误,响应状态为 REQUEST_DENIEDOVER_QUERY_LIMITINVALID_REQUEST(参数无效、请求解析错误)。

对于大多数 Google Maps Platform API(Maps Static API、Street View Static API、Geocoding API、Directions API、Places API、Time Zone API、Geolocation API 和 Elevation API)而言,配额单元是一次请求,但也有一些例外情况:

  • 对于 Distance Matrix API,配额单元是一个元素,即“出发地-目的地”对。
  • 对于 Maps JavaScript API,配额单元是一次地图加载。
  • 对于 Maps SDK for Android 和 Maps SDK for iOS,配额单元是一次街景请求/全景图片加载(地图加载免费且不会消耗配额)。

Google Cloud 控制台中 Google 地图的“配额”页面的屏幕截图。该页面按 API 显示配额(需使用选择器选择 API),然后以为相应 API 设置的配额为基准显示地图加载次数。

如需访问 Google Maps Platform“配额”页面,请执行以下操作:

  1. 在 Cloud 控制台中,打开 Google Maps Platform 页面:

    打开 Google Maps Platform 页面

  2. 在左侧菜单中,选择配额
  3. 从 API 下拉列表中选择一个 API。

配额单元

下表显示了 Google Maps Platform API 对应的配额单元。

Google Maps Platform API 配额单元
地图
Maps SDK for Android 1 张全景图片
Maps SDK for iOS 1 张全景图片
Maps Static API 1 个请求
Maps JavaScript API 1 次地图加载
Street View Static API 1 个请求
Maps Embed API 1 次地图加载
路线
Routes API(计算路线) 1 个请求
Routes API(计算路线矩阵) 1 个元素(“出发地-目的地”对)
Directions API 1 个请求
Distance Matrix API 1 个元素(“出发地-目的地”对)
Roads API 1 个请求
地点
Places API 1 个请求
Address Validation API 1 个请求
Geocoding API 1 个请求
Geolocation API 1 个请求
Time Zone API 1 个请求

结算报告

查看您的结算报告

您可以在 Google Cloud 控制台中查看您使用的 Google Maps Platform 产品的结算报告(请参阅结算)。

如需访问结算报告,请执行以下操作:

  1. 在 Cloud 控制台中,打开项目选择器页面:

    项目选择器页面

  2. 选择项目。
  3. 选择菜单按钮 菜单,然后选择结算
  4. 如果您有多个结算帐号,请选择转至关联的结算帐号,打开关联的结算帐号的概览页面。
  5. 在左侧菜单中,选择报告,打开关联的结算帐号的结算报告页面。

如何解读结算报告图表

结算报告采用堆叠折线图表示一段时间内的费用。默认视图显示所有产品当月每天与用量相关的费用(按项目分组,包含已用的任何与用量相关的赠金),还显示当月的预测总费用。图表中的每条线(以及摘要表格中的每一行)均对应一个项目,按费用从高到低排序。详细了解如何解读结算报告图表

采用默认预设视图显示图表和表格的结算报告的屏幕截图
图 1:采用默认预设视图显示图表和表格的结算报告。

提示:按 SKU 分析用量和费用

为了更准确地了解随用随付定价模式的详细信息以及这种模式对您的实现的影响,请按 SKU 查看您的用量和费用。

按 SKU 分组的结算报告
图 2:按 SKU 显示用量和费用专列项的结算表格。
结算报告过滤条件的屏幕截图
图 3:结算报告过滤条件。
如需将报告视图更改为按 SKU 显示专列项,请执行以下操作:
  1. 在图表右侧的面板中,展开分组依据过滤条件。
  2. 选择 SKU

其他可用的结算报告过滤条件包括时间范围项目产品SKU,以及可让您根据 API 请求来源进行过滤的位置

除了产品之外,若要对使用来源进行分类,您可以按照列出的其中一个值将结算报告分组。与 Google Maps Platform API 相关的三个键如下:goog-maps-api-key-suffix(API 密钥的最后四个字符)、goog-maps-platform-type(平台:Android、iOS、JavaScript 或 webservice),以及 goog-maps-channel(API 查询中的一个固定数字渠道值)。详细了解过滤和分组

您可以取消选中右侧面板中的将赠金纳入费用复选框,将图表视图更改为不包含与用量相关的赠金。

监控和限制用量

为了帮助您规划预算并控制费用,您可以执行以下操作:

  • 设置预算提醒,以跟踪支出是如何达到特定金额的。设置预算不会限制 API 的使用,只会在支出金额接近指定金额时提醒您。
  • 限制每日 API 用量,以管理可计费 API 的使用费。通过设置每日请求数上限,您可以限制支出。使用简单的等式即可确定每日请求数上限,上限取决于您希望支出的金额。例如:(每月支出/每个 SKU 的价格)/30 = 每日请求数上限(针对一个 API)。请注意,您的实现可能会使用多个可计费的 API,因此请根据需要调整该等式。请记住,您每月可获得 200 美元的 Google Maps Platform 赠金,因此计算时务必考虑到这一点。

按渠道跟踪用量

如需通过数字渠道跟踪用量,您必须在 API 请求中添加 'channel' 参数。对于渠道值,只接受 0-999 之间的数字。以下是几个例子:

  • Geocoding Web Service API
    https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY&channel=1
  • Maps JavaScript API
    <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&channel=2&callback=initMap"
    async defer></script>

您可以在结算报告中直接监控渠道的用量。渠道在标签下反映为“键”:goog-maps-channel

按标签过滤
图 4:按 SKU 和渠道过滤
如需按 SKU 和渠道过滤结算报告,请执行以下操作:
  1. 分组依据中选择 SKU 作为过滤条件。
  2. 选择标签插入符号。
  3. 选择下拉菜单,然后选择 goog-maps-channel
  4. 选择下拉菜单,然后选择要作为过滤条件的数字渠道。

如需查看每个渠道产生的费用,可以在“分组依据”下的“标签键”中选择:goog-maps-channel

在请求中添加渠道的用量数据后,可能需要等待一段时间(最多 24 小时)才会反映在您的结算报告中。

使用 BigQuery 导出结算数据

您还可以将结算数据导出到 BigQuery

借助 BigQuery Export,您可以将详细的 Cloud Billing 每日数据(例如用量和费用估算数据)自动导出到您指定的 BigQuery 数据集内。然后,您可以通过 BigQuery 访问自己的结算数据,以进行详细分析。这可让您更详细地了解 Google Maps Platform 用量的来源。

如果您想开始使用 BigQuery Export 并查询数据,可以试用下面的示例查询。在运行此查询之前,您必须执行以下操作:

  • 为您的帐号启用结算和 BigQuery 结算导出功能。
  • 表格格式为 PROJECT_ID.DATASET_NAME.gcp_billing_exportv1BILLING_ACCOUNT_ID,其中:
    • PROJECT_ID 是您的实际项目 ID(例如“my-project-123456”)。
    • DATASET_NAME 是您创建的数据集的名称(例如“SampleDataSet”)。
    • BILLING_ACCOUNT_ID 引用了您的结算帐号 ID,带有“gcp_billing_exportv1”前缀,并将短划线 (-) 更改为下划线 (_)。例如,结算帐号 ID 123456-7890AB-CDEF01 将变为 gcp_billing_export_v1_123456_789AB_CDEF01

  #standardSQL
  SELECT   Date(usage_start_time, "America/Los_Angeles") AS billing_day,
           invoice.month                                 AS invoice_month,
           service.description                           AS service,
           sku.description                               AS sku,
           (
                  SELECT l.value
                  FROM   Unnest(labels) AS l
                  WHERE  l.KEY = 'goog-maps-channel' ) AS goog_maps_channel,
           Round(Sum(usage.amount), 2)                 AS usage_amount,
           usage.unit                                  AS usage_unit,
           Round(Sum(cost), 2)                         AS cost,
           cost_type,
           currency
  FROM     PROJECT_ID.DATASET_NAME.gcp_billing_export_v1_BILLING_ACCOUNT_ID
  WHERE    invoice.month = '202002' -- Change the invoice month with the same format as the example.
  GROUP BY billing_day,
           invoice_month,
           service,
           sku,
           goog_maps_channel,
           usage_unit,
           cost_type,
           currency
  ORDER BY billing_day,
           service,
           sku
  

Cloud Billing:

Google Maps Platform:

响应状态和报告

下表显示了 Maps API 状态、Maps API 响应中返回的 HTTP 响应代码,以及用量报告中的 HTTP 响应代码类别之间的对应关系,并指明了相应请求是否会显示在用量、配额和结算报告中。

Google Maps Platform 指标中的用量报告提供 HTTP response code class 粒度。如果您需要更精细的报告,请参阅 Google Maps Platform 用量监控中提供的响应状态代码

Maps API 响应中的响应代码 可在用量报告中查看 报告对象
Maps API 状态 HTTP 响应代码 HTTP 响应代码类别 用量 配额 结算
OK 200、
204、
302
2xx、
3xx
DATA_NOT_AVAILABLE、
NOT_FOUND、
ZERO_RESULTS
200 4xx1
NOT_FOUND(Street View Static API、Geolocation API 和 Roads API)、
ZERO_RESULTS (Street View Static API)
404 4xx
INVALID_REQUEST(参数值无效)、
MAX_ROUTE_LENGTH_EXCEEDED、
MAX_WAYPOINTS_EXCEEDED
200/400 4xx
INVALID_REQUEST(参数无效/缺少参数,请求解析错误) 200/400 4xx
REQUEST_DENIED 200/400/403 4xx1
OVER_DAILY_LIMIT、
OVER_QUERY_LIMIT、
RESOURCE_EXHAUSTED、
dailyLimitExceeded、
rateLimitExceeded、
userRateLimitExceeded
200/403、
429
4xx1
UNKNOWN_ERROR 200/500、
503
5xx1
1 为了提高错误代码报告的一致性,Google Maps Platform API 正在迁移以下各项:1) 将如下 Maps API 状态的 HTTP 响应代码类别从 2xx 迁移到 4xxDATA_NOT_AVAILABLENOT_FOUNDZERO_RESULTS - 状态;2) 将如下 Maps API 状态的 HTTP 响应代码类别从 2xx 迁移到 4xxREQUEST_DENIEDOVER_DAILY_LIMITOVER_QUERY_LIMITdailyLimitExceededrateLimitExceededuserRateLimitExceeded;3) 将如下 Maps API 状态的 HTTP 响应代码类别从 2xx 迁移到 5xxUNKNOWN_ERROR。在过渡期间,您可能会看到这两种响应代码。Maps API 响应中返回的响应代码不会发生变化。您可以确认 Google Maps Platform 指标4xx 和/或 5xx 数量的增加是否与这次迁移有关,方法是在 Metrics Explorer 中查看到底是哪个响应代码的数量增加了(详细了解如何在 Google Maps Platform 上使用 Google Cloud Monitoring)。

互动度报告

对于定位工具 Plus 版用户,分析信息中心有助于您分析和生成数据分析结果,让您清楚地了解您的买家与店铺定位工具的互动情况。您可以衡量周环比表现,包括查看次数、与搜索功能和地点详情互动的次数,以及总体互动率。此外,信息中心还提供了重要的基准,让您了解自己的实现与其他零售商对比的情况。

通过基准化分析报告,您可以将自己的数据与其他共享自己数据的公司的行业汇总数据进行比较。比较可以为您提供有价值的背景信息,帮助您设置有意义的目标,深入了解行业趋势,并对比竞争对手了解您的表现。

为了查看基准化分析数据,您的互动度数据会以匿名方式纳入 Google 的基准化分析。如果您选择不在基准化分析报告中以匿名方式查看及纳入您的互动度数据,请提交支持服务工单。支持服务工单通常会在 3 天内得到解决。