注意:Google Maps Platform 高级计划不再面向注册客户和新客户提供。
本常见问题解答涵盖特定于 Google Maps Platform 高级计划的问题。
对于涉及整体 Google Maps Platform 的共性问题,请参阅 Google Maps Platform 常见问题解答。
开始使用
- 什么是 Google Maps Platform 高级计划?
- Google Maps Platform 高级计划中包含哪些 API?
- 如何与 Google Maps Platform 高级计划的技术支持人员联系?
- 技术支持服务在什么时间提供?
- 如何重置 Google Cloud 支持门户的登录凭据?
- Google Maps Platform 高级计划的服务条款内容是什么?
旧版 Google Maps APIs for Work 许可和续订
购买 Google Maps Platform 高级计划
- 为什么应购买 Google Maps Platform 高级计划?
- 如何购买 Google Maps Platform 高级计划?
- 是否需要 Google 帐号才能使用 Google Maps Platform 高级计划?
用量限额
- Google Maps Platform 高级计划用量是如何计算的?
- 如何跟踪应用的 Google Maps Platform 高级计划用量?
- 如何估算应用的 Maps API 额度使用情况?
- 如果我用完了所有的 Maps API 额度,会怎么样?
- 为什么“Places API 详情”请求消耗 2 个 Maps API 额度,而“地点自动填充”请求仅消耗 0.1 个额度?
开发应用
- 我会获得一个 Google Cloud Platform Console 项目 ID 和一个客户端 ID 吗?
- 向我提供的 Google Cloud Platform Console 项目是否已启用所有可用的 API?
- API 密钥与客户端 ID 之间有什么区别?
- 我需要在测试环境中使用自己的 Google Maps Platform 高级计划凭据吗?
- 如何通过 Google Maps Platform 高级计划访问高级移动功能?
- Google Maps Platform 高级计划是否提供适用于 Android 的动态库?
- 如何使用 Google Maps Platform 高级计划客户端 ID 从通过 HTTPS (SSL) 加载的网页访问 Maps JavaScript API?
- 配合使用 Common Loader 和
base_domain
参数时,如何通过 HTTPS (SSL) 加载 Maps JavaScript API?
KML
网址签名
样式设置
开始使用
-
借助 Google Maps Platform 高级计划(简称“高级计划”),您可以获享我们的全套服务,从而确保拥有为自己的应用和网站实现可自定义、可扩展、适合在移动设备上查看的地图所需的所有工具。
- Google Maps Platform 高级计划中包含哪些 API?
-
Google Maps Platform 高级计划中包含下列 Google 产品。使用这些产品的应用在 Google Maps Platform 高级计划服务等级协议 (SLA) 涵盖范围内,且可以获取技术支持:
- Maps JavaScript API
- Maps Static API
- Street View Static API
- Geocoding API
- Geolocation API
- Elevation API
- Directions API
- Distance Matrix API
- Time Zone API
- Roads API
- Places API 和 Maps JavaScript API 的 Places library *
- Maps SDK for Android
- Maps SDK for iOS
* 高级计划资产跟踪许可不包含 Places API。如果您有资产跟踪许可并且希望使用 Places API,请与 Google 地图销售团队联系。
以下 API 不在 Google Maps Platform 高级计划覆盖范围内。使用这些 API 的应用必须遵守这些 API 的已发布服务条款,并且不在 Google Maps Platform 高级计划服务等级协议 (SLA) 的涵盖范围内,也无法获取技术支持:
- 如何与 Google Maps Platform 高级计划的技术支持人员联系?
-
Google Maps Platform 高级计划客户可以在 Google Cloud 支持门户上提交新的 Google 支持请求,网址为:
https://google.secure.force.com/
访问此门户需要使用用户名和密码。如果您没有帐号,请填写此表单。
如需了解详情,请参阅支持和资源指南。
- 技术支持服务在什么时间提供?
-
我们的支持团队在工作日全天提供服务,区域性节假日除外,具体的服务时间段为:周一上午 9 点(东京时间)到周五下午 5 点(太平洋时间)。
对于享有黄金级支持服务的高级计划客户,可以全天候就重大问题获取技术支持(工作日和周末,包括区域性节假日)。
如果您需要全天候技术支持服务,请与销售人员联系,详细了解黄金级支持。
如需了解更多详情,请参阅支持和资源指南。
- 如何重置 Google Cloud 支持门户的登录凭据?
-
我忘记了密码。Google Cloud 支持门户登录页面上也提供了此链接。
- Google Maps Platform 高级计划的服务条款内容是什么?
-
如果您是 Google Maps Platform 高级计划客户,请参阅您的协议,了解您在使用 Google Maps Platform 时须遵守的条款。如需了解详情,请参阅 Google Maps Platform 高级计划使用条款。
旧版 Google Maps APIs for Work 许可和续订
- 在哪里可以找到有关旧版 Google Maps APIs for Work 许可的信息?
-
您拥有高级计划许可还是旧版许可?
您拥有高级计划许可还是旧版许可?
如需确定您拥有的是哪种许可,请执行以下操作:
> 在 Google Cloud 支持门户中,点击左侧的 Maps: Usage Report。
> 报告顶部的 ID 是否为以下格式?
gme-[company] & proj-[number] ([type])
如果是,则表示您拥有的是高级计划许可。
如果不是,则表示您拥有的是旧版许可(Maps APIs for Work 或 Maps APIs for Business)。如需了解详情,请参阅旧版许可概览。
- 新版高级计划有什么变化?
购买 Google Maps Platform 高级计划
- 为什么应购买 Google Maps Platform 高级计划?
-
如果您的企业或组织有以下任一需求,则您应购买高级计划:
- 包含 24 小时技术支持的服务等级协议 (SLA)
- 通过嵌入式 Google 地图销售产品或服务的功能
- 为内部应用或网站使用 Google Maps Platform 的权限
- 特定量的配额
- 为资产跟踪应用使用 Google Maps Platform 的权限
- 您的现有 Maps APIs for Work 许可提供的高级功能
- 如何购买 Google Maps Platform 高级计划?
-
请与您的 Google 销售代表联系,详细了解如何购买高级计划,并获得基于估算的应用用量的报价。
- 是否需要 Google 帐号才能使用 Google Maps Platform 高级计划?
-
是,您需要有 Google 帐号才能使用 Google Cloud Platform Console 中提供的 Google Maps Platform。
用量限额
- Google Maps Platform 高级计划用量是如何计算的?
-
您拥有高级计划许可还是旧版许可?
如需确定您拥有的是哪种许可,请执行以下操作:
> 在 Google Cloud 支持门户中,点击左侧的 Maps: Usage Report。
> 报告顶部的 ID 是否为以下格式?
gme-[company] & proj-[number] ([type])
如果是,则表示您拥有的是高级计划许可。
如果不是,则表示您拥有的是旧版许可(Maps APIs for Work 或 Maps APIs for Business)。在 Google Maps Platform 高级计划中,您的应用会以不同的费率使用配额,具体取决于请求的 API。您需要根据估算的应用年度使用量购买一年或多年的配额(称为 Maps API 额度)。您的应用发出的所有 Maps API 请求都会消耗您购买的额度池中的额度。例如,如果您的应用使用 Maps JavaScript API 显示地图,则会为 Maps JavaScript API 地图加载次数消耗额度。当应用消耗完额度池中的所有额度后,您可以根据需要购买更多额度。如需了解详情,请参阅高级计划使用费率和用量限额指南。
- 如何跟踪应用的 Google Maps Platform 高级计划用量?
-
如需了解如何跟踪应用的 Maps API 额度用量以及其他使用情况报告和分析,请参阅高级计划报告指南。
- 如何估算应用的 Maps API 额度使用情况?
-
您可以使用 Google Maps API 高级计划计算器估算应用的用量。
此外,额度计算示例也很实用。
- 如果我用完了所有的 Maps API 额度,会怎么样?
-
如果您用完了 Maps API 额度,您应用的请求仍会成功,但是您的帐号可能需要支付超额费用。在这种情况下,您需要尽快续订您的 Google Maps Platform 高级计划许可,以免您的帐号被暂停。在您使用完 85% 的配额后,Google 会通过电子邮件通知您。
- 为什么“Places API 详情”请求消耗 2 个 Maps API 额度,而“地点自动填充”请求仅消耗 0.1 个额度?
-
Places API 使用的是包含大量商家地点和其他地点数据的庞大数据库。由于商家频繁地营业和停业,确保此数据库准确无误需要花费大量的时间和精力。因此,我们会针对“地点详情”请求扣取更多的额度。对于“地点自动填充”,我们知道用户经常需要键入多个字符来查找地点,因此,我们仅针对每个请求扣取很少的额度。
开发应用
- 我会获得一个 Google Cloud Platform Console 项目 ID 和一个客户端 ID 吗?
-
是的,您收到的欢迎邮件中将包含您的 Google Cloud Platform Console 项目 ID 和客户端 ID。
- 向我提供的 Google Cloud Platform Console 项目是否已启用所有可用的 API?
-
是的,在高级计划中,我们会为相同的 Google Cloud Platform Console 项目自动配置所有 API。您可以在一个项目中访问所有 API。同一个平台(Web、网络服务、Android 或 iOS)上的 API 可以共用同一 API 密钥。您的 API 密钥可以提供实时使用情况报告和最长 30 天的历史使用情况数据。如果您需要 Maps API Analytics、按渠道划分的使用情况报告和 30 天以上的历史报告数据等功能,可以为大多数 API 使用客户端 ID,而不是 API 密钥。(客户端 ID 不适用于 Places API、Geolocation API、Roads API、Maps SDK for Android 或 Maps SDK for iOS。)
- API 密钥与客户端 ID 之间有什么区别?
-
您可以使用项目 ID 在 Google Cloud Platform Console 中生成 API 密钥。下面是 API 密钥与客户端 ID 用法之间的主要区别:
- API 支持:您可以将 API 密钥与任何 Maps API 搭配使用。或者,您也可以将客户端 ID 与除 Places API、Geolocation API、Roads API、Maps SDK for Android 和 Maps SDK for iOS 以外的任何 API 搭配使用。
- 报告:您的 API 密钥可以提供实时使用情况报告和最长 30 天的历史使用情况数据。如果您需要 Maps API Analytics、按渠道划分的使用情况报告和 30 天以上的历史报告数据等功能,请为支持使用客户端 ID 的 API 使用此 ID。
- 错误代码:如果您使用 API 密钥,那么会收到基于 HTTP 状态代码类的错误消息(例如,3xx 和 4xx 错误),这些消息仅提供一般信息。如果您使用客户端 ID,那么会在 Google Cloud 支持门户报告中收到更详细的 API 专用错误代码,此类代码可以帮助您进行问题排查。
- 安全性:只要您遵循以下原则,API 密钥和客户端 ID 同样安全:
- 如果您使用 API 密钥,请妥善保存您的密钥。对 Maps API 的所有请求均使用 HTTPS,因此,其他人截获您的数据流量的风险非常低。不过,如果其他人可以获取您的密钥,他们就可以使用您的密钥发起 Maps API 请求。为防止客户端 API 面临这种风险,您可以限制能够使用您的密钥的网域。对于服务器端 API,请对您的密钥施加限制,以仅允许来自您服务器的源 IP 地址的请求。如需详细了解如何安全地使用 API 密钥,请参阅使用 API 密钥。
- 如果您使用客户端 ID,请妥善保管您的加密密钥(用于生成数字签名)。另外,也要确保任何情况下都不在 API 请求中使用加密密钥,也不使用此密钥通过 JavaScript 对网址进行签名,因为这样会暴露您的密钥。
- 我需要在测试环境中使用自己的 Google Maps Platform 高级计划凭据吗?
-
整体 Google Maps Platform 都需要通过 API 密钥或客户端 ID 进行身份验证。在测试环境中开发应用时,请考虑以下几点:
- 如果您需要针对测试环境获取技术支持,那么必须使用高级计划中的凭据(客户端 ID 或 API 密钥)。请注意,使用 Maps API 会根据使用费率和用量限额消耗您计划中的 Maps API 额度。
- 如果您不希望测试环境消耗计划中的 Maps API 额度,您可以使用标准凭据(在 Google Cloud Platform Console 中设置的 API 密钥)- 不过,在这种情况下,您将无法针对测试环境获取技术支持。如果您选择使用标准凭据,您的应用或网站将需遵循每个 API 的标准用量限额。如需详细了解标准用量限额,请参阅定价和计划。
- 如果您预计会在测试环境中开展大量测试工作,同时也希望针对测试环境获取技术支持,但不希望消耗高级计划的 Maps API 额度,不妨考虑购买仅用于开发的许可。通常情况下,这是一种低成本选项,并且提供技术支持。如需了解详情,请与您的 Google 地图客户经理联系。
- 如果您在对应用进行负载测试,可以使用一个模拟 API 运行这些测试。请参阅发布前核对清单中的对应用执行负载测试。
- 如何通过 Google Maps Platform 高级计划访问高级移动功能?
-
您可以使用以下面向标准 API 用户提供的相同 SDK 访问高级移动功能:Maps SDK for iOS 和 Maps SDK for Android。如要访问高级功能,请务必使用在注册期间为您创建的项目中的 API 密钥。如要验证您是否有权访问高级移动功能,请使用静态库加载地图。如需了解详情,请参阅有关开始使用高级计划的指南(Android 版和 iOS 版)。
- Google Maps Platform 高级计划是否提供适用于 Android 的动态库?
-
是,在高级计划中,您也可以为 Maps SDK for Android 使用动态库(而不是静态库)。如需了解详情,请参阅有关开始使用高级计划的指南(Android 版)。
- 如何使用 Google Maps Platform 高级计划客户端 ID 从通过 HTTPS (SSL) 加载的网页访问 Maps JavaScript API?
-
如需从通过 HTTPS 加载的网页访问 Maps JavaScript API,您必须先对您要使用该 API 的目标 HTTPS 网址授权。
-
配合使用 Common Loader 和
base_domain
参数时,如何通过 HTTPS (SSL) 加载 Maps JavaScript API? -
配合使用 Common Loader 和
base_domain
参数集时,无法通过 SSL 加载 Maps JavaScript API。base_domain
参数不会影响应用的性能 - 无论该 API 从哪个网域加载,API 请求始终都由特定用户所在位置的最优地图服务器处理。base_domain
会使地理编码结果偏向特定地区;要在不使用base_domain
的情况下取得相同的效果,请设置地理编码服务的region
参数。
KML
- 如何在地图上渲染托管在内网网站上的 KML 文件?
-
KmlLayer
类会在 Maps JavaScript API 中生成 KML 叠加层,它使用 Google 托管服务检索和解析要渲染的 KML 文件。因此,无法显示未托管在可以公开访问的网址上或者需要进行身份验证才能访问的 KML 文件。如果您要开发的应用需要使用托管在内网网站上的 KML 文件,我们建议您使用第三方 JavaScript 库在客户端上渲染 KML 文件。由于该 KML 文件是由浏览器进行分析的,因此与使用
KmlLayer
类进行分析相比,前者的性能可能较低。
网址签名
- 可以使用 JavaScript 对网址进行签名吗?
-
我们强烈建议您不要使用 JavaScript 对网址进行签名,因为这样会将您的加密密钥公开给最终用户。因此,仅应由服务器端组件生成签名。
- 为什么我的 Maps API 网络服务请求收到“HTTP 403 Forbidden”响应?
-
HTTP 403 响应表示存在权限问题,这可能是由于无法为此请求验证签名造成的。无法验证签名的原因可能有以下几种:
- 签名已经指定,但不是此请求的正确签名。
- 此请求指定了 Google Maps Platform 高级计划客户端 ID,但未指定签名,并且正在调用的网络服务要求使用客户端 ID 发起的所有请求都应包含有效签名。
- 签名已经指定,但关联的 Google Maps Platform 高级计划客户端 ID 未指定。
样式设置
- 为什么商家无法在我的地图上显示?
-
使用 Maps JavaScript API 加载地图以及添加高级计划凭据(
key
或client
参数)时,地图上的商家信息默认处于关闭状态。如需重新开启商家信息,您需要在地图中添加一些样式设置代码:var styles = [ { featureType: 'poi.business', stylers: [ { visibility: 'on' } ] } ]; map.setOptions({styles: styles});