常见问题解答

本常见问题解答涵盖特定于 Google Maps APIs Premium Plan的问题。

对于涉及所有 Google Maps APIs 的共性问题,请参阅 Google Maps APIs 常见问题解答

入门指南

旧版 Google Maps APIs for Work 许可和续订

购买 Google Maps APIs Premium Plan

使用限制

开发应用

KML

网址签名

样式设置

入门指南

什么是 Google Maps APIs Premium Plan?

选择 Google Maps APIs Premium Plan(Premium Plan)后,您可以获取我们的一整套服务,这些服务为您提供了所需的一切工具,可以帮助您为自己的应用和网站实现可自定义、可扩展的移动设备友好型地图。

Google Maps APIs Premium Plan中包含哪些 API?

Google Maps APIs Premium Plan 中包含下列 Google 产品。使用这些产品的应用涵盖在 Google Maps APIs Premium Plan SLA 范围内,可以享受技术支持

* Google Places API 未包含在 Premium Plan资源跟踪许可中。如果您已购买资源跟踪许可并且想要使用 Places API,请联系 Google Maps销售团队。

下列 API 不在 Google Maps APIs Premium Plan 的范围内。使用这些 API 的应用必须遵守相关 API 已经发布的服务条款,并且不在 Google Maps APIs Premium Plan SLA 的涵盖范围内,也没有资格获得技术支持:

如何为 Google Maps APIs Premium Plan 获取技术支持?

Google Maps APIs Premium Plan 客户可以在 Google Cloud Support Portal 上提交一个新的 Google 支持案例,网址为:

https://google.secure.force.com/

访问此门户需要使用用户名和密码。如果您没有帐号,请填写此表单

如需了解详细信息,请参阅支持和资源指南。

如何重置 Google Cloud Support Portal 的登录凭据?

我忘记了密码Google Cloud Support Portal 登录页面上也提供了此链接。

Google Maps APIs Premium Plan 的服务条款有哪些?

如果您是 Google Maps APIs Premium Plan 客户,请参阅您的协议,了解约束 Google Maps APIs 使用的条款。如需了解详细信息,请参阅 Google Maps APIs Premium Plan使用条款

旧版 Google Maps APIs for Work 许可和续订

从哪里可以找到与旧版 Google Maps APIs for Work 许可有关的信息?

要确定您是否拥有旧版 Maps APIs for Work 许可,请执行以下操作:在 Google Cloud Support Portal 中,点击左侧的 Maps:Usage Report。如果报告顶部的 ID 采用以下格式,则说明您拥有新版 Premium Plan:
gme-[company] & proj-[number] ([type])。否则,您拥有的是旧版许可。如需了解详细信息,请参阅 Maps APIs for Work 许可指南。

新的Premium Plan有什么变化?

请参阅面向续订客户的变更摘要许可续订的常见问题解答

购买 Google Maps APIs Premium Plan

为什么应购买 Google Maps APIs Premium Plan?

如果您的企业或组织有下列任一需求,您就应该购买 Premium Plan:

  • 提供 24 小时技术支持的 SLA
  • 通过嵌入式 Google 地图销售产品或服务的功能
  • 为内部应用或网站使用 Google Maps APIs 的权限
  • 特定量的配额
  • 为资源跟踪应用使用 Google Maps APIs 的权限
  • 随您的现有 Maps APIs for Work 许可证提供的高级功能
如何购买 Google Maps APIs Premium Plan?

联系您的 Google 销售代表,了解有关购买Premium Plan的详情,以及获得一份基于应用预估消耗的报价。

我需要有一个 Google 帐号才能使用 Google Maps APIs Premium Plan吗?

是的,您需要一个 Google 帐号才能访问通过 Google API Console 提供的 Google Maps APIs。

使用限制

Google Maps APIs Premium Plan消耗是如何计算的?

拥有旧版 Maps APIs for Work 或 Maps API for Business 许可?请参阅我们的 Maps APIs for Work 许可指南。要确定您是否拥有旧版许可,请执行以下操作:在 Google Cloud Support Portal 中,点击左侧的 Maps:Usage Report。如果报告顶部的 ID 采用以下格式,则说明您拥有新版 Premium Plan:
gme-[company] & proj-[number] ([type])
。否则,您拥有的是旧版许可。

在 Google Maps APIs Premium Plan 中,应用消耗配额的速率因应用请求的 API 而异。您根据应用每年的消耗估算购买一年或多年的配额(称为 Maps API 额度)。您的应用发出的所有 Maps API 请求都会消耗您购买的额度池中的额度。例如,如果您的应用使用 Google Maps JavaScript API 显示地图,它就会消耗 Maps JavaScript API 地图加载的额度。如果您的应用已经消耗完额度池中的所有额度,您可以根据需要购买更多的额度。如需了解详细信息,请参阅Premium Plan使用率和限制

如何跟踪应用的 Google Maps APIs Premium Plan消耗?

如需了解有关应用的 Maps API 额度消耗的信息以及其他消耗报告和分析,请参阅Premium Plan报告指南。

如何估算应用的 Maps API 额度消耗?

您可以使用 Google Maps API 高级计算器估算应用的消耗。

此外,您会发现额度计算示例也很有帮助。

如果我用完了所有的 Maps API 额度,会发生什么情况?

如果您用完了 Maps API 额度,您应用的请求仍会成功,但是您的帐号可能需要支付超额费用。在这种情况下,您需要尽快续订您的 Google Maps APIs Premium Plan许可,以免您的帐号出现服务中断。在您使用完 85% 的配额后,Google 将通过电子邮件通知您。

为什么“Google Places API 详情”请求消耗 2 个 Maps API 额度,而“地点自动填充”请求仅消耗 0.1 个额度?

Google Places API 使用一个包含大量商家和其他地点数据的庞大数据库。由于商家频繁地开业和关门,确保数据库准确需要花费大量的时间和精力。因此,我们会向“地点详情”请求收取更多的额度。对于地点自动填充,我们意识到用户经常需要键入多个字符来查找一个地点,因此,我们仅向每个请求收取少量的额度。

开发应用

我会同时获得一个 Google API Console 项目 ID 和一个客户端 ID 吗?

是的,您的欢迎信中将包含您的 Google API Console 项目 ID 和客户端 ID。

向我提供的 Google API Console 项目是否已启用所有可用的 API?

是的,在Premium Plan下,我们会为相同的 Google API Console 项目自动设置我们全部的 API。您可以在一个项目中访问所有 API。同一个平台(网络、网络服务、Android 或 iOS)上的 API 可以共享相同的 API 密钥。您的 API 密钥可以提供实时消耗报告和过去最多 30 天的历史消耗数据。如果您需要 Maps API 分析、按渠道的消耗报告和过去 30 天以上的历史报告数据等功能,您可以为大多数 API 使用您的客户端 ID,而不是 API 密钥。(客户端 ID 不适用于 Google Places API、Google Maps Geolocation API、Google Maps Roads API、Google Maps Android API 或 Google Maps SDK for iOS。)

API 密钥与客户端 ID 之间有什么区别?

使用您的项目 ID,您可以在 Google API Console 中生成 API 密钥。下面是 API 密钥与客户端 ID 使用之间的主要区别:

  • API 支持:您可以将 API 密钥与任意 Maps API 搭配使用。或者,您也可以将客户端 ID 与 Google Places API、Google Maps Geolocation API、Google Maps Roads API、Google Maps Android API 和 Google Maps SDK for iOS 以外的任意 API 搭配使用。
  • 报告:您的 API 密钥可以提供实时消耗报告和过去最多 30 天的历史消耗数据。如果您需要 Maps API 分析、按渠道的消耗报告和过去 30 天以上的历史报告数据等功能,请为支持使用客户端 ID 的 API 使用此 ID。
  • 错误代码:如果您使用 API 密钥,您会收到符合 HTTP 状态代码类的错误消息(例如,3xx 和 4xx 错误),这些消息仅提供一般信息。如果使用客户端 ID,您会在 Google Cloud Support Portal 报告中收到更详细的 API 特定错误代码,此代码可以帮助您进行问题排查。
  • 安全性:只要您遵守以下指导原则,API 密钥和客户端 ID 的安全性将相同。
    • 如果您使用 API 密钥,请妥善保存您的密钥。对 Maps API 的所有请求均使用 HTTPS,因此,其他人截获您的数据流量的风险非常低。不过,如果其他人可以获取您的密钥,他们就可以使用您的密钥发起 Maps API 请求。为防止客户端 API 出现这种风险,您可以限制能够使用您的密钥的域名。对于服务器端 API,请限制您的密钥,仅允许来自您服务器的源 IP 地址发起的请求。如需了解有关安全使用 API 密钥的详细信息,请参阅 Console 帮助中心
    • 如果您使用客户端 ID,请妥善保管您的加密密钥(用于生成数字签名)。另外,也要确保在任何情况下都不在 API 请求中使用加密密钥,也不要使用此密钥通过 JavaScript 签署网址,因为这样会暴露您的密钥。
我需要在测试环境中使用自己的 Google Maps APIs Premium Plan凭据吗?

所有 Google Maps APIs 都需要通过 API 密钥或客户端 ID 进行身份验证。在测试环境中开发您的应用时,请考虑以下几点:

  • 如果需要为测试环境获取技术支持,您必须使用Premium Plan中的凭据(客户端 ID 或 API 密钥)。请注意,使用 Maps API 将根据使用率和限制消耗您计划中的 Maps API 额度。
  • 如果您不希望测试环境消耗计划中的 Maps API 额度,您可以使用标准凭据(API 密钥,在 Google API Console 中设置)- 不过,在这种情况下,您的测试环境将无法获得技术支持。如果您选择使用标准凭据,您的应用或网站将受每个 API 标准使用限额的制约。如需了解有关标准使用限额的详细信息,请参阅定价和计划
  • 如果您预期会在测试环境中开展大量测试工作,同时也希望为测试环境获取技术支持,但不希望消耗您Premium Plan的 Maps API 额度,请考虑购买一种仅用于开发的许可。这通常是一种低成本选项,并且可以提供技术支持。请联系您的 Google Maps客户经理了解详细信息。
  • 如果您正在对应用进行负载测试,可以使用一个模拟 API 运行这些测试。请参阅启动前检查单中的在应用上执行负载测试部分。
如何通过 Google Maps APIs Premium Plan获取 Zagat 功能?

在Premium Plan下,包含 API 密钥的 Google Places API Web Service请求将返回高级 Zagat 内容。要验证您是否拥有 Zagat 内容的访问权限,请向 Google Places API Web Service发送一个请求,并包含在您注册期间为您创建的项目中的密钥。下面是一个示例网址:

https://maps.googleapis.com/maps/api/place/textsearch/json?query=restaurants+in+mountain+View,+ca&key=YOUR_API_KEY
如何通过 Google Maps APIs Premium Plan获取高级移动功能?

您可以使用与标准 API 用户所用相同的 SDK 获取高级移动功能:Google Maps SDK for iOSGoogle Maps Android API。要获取高级功能,请务必使用在您注册期间为您创建的项目中的 API 密钥。要验证您是否拥有高级移动功能的访问权限,请使用静态内容库加载地图。如需了解详细信息,请参阅 Android 版iOS 版Premium Plan入门指南。

Google Maps APIs Premium Plan是否提供适用于 Android 的动态内容库?

是,在Premium Plan下,您也可以为 Google Maps Android API 使用动态内容库,而不是静态内容库。如需了解详细信息,请参阅 Android 版Premium Plan入门指南。

如何使用 Google Maps APIs Premium Plan 客户端 ID 从通过 HTTPS (SSL) 加载的页面访问 Google Maps JavaScript API?

要从通过 HTTPS 加载的页面访问 Google Maps JavaScript API,您首先必须授权 HTTPS 网址,这些网址是您希望在其上面使用 API 的目标网址。

使用 Common Loader 的 base_domain 参数时,如何通过 HTTPS (SSL) 加载 Google Maps JavaScript API?

使用 Common Loader 的 base_domain 参数集时,无法通过 SSL 加载 Maps JavaScript API。

base_domain 参数不会影响您应用的性能 - 无论从哪个网域加载 API,用于获取特定用户位置的 API 请求始终都会由最优的地图服务器处理。

base_domain 会使地理编码结果偏向特定区域;要在不使用 base_domain 的情况下获得相同的效果,请设置地理编码服务的 region 参数

KML

如何在地图上渲染托管在内网网站上的 KML 文件?

在 Google Maps JavaScript API 中生成 KML 叠层的 KmlLayer 类使用 Google 托管服务检索和解析要渲染的 KML 文件。因此,无法显示未托管在可以公开访问的网址上或者需要进行身份验证才能获取的 KML 文件。

如果您需要开发使用托管在内网网站上的 KML 文件的应用,我们建议您使用第三方 JavaScript 内容库在客户端上渲染 KML 文件。由于 KML 文件通过浏览器分析,性能可能比使用 KmlLayer 类时的差。

网址签名

可以使用 JavaScript 签署网址吗?

我们强烈建议您不要使用 JavaScript 签署网址,因为这样会将您的加密密钥展示给最终用户。因此,仅应通过服务器端组件生成签名。

我为何会在 Maps API 网络服务请求中收到 HTTP 403 (Forbidden) 响应?

HTTP 403 响应表示存在权限问题,这很可能是因为无法对此请求验证签名。无法验证签名的原因可能是以下几个:

  1. 签名已经指定,但不适用于此请求。
  2. 请求指定 Google Maps APIs Premium Plan 客户端 ID,但未指定签名,并且正在调用的网络服务要求使用客户端 ID 发起的所有请求都应包含有效签名。
  3. 签名已经指定,但关联的 Google Maps APIs Premium Plan 客户端 ID 未指定。

样式设置

为什么商家无法在我的地图上显示?

使用 Google Maps JavaScript API 加载地图并包含 client 参数时,地图上的商家列表在默认情况下处于关闭状态。要将其打开,您需要在您的地图上添加一些样式设置代码

var styles = [
  {
    featureType: 'poi.business',
    stylers: [
      { visibility: 'on' }
    ]
  }
];

map.setOptions({styles: styles});