Maps Static API 中的错误消息

Maps Static API 可能会在出现故障时显示错误或警告。本指南介绍了每条错误消息,并提供了有关解决错误的进一步说明。

无效请求

发生无效请求时,Maps Static API 会返回 HTTP 4xx 状态代码和一则描述问题的消息。以下是此类错误状况的示例。注意:这并非可能出现的错误的完整列表。请查看 API 返回的实际错误代码和消息,了解特定问题的详情。

错误状况示例 状态代码
请求包含无效参数,或者缺少必需的参数。例如,size 参数不在预期的数值范围内,或者请求中缺少该参数。 400 BAD REQUEST
请求中包括的 API 密钥无效。 403 FORBIDDEN

使地图无法显示的错误

如果请求有效,但发生了其他使地图无法显示的错误,则 Maps Static API 会返回文本或错误图像(取决于错误),而不是地图。举例来说,当应用超过其使用限制时,就会发生此类错误状况。

显示错误图像而非地图
图:显示错误图片而非地图

如果您在使用 Maps Static API 时未使用 API 密钥,或者您的账号未启用结算功能,则页面会显示错误图片而非地图,同时显示一个指示错误类型的链接。例如“g.co/staticmaperror/key”。

无钥匙进入错误和解决方案
使用限制错误:超过提供的每日地图加载次数限制 您未通过 API 密钥使用 Maps Static API。要解决此问题,您必须:
  1. 获取 API 密钥
  2. 启用结算功能
  3. 为您的网址签名
使用限制错误:请求网址缺少数字签名 您的请求缺少数字签名(必需)。如需解决此问题,请 为您的网址签名

警告

发生某些错误状况时,API 虽能返回地图,但其中缺少某些信息。这种情况发生时,会出现两种情形来告知您存在警告。

  • 其一,地图显示,但地图上方会叠加一个黄色错误栏,文本内容为“Map error: g.co/staticmaperror”。
  • 其二,API 会以名为 X-Staticmap-API-Warning 的 HTTP 标头形式返回警告。

例如,以下网址的 markers 参数中包含一个意外值:

https://maps.googleapis.com/maps/api/staticmap?center=Williamsburg,Brooklyn,NY&zoom=13&scale=1&size=400x400&markers=sdgaags&key=YOUR_API_KEY

API 会返回地图,但会在图像上叠加一个黄色错误栏,文本内容为“Map error: g.co/staticmaperror”:

地图显示,但会在地图上显示错误信息:g.co/staticmaperror

API 也会返回以下 HTTP 标头:

X-Staticmap-API-Warning:Error geocoding: marker 1

下表介绍了 API 可能会以 HTTP 标头形式发出的警告:

X-Staticmap-API-Warning 标头中存在警告
Error geocoding: [center, ][marker #number, ][visible #num, ][path #num, ]* 尝试对请求进行地理编码时出错。这则消息有许多变型,具体内容取决于发生地理编码失败的元素(center、marker、visible 或 path)和失败的元素数量。举例来说,X-Staticmap-API-Warning:Error geocoding: marker 1 便属于这种警告,如上例所示。
Too many geocoded markers requested (max is 15). 请求指定的具有可人工读取地址的标记数量超过了允许的最大数量。最多 15 个。请注意,此限制仅适用于指定为需要进行地理编码的可人工读取地址的标记,并不适用于以纬度/经度坐标指定的标记。
Too many geocoded polyline vertices requested (max is 15). 请求指定的具有可人工读取地址的多段线数量超过了允许的最大数量。最多 15 个。请注意,此限制仅适用于指定为需要进行地理编码的可人工读取地址的带顶点多段线,并不适用于以纬度/经度坐标指定的多段线。

您可以在 Chrome 开发者工具控制台Firefox Web 控制台或浏览器中的其他等效工具中查看 HTTP 标头警告。