常见问题解答

入门指南

了解服务条款

使用限制和收费

使用 Google Maps API

Google Maps API 服务

入门指南

什么是 Google Maps API?

Google Maps API 为开发者提供了几种将 Google 地图嵌入网页的途径,开发者既可轻松使用,也可进行深度定制。现在提供以下几种 API:

视具体需求,您可能需要使用其中的一种 API,或者组合使用多种 API。

如果您运营的是企业或商用网站,可能还会对 Google Maps API for Work 产生兴趣。

我需要哪一个 API?

如果您在寻找适合自身功能要求的 API 方面需要帮助,不妨看一看 API 选取器

Google Maps API 覆盖哪些国家?

Google 地图团队正在不断向外推送新增的地图数据以及扩大我们的国际覆盖范围。请查阅 Google 地图覆盖范围数据,了解最新的覆盖范围信息。您可以通过页面顶部的过滤框过滤数据。请注意,与数据提供商的授权协议变更时,覆盖范围数据可能会发生变化。

另请参阅:

我能否不使用 Google Maps API 便可将 Google 地图嵌入我的网站?

可以。Google 地图现在提供了一项新功能,让您无需进行任何编程,也不必使用 Google Maps API,便可将您正在查看的地图嵌入网站或博客。如需了解详细信息,请参阅此处

我如何在移动设备上提供地图应用?

Google Maps JavaScript API 以迎合移动设备需求为开发宗旨,适用于特定浏览器应用,这些应用的目标平台既有台式机,也有 Apple iPhone 这类提供的 Web 浏览器包含完整 JavaScript 实现的设备。

如果应用的目标平台是不适合使用 JavaScript API 的设备,则可由 Google Static Maps API 提供 GIF、JPG 和 PNG 格式的地图图像,包括标记和聚合线。请注意,在基于浏览器的应用以外使用 Google Static Maps API 需要将地图图像链接到 Google 地图。

如需在 Android 应用内集成地图,请使用 Android 地图外部库

如需在原生 iOS 应用内集成地图,请使用 Google Maps SDK for iOS

在自己的网站上使用 Google Maps API 该从何处着手?

请参阅 Maps Javascript API 文档中提供的示例和详情。

我如何得知 Google Maps API 的变更?

您应该订阅 Google Geo Developers Blog,以便接收各种 Google 地理开发者产品的新闻动态。

此外,每个 API 都有一个通知组,让您了解可能影响应用的变更,如新版本。这些组都会在 Google Maps API 支持页面上列出。

了解服务条款

什么是 Google Maps API 服务条款?

以下网址公布了 Google Maps API 服务条款:

https://developers.google.com/maps/terms

如果您是 Google Maps API for Work 客户,请参阅您的协议,了解约束 Google Maps API 使用的条款。

我的网站是否符合 Google Maps API 的服务条款?

Maps API 提供给所有允许消费者免费访问的网站。无论是商用网站还是非营利性网站,只要您的网站符合服务条款,便可在网站上使用 Google Maps API。

不过,我们绝对不愿意看到以下这些对 Google Maps API 的不当使用:例如,在地图上标示市内非法药物的购买地点,或者从事任何其他非法活动的地点。我们也尊重人们的隐私权,因此 Google Maps API 不应用于表露个人的私密信息。

您应该咨询自己的法律顾问来确定您的应用是否符合服务条款,然后再进行开发和发布。Google 工程师只能提供技术协助,他们没有资格提供法律意见。Google 保留随时暂停或终止您使用服务的权利,因此请仔细阅读服务条款

如果您运营的是企业或商用网站,可能还会对 Google Maps API for Work 产生兴趣,其服务条款进行了修改,可能更适合您的需要。

我能否直接访问地图图像和卫星图像?

您不得通过 Google Maps API 以外的任何机制(如开发自己的地图 API,或使用批量图块下载脚本)访问地图或卫星图像。如果您的应用通过 Google Maps API 以外的机制访问图块,这种访问将被阻止。请参阅 Google 地图服务条款第 10.1.a 节,了解更多详情。

我能否在商用网站上使用 Google Maps API?

只要您的网站是消费者普遍都可免费访问的网站,便可使用 Google Maps API。例如,如果您的网站靠广告提供支持,就很可能符合 Google Maps API 的服务条款。如果您对在您的地图上发布信息(例如将其住宅标价出售)的用户收费,但您是利用 Google Maps API 在网站的免费区域显示该信息,那么您同样符合 Google Maps API 服务条款

不过,并非所有商业用途都能得到允许。例如,如果您的网站符合下列任一条件,则必须购买相应的 Google Maps API for Work 许可证:

  • 您的网站只供付费客户使用。
  • 您的网站只能在您的公司内或内联网上访问。
  • 您的应用与企业派遣、车队管理、商业资产追踪或类似应用有关。

切记,Google 保留随时暂停或终止您使用 Google Maps API 的权利,因此请务必仔细阅读服务条款

我能否使用 Google Maps API 来追踪应用?

在利用 Google Maps API 显示实时数据(追踪)方面并无限制,前提是应用公开免费提供并且在其他方面符合服务条款。对于只在内部使用的应用,必须使用 Google Maps API for Work。请参阅服务条款第 10.4 节,了解更多详情。

我能否在自己的非 Web 应用内使用 Google 地图?

可以,Google Maps API 现在可以在桌面应用中使用,前提是这些应用遵守服务条款的其他限制。请注意,要想让桌面应用被视为“可公开访问”的应用,必须提供可下载该应用的可公开访问网页。请参阅服务条款第 9.1 节,了解更多详情。

只支持在其中一个支持的浏览器中运行 Google Maps JavaScript API。

我能否在受密码保护的网站上使用 Google Maps API?

可以,但您应该查阅服务条款,然后再在受密码保护的网站上使用 Google Maps API。如果消费者可轻松地免费注册密码,或者受密码保护地图的目的是改善公开提供的地图(即管理),那么您的网站可能符合服务条款。如果不属于这种情况,您就需要使用 Google Maps API for Work

我能否在印刷材料或线下媒体中使用 Google Maps API 应用的屏幕截图?

在印刷材料和线下媒体中使用 Google Maps 图像须遵从以下网址上发布的“许可指南”:

http://www.google.com/permissions/geoguidelines.html

我如何选择不将自己的内容包含在 Google 搜索结果中?

我们不再收集此数据。indexing 参数已经弃用,因此使用该参数没有任何作用。您不再需要显式选择退出,但我们鼓励您在方便时从速删除此参数。

如需从搜索结果中删除您的页面或网站,请按照我们的网站站长帮助中心中提供的说明操作。

我使用 JavaScript Maps API 时,将有哪些信息发送给 Google?

使用 JavaScript Maps API 时,将有下列信息发送给 Google:

  • 用于检索地图图块和版权信息的地图尺寸和位置
  • 用于地理编码的地址
  • 方向和海拔高度请求
  • 用于搜索地点的中心位置
  • 使用 KmlLayer 时的 KML
我能否在自己的网站上存储和提供使用 Google Static Maps API 生成的地图图像?

您不得在自己的网站上存储和提供使用 Google Static Maps API 生成的图像副本。所有需要静态图像的网页都必须将 HTML img 标记的 src 属性或 HTML div 标记的 CSS background-image 属性直接链接到 Google Static Maps API,以使所有地图图像都显示在网页的 HTML 内容中,并由 Google 直接提供给最终用户。

使用限制和收费

哪些 Google Maps API 有使用限制?

Google Maps API 可在多种用例下免费使用,并为使用标准 API 提供免费使用限制和可预测的超额定价,对于企业部署,则有年度合同可供选择。

下列 API 没有使用限制:

下列 Maps API 有使用限制。点击 API 可查看其使用限制详情:

Maps API 必须按照标准服务条款进行部署。

什么是 Google Maps API 的使用限制?

大多数 Google Maps API 都有可在 Google Developers Console 中设置的免费每日配额。每日默认和最大查询数量因 API 而异。您可以通过启用收费或购买高级许可证增加免费的每日限制。

  • Web Services API

    Google Maps Web Services API 包含每天 2,500 次免费请求。如需获得更高的每日配额(最高每天 100,000 次),可使用我们提供的按需付费定价

    可选择加入按需付费。

  • Web API

    Google Maps JavaScript API、Google Static Maps API 和 Google Street View Image API 每天的默认限制为 25,000地图加载。如果您的网站或应用每天产生的地图加载次数达到或超过 25,000 次,并且持续时间超过 90 天,我们将尝试与您联系,商讨付款事宜。不必担心,如果您超过了限制,我们不会立即禁止您访问 API,也不会在您的网站上显示错误消息。

请参阅具体问题,获得对下列内容的准确定义:

:被视为合乎公众利益的应用(由 Google 自行酌情判定)不受这些使用限制的制约。例如,救灾地图不受使用限制的约束,即使其开发商和/或托管方是商业实体,也不受约束。此外,如果合格的非营利性组织能够证明其需要更高的地理编码限制,或者需要在内部使用 Google Maps API,可以通过 Google Earth Outreach 资助计划申请 Google Maps API for Work 许可证。

配额使用量是如何计算的?

配额使用量的计算因 API 而异。Web Services API 以请求为单位(请注意,Google Maps Distance Matrix API 以元素为单位)。Web API 使用地图加载次数来计算配额使用量。

对于 Google Maps Distance Matrix API,发送至该 API 的每个查询均受允许的元素数量限制,起点数量与目的地数量的乘积便是元素数量。

注:限制 Google Maps API Web Services 使用的配额有两种类型:长期(每日配额)和短期(请求率配额)。API 上可能还设置有其他限制,例如 Elevation API 中便设置有每次请求位置数限制。除了每日配额外,Image API 还包括图像最高分辨率。欲知详情,请查看各 Google Maps API 的使用限制页面。

就适用于 Google Maps Web API 的使用限制而言,什么算作一次“地图加载”?

下列情况算作一次地图加载:

  1. 使用 Google Maps JavaScript API 显示地图,并且地图由网页或应用加载;
  2. 使用 Google Maps JavaScript API 显示 Street View 全景图,并且全景图是由尚未同时显示地图的网页或应用所显示;
  3. Google Static Maps API 发出一次获取地图图像的请求;或
  4. Google Street View Image API 发出一次获取全景图像的请求。

地图加载后用户与其交互的程度对使用限制没有影响。请注意,如果应用在已经使用 Google Maps JavaScript API 显示了地图后,又在同一页面上使用该 Maps API 显示了 Street View 全景图,并不视为又一次地图加载。

Google Maps API for Work 应用受页面浏览量限制,后者与地图加载次数略有不同。如需了解详细信息,请参阅 Google Maps API for Work 常见问题解答

我如何监控自己的配额使用量?

您可以在 Google Developers Console 中监控各 API 的配额使用量。

  1. 从 Project 下拉列表中选择包含您想审查的 API 的项目。
  2. 在已启用 API 列表中,点击该 API 的名称。
  3. 在靠近页面顶部的位置,点击 QuotaUsage

:如需查看整个项目的流量报告和收费信息,请先启用收费

如果我超过了使用限制会发生什么情况?

如果您超过了给定 Google Maps API 的使用限制,该 API 会返回一则错误消息。如果您反复超过限制,可能会暂时禁止您访问该 API。

  • Web Services API

    对于 Google Maps API Web Services,限制使用的配额有两种类型:长期(每日配额)和短期(请求率配额)。如果您超过了使用限制或者以其他方式滥用了服务,Web 服务将返回特定错误消息。如果您继续超过限制,可能会禁止您访问 Web 服务。

    如果您存在下列情况,可能会超过 Google Maps API Web Services 的使用限制:

    • 每天发送的请求数量过多。
    • 发送请求的速度过快,即每秒请求数量过多。
    • 发送请求速度过快的情况持续过久,或者以其他方式滥用了 Web 服务。
    • 超过了其他使用限制,例如超过了 Elevation API 中的每次请求位置数量限制。

    :以下四个 Web Services API 在 JavaScript API 中提供了等效的客户端服务:DirectionsDistance MatrixElevationGeocoding。客户端 API 执行不同的限制。JavaScript API 的每个地图会话设有请求率限制,以便让请求散布于所有用户。这可以使基于浏览器的使用量能够随用户数量的增加而扩展。

  • Web API

    对于 Google Maps JavaScript API v3、Google Static Maps API 和 Google Street View Image API,如果您的网站或应用连续 90 天超过了每天 25,000地图加载的配额限制,Google 将尝试与您联系,为您提供有关付款方案的信息。届时,我们将规定一个购买期限;在这个期限之前,您的网站将继续按预期方式工作,地图的显示不会发生任何变化。

    如果期限已过,而您既未启用收费,也未购买 Google Maps API for Work 许可证,您网站上的地图虽然仍可继续工作,但能正常工作的期间仅限每天前 25,000 次地图加载。超过该数量后,API 将停止工作。

超过使用限制

如果您超过了使用限制,作为响应,您会收到 OVER_QUERY_LIMIT 状态代码。

这意味着 Web 服务将停止提供正常响应,并切换到只返回状态代码 OVER_QUERY_LIMIT,直至再次获得更多使用量。这可能会在下列时段内发生:

  • 几秒内,前提是由于您的应用每秒发送的请求数量过多而收到错误。
  • 未来 24 小时内,前提是由于您的应用每天发送的请求数量过多而收到错误。每日配额将在太平洋时间午夜重置。

如果您经常超过每日使用限制,请考虑:

  • 通过优化应用,使其更高效地使用 Google Maps API 来降低使用量。
  • 通过在您的项目上启用收费来增加使用限制。
  • 购买 Google Maps API for Work 许可证。
我的网站流量很大。我能否使用 Maps API?

可以。但我们建议您熟悉一下您的应用依赖的任何 Google Maps API 的使用限制

我是否应购买 Google Maps API 高级计划?

如果您的企业或组织有下列任一需求,您就应该购买 Google Maps API 高级计划:

  • 提供 24 小时技术支持的 SLA
  • 通过嵌入式 Google 地图销售产品或服务的功能
  • 为内部应用或网站使用 Google Maps API 的功能
  • 特定量的配额
  • 随您的现有 Maps API for Work 许可证提供的高级功能

我如何购买 Google Maps API 高级计划?

联系您的 Google 销售代表,了解有关购买 Google Maps API 高级计划的详情,以及获得一份基于应用预估使用量的报价。

如果您使用 Web Services API,我们每天允许 2,500 次免费请求。超过免费配额后,如果您注册了自动化收费,可以按需付费方式获得每天高达 100,000 次请求的配额。

如果您使用 Google Maps JavaScript API、Google Static Maps API 或 Google Street View Image API,答案是不会。您的地图可继续正常工作。为照顾那些会短期经历使用量高峰的网站,只有当网站连续 90 天超过使用限制时,才会执行相应的使用限制。

超额使用量是如何计算和收费的?

每项 Google Maps API 服务免费配额以上的超额使用量在每天结束时计算。

Web Services API 提供每天 2,500 次免费请求。如果您启用收费以获得更高配额,则当您超过每天 100,000 次请求的配额后,每增加 1,000 次请求,付费 0.50 美元,每天封顶配额为 2,500 次。

Google Maps JavaScript API、Google Static Maps API 和 Google Street View Image API 提供每天 25,000 次免费地图加载。如果您的网站连续 90 天每天的使用量均超额,Google 将尝试与您联系,为您提供有关付款方案的信息。

了解更多关于您超过使用限制时会发生的情况的内容。

如果您选择启用收费,需要提供您的信用卡详情。您的超额使用量仍将在每天结束时计算,每个月末按以下规定价格对提供的信用卡收取合计费用。

使用 Google Maps API 的费用有多高?

如果应用产生的请求量或地图加载量低于使用限制,可免费使用 Google Maps API,前提是应用符合 Google Maps API 服务条款要求

对于 Web Services API,如果您的 Maps API 服务超过了每日使用限制,并且您选择使用 Google 开发者控制台在线购买超限配额,将按以下所示的相关服务费率向您收取超额使用费。

对于 Google Maps JavaScript API v3、Google Static Maps API 和 Google Street View Image API,如果您使用 Maps API 服务时连续 90 天超过了每日使用限制,并且您选择使用 Google 开发者控制台在线购买超限地图加载次数,将按以下所示的相关服务费率向您收取超额使用费。

请注意,如果您的网站每天产生的地图加载量一贯很高,购买 Google Maps API for Work 许可证可能更具成本效益。我们建议您联系 Google Maps API for Work 销售团队来了解详情。

Web Services API 使用限制
(每日)
1000 次超限请求
(单位:美元)
Directions API 2,500 0.50
Distance Matrix API 1 2,500 0.50
Elevation API 2,500 0.50
Geocoding API 2,500 0.50
Geolocation API 2,500 0.50
Roads API 2,500 0.50
Time Zone API 2,500 0.50
1 Google Maps Distance Matrix API 的使用以每天元素数量为单位进行计量
Web API 使用限制
(每日)
1000 次超限地图加载
(单位:美元)
Google Maps JavaScript API 25,000* 0.50
Google Static Maps API 25,000* 0.50
Google Street View Image API 25,000* 0.50
* 只有当您连续 90 天超过使用限制时,才会进行收费。

请注意,在线购买超限配额除了能够获得按照现有服务条款继续使用 Google Maps API 的权利外,并不会获得任何额外权利或利益。

是否提供其他货币的定价?

目前只提供美元定价。

我已启用收费。我该如何查看自己的帐单?

Google 按照您的指定付款方式在每个月初收取您上个月的费用。

我如何避免因使用量意外增加而支付巨额帐单?

Google Maps API 提供免费的每日配额,并设置了每日最大可收费限制。您可以通过对每日最大使用限制封顶来防范使用量的意外增加。您还可以设置收费提醒,在收费账户上的费用达到您设置的阈值时收到电子邮件通知。

封顶每日最大可收费限制

  • 对于 Web Services API

    标准 Web Services API 支持多达每日 100,000 个请求或元素。在您为项目启用收费前,项目仅限于使用免费的 2,500 每日限制。启用收费后,当您超过每天 100,000 次请求的配额时,每增加 1,000 次请求,付费 0.50 美元,每天封顶配额为 2,500 次。

    为避免产生巨额帐单,您可以通过设置每日封顶使用量来防范使用量的意外增加。目前,最大可收费限制默认为每天 100,000 次请求。您可以通过在 Google Developers Console 中 API 的 Quotas 页面上点击 Total quota 旁的编辑图标更改该限制

    :如果任何一天您的 API 使用量达到了可收费限制,您的应用在该天的剩余时间里将无法访问 API。请参阅如果我超过了使用限制会发生什么情况?,了解更多详情。

  • 对于 Web API

    对于 Google Maps JavaScript API v3Google Static Maps APIGoogle Street View Image API,当网站连续 90 天超过 25,000 次地图加载的免费每日使用限制时,API 使用限制才会生效。如果您对标准 Google Maps Web API 的使用量超过了免费使用限制,可通过在项目上启用收费在线购买超限地图加载次数。启用收费后,当您超过免费使用限制时,每增加 1,000 次请求,付费 0.50 美元,每天封顶配额为 1,000,000 次。

    为避免产生巨额帐单,您可以通过设置每日封顶使用量来防范收费开始后使用量的意外增加。目前,最大可收费限制默认为每天 1,000,000 次请求。您可以通过在 Google Developers Console 中 API 的 Quotas 页面上点击 Total quota 旁的编辑图标更改该限制

    :如果任何一天您的 API 使用量达到了可收费限制,您的应用在该天的剩余时间里将无法访问 API。请参阅如果我超过了使用限制会发生什么情况?,了解更多详情。

设置和管理收费提醒:

设置收费提醒,在收费账户上的费用达到您设置的阈值时向收费管理员发送电子邮件通知。收费管理员将在收费帐户上的预估费用超过阈值的 50%、90% 和 100% 时收到电子邮件通知。

建议:如果您的网站每天产生的请求量或地图加载量一贯很高,购买 Google Maps API for Work 许可证可能更具成本效益。我们建议您联系 Google Maps API for Work 销售团队来了解详情。

启用收费

为启用收费以及为 Google Maps API 解锁更高配额,我们将引导您在 Google 开发者控制台中完成几项任务:

  1. 创建或选择项目
  2. 设置或选择您的收费资料
  3. 在您的项目上启用收费
继续

使用 Google Maps API

我应该为不同的地图产品使用什么密钥或凭据?

您每次使用 Google Maps API 时,都必须提供密钥或其他凭据来验证您的请求。所需凭据类型将视 API 以及您使用的是标准许可证还是高级许可证而有所差异。

Google Maps API 可用于 Android、iOS、Web 应用,并可通过 HTTP Web 服务使用。Maps 系列 API 使用的各种凭据必须在加载或使用特定产品时传递。需要使用的凭据因产品而异。

  • API 密钥:API 密钥是您使用 Google Developers Console 生成的一个唯一标识符。API 密钥通常与标准 API 一起使用。高级客户通常使用客户 ID 而不使用 API 密钥。

    各平台的 API 都需要特定类型的密钥。有四种密钥可供使用:

    同一平台的 API 可使用相同的密钥。

    :Google Maps API for Work 和高级用户必须确保选择在注册时为其生成的项目。该项目的名称中包含 BusinessWork 词语。

    加载使用密钥的 API 示例:&key=AIzaSyBjsINSH5x39Ks6c0_CoS1yr1Mb3cB3cVo

  • 客户 ID:当您以 Google Maps API for Work 或高级客户身份注册时,会获得客户 ID。

    加载使用客户 ID 的 API 示例:&client=gme-companyname

  • 数字签名:只有 Google Maps API for Work 和高级客户使用数字签名。它必须使用由 Google 为您提供的密钥生成。如需了解详细信息,请阅读 Google Maps API for Work Web Services 文档。

下表列出了应与各 Maps 产品一起使用的密钥/凭据。

API 标准用户 高级用户
Google Maps Android API Android 密钥 Android 密钥
Google Places API for Android Android 密钥 不可用
Google Maps SDK for iOS iOS 密钥 iOS 密钥
Google Places API for iOS iOS 密钥 不可用
Google Maps JavaScript API 浏览器密钥 客户 ID
Google Static Maps API 浏览器密钥 客户 ID + 数字签名
Google Street View Image API 浏览器密钥 客户 ID + 数字签名
Google Maps Embed API 浏览器密钥 不可用
Google Maps Directions API 服务器密钥 客户 ID + 数字签名
Google Maps Distance Matrix API 服务器密钥 客户 ID + 数字签名
Google Maps Elevation API 服务器密钥 客户 ID + 数字签名
Google Maps Geocoding API 服务器密钥 客户 ID + 数字签名
Google Maps Geolocation API 服务器密钥 服务器密钥
Google Maps Roads API 服务器密钥 服务器密钥
Google Maps Time Zone API 服务器密钥 客户 ID + 数字签名
Google Places API Web Service 服务器密钥 服务器密钥

:下列 Maps API 以前不需要 API 控制台密钥:Google Maps JavaScript API、Google Static Maps API、Google Street View Image API、Google Maps Geocoding API、Google Maps Directions API、Google Maps Distance Matrix API、Google Maps Elevation API 和 Google Maps Time Zone API。为确保向后兼容性,仍为旧版应用提供此支持,但不再建议为新应用提供此支持。

我该如何将密钥类型从浏览器密匙切换到服务器密钥?

重要说明:如果您使用的任何 Web Services API 带有浏览器密钥,可能会从 2015 年 9 月 1 日开始出现请求失败的情况,并显示以下错误消息:“This IP, site or mobile application is not authorized to use this API key.”您应该改用服务器密钥。

如需切换 API 密钥类型,您至少需要一个服务器密钥。同一平台的 API 可使用相同的密钥。API 密钥是从 Google Developers Console 获取的。

如需为您的 Web Services API 获取服务器密钥,请执行以下步骤:

  1. 转至 Google 开发者控制台
  2. 选择或创建一个项目。
  3. 如需生成新 API 密钥,请点击 Add credentials 按钮。
  4. 从凭据类型列表中选择 API key
  5. 在 Create a new key 弹窗中,选择 Server key 按钮。
  6. 为服务器密钥指定名称,并设置所需的任何 IP 地址限制(可选操作),然后点击 Create
  7. 新服务器密钥随即生成并在凭据页面上列出。请注意,列表中的密钥按类型标识。

在您的 Web Services API 请求中指定服务器密钥

如需在您的请求中指定新服务器密钥,请以密钥参数值的形式加入。

示例:

对于 Elevation API

https://maps.googleapis.com/maps/api/elevation/json?locations=39.739,-104.984&key=YOUR_API_KEY

对于 Geolocation API

https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY

我该如何解决以下错误:“This IP, site or mobile application is not authorized to use this API key.”?

不同情况均可能引发这一错误:

  • 您使用的任何 Web Services API 带有浏览器密钥。

    Web Services API 需要使用服务器密钥将您的密钥类型从浏览器密匙切换到服务器密钥

  • 您在服务器密钥上启用了 IP 地址限制,但有未经授权的 IP 地址尝试发出请求。
  • 您在浏览器密钥上启用了 HTTP 引用站点限制,但有未经授权的引用站点尝试发出请求。
  • 您已通过设置软件包名称和指纹将使用方限定为您的 Android 应用,但有未经授权的 Android 应用尝试发出请求。
  • 您已通过指定捆绑标识符限制了来自 iOS 应用的请求,但有未经认可的 iOS 应用尝试发出请求。

查看和编辑您的 API 密钥凭据

如需查看您的 API 密钥以及添加的任何限制,请执行以下步骤:

  1. 转至 Google Developers Console
  2. 从 Project 下拉列表中选择包含您想审查的 API 密钥的项目。
  3. 如需查看凭据详情,包括为密钥设置的任何限制,请在 API 密钥列表中点击密钥的名称。
  4. 此时会显示所选 API 密钥的完整凭据,包括为该密钥设置的任何限制。在这里,可根据需要删除或更新限制。

我如何了解各版本 Google Maps API 中引入的变更?

我们在以下网址建立了一份列表,其中包含 Google Maps JavaScript API 各版本所做的变更:

https://developers.google.com/maps/documentation/javascript/releases

您还可以利用以下网址提供的 Google Maps API 问题跟踪器确认特定错误是在哪一版本的 Google Maps API 引入并得到修复的:

http://code.google.com/p/gmaps-api-issues/issues/list

我如何才能在页面加载完毕后以异步方式将 API 加载到页面中?

只需指定加载 API 时的回调参数。详情和示例代码请参阅 Maps API 文档的入门指南一章。

我如何才能让 Google Maps API 以英语以外的其他语言显示?

默认情况下,该 API 会尝试根据用户位置或浏览器设置加载最合适的语言。某些 API 允许您在发出请求时显式设置语言。各 API 的文档中提供了有关如何设置语言的详细信息:

支持的语言
语言代码 语言 语言代码 语言
ar 阿拉伯语 kn 卡纳达语
bg 保加利亚语 ko 韩语
bn 孟加拉语 lt 立陶宛语
ca 加泰罗尼亚语 lv 拉脱维亚语
cs 捷克语 ml 马拉雅拉姆语
da 丹麦语 mr 马拉地语
de 德语 nl 荷兰语
el 希腊语 挪威语
en 英语 pl 波兰语
en-AU 英语(澳大利亚) pt 葡萄牙语
en-GB 英语(英国) pt-BR 葡萄牙语(巴西)
es 西班牙语 pt-PT 葡萄牙语(葡萄牙)
eu 巴斯克语 ro 罗马尼亚语
eu 巴斯克语 ru 俄语
fa 波斯语 sk 斯洛伐克语
fi 芬兰语 sl 斯洛文尼亚语
fil 菲律宾语 sr 塞尔维亚语
fr 法语 sv 瑞典语
gl 加利西亚语 ta 泰米尔语
gu 吉吉拉特语 te 泰卢固语
hi 印地语 th 泰语
hr 克罗地亚语 tl 塔加拉族语
hu 匈牙利语 tr 土耳其语
id 印度尼西亚语 uk 乌克兰语
it 意大利语 vi 越南语
iw 希伯来语 zh-CN 简体中文
ja 日语 zh-TW 繁体中文

您可以在此示例应用中查看地图以您的语言显示时的外观。

Google Maps API 能否通过 SSL (HTTPS) 进行访问?

开发者可以利用这些 API 的免费版或 Google Maps API for Work 通过安全 (HTTPS) 连接访问 Google Maps JavaScript API、Google Static Maps API 和 Google Maps API Web Services。请参阅相关 API 的文档,了解有关如何通过 SSL 访问 API 的信息。

请注意,Google Static Maps API 不支持使用 HTTPS 的自定义图标 URL;将显示默认图标。

我如何在 Google Maps API 中报告错误或请求新功能?

如果您认为自己遭遇的行为可能是错误,请先在相关论坛中提出。这有利于其他开发者验证错误,以及排除您代码中的任何潜在问题。

如果您想请求增加某项功能,也请先在相关论坛中提出,以便确认可满足您要求的解决方案尚未推出。

如果经确认您发现的是新错误,或者 Google Maps API 的现有功能无法满足您的要求,请利用 Google Maps API 问题跟踪器报告您的错误或功能请求。

在向问题跟踪器添加错误或功能请求前,请务必确认相关错误或功能尚未添加。如果已经添加,您可以给问题添加星标,以记录您的兴趣和接收更新通知。

此错误有何含义?

如果您在加载 Google Maps JavaScript API 时遇到错误,请参阅错误消息,找到对错误代码的说明。

我遇到不同的问题/故障。我应该与谁联系?

Google 的开发者关系团队在 Stack Overflow 上设有常驻人员,后者是一家以协作编辑方式为程序员解答问题的网站。这是一个非常适合咨询有关开发与维护 Google 地图应用程序的技术问题的地方。有关在 Stack Overflow 上提问的详情,请参阅支持页面。

要想在请求帮助时获得最满意的结果,请牢记以下要点:

  • 搜索最新讨论内容。可能其他人已遇到类似问题并找到了修复方法。
  • 在可能的情况下提交您的网站的链接。只有在不方便在线查看代码时再发布代码段。
  • 提供所有相关信息,包括浏览器版本、错误以及所有其他可能有助于排除该故障的事实。

Google Maps API for Work 客户还可以联系 Google for Work Support

Google Maps API 服务

我需要将地址转换为经度/纬度对。我能通过 Google Maps API 完成这种转换吗?

可以,此过程称作“地理编码”。每个 Google Maps API 都包含用于执行地理编码的类。这些类如下:

另外,Google 还提供了 Geocoding Web Service,后者提供的 REST 接口可以 JSON 和 XML 格式作出响应。

请注意地理编码器请求会受到的使用限制,还请注意,如果将地理编码器用于获取将使用 Google Maps API 显示的位置以外的任何其他用途,将会违反服务条款的要求。您可以利用 HTTP 地理编码器在您的 Google Maps API 应用以外对地址进行地理编码,以便利用其中一个 Google Maps API 进行缓存并在稍后显示,但利用 Geocoding Web Service 获取的位置不得由任何其他应用使用、通过其他手段分发或者进行转售。

在哪些国家提供了地理编码?

如需查看 Google Maps API 地理编码器当前支持的国家,请查阅 Google Maps 覆盖范围数据

地理编码位置的准确性可能因国家而异,因此您应该考虑使用返回的 location_type 字段来确定是否找到了匹配度足以满足您的应用要求的结果。请注意,地理编码数据的可用性取决于我们与数据提供商的联系,因此可能随时发生变化。

如需了解在 Google Maps API 当前不支持的国家进行地理编码的信息,请浏览此列表中的其他地理编码服务。

为何 Google Maps API 地理编码器与 Google 地图提供的位置不同?

API 地理编码器和 Google Maps 地理编码器有时使用不同的数据集(取决于国家)。API 地理编码器偶尔会更新数据,因此预计会出现结果随时间推移发生变化或改善的情况。

我该如何设置地理编码器查询格式,才能最大限度提升请求的成功率?

地理编码器设计为在街道地址与地理坐标之间建立对应关系。因此,我们建议您按照以下指南设置地理编码器请求的格式,以最大限度提高查询的成功率:

  • 按照相关国家全国邮政服务使用的格式指定地址
  • 请勿额外指定在相关国家邮政服务定义的地址中并不包括的地址元素,如公司名称、单元号、楼层号或套房号
  • 在场所的街道号和建筑名称之间,尽可能优先使用前者
  • 在使用街道号地址与指定十字路口之间,尽可能优先使用前者
  • 请勿提供附近标志性建筑等“提示”

我该如何设置美国国道地址的格式以便进行地理编码?

Google Maps API 地理编码器要求按以下格式指定美国国道地址:

  • 县公路“Co Road NNN,其中 NNN 表示道路编号,例如:“Co Road 82”
  • 州级公路State NNN,其中 State 是州的全称,NNN 是公路编号,例如:“California 82”
  • 美国 国道:“U.S. NNN,其中 NNN 是国道编号,例如:“U.S. 101”
  • 美国 州际公路:“Interstate NNN,其中 NNN 是州际公路编号,例如:“Interstate 280”

我该在什么情况下使用 API geocoder 类,又该在什么情况下使用 HTTP 地理编码服务?

请参阅以下文章:Geocoding Strategies(地理编码策略),其中详述了不同地理编码策略的优缺点。

我如何通过 Google Maps API 提供行车路线?

Google Maps JavaScript API 允许您通过 google.maps.DirectionsService 类提供行车路线。该类让您可以循序渐进地获得基本和多点行车路线。DirectionsRenderer 类可自动为您创建叠层和路线面板。其他示例请参阅相关文档。

您还可以方便地链接到 Google 地图来获取行车路线。我们建议您使用以下格式在 Google 地图上获取行车路线:

http://maps.google.com/maps?saddr={start_address}&daddr={destination_address}

在哪些国家提供了行车路线?

如需查看 Maps API 中的行车路线当前支持的国家,请查阅 Google Maps 覆盖范围数据。请注意,行车路线数据的可用性取决于我们与数据提供商的联系,因此可能随时发生变化。

在哪些国家提供了公共交通路线?

Google Maps Directions Service 支持公共交通覆盖范围列表中所列的全部公共交通提供商,但日本的提供商除外。

Google Maps JavaScript API 中支持哪些 KML 和 GeoRSS 功能?

JavaScript API 中的 KmlLayer 类让开发者能在地图上覆盖 KML/KMZ 和 GeoRSS 文件。请参阅此处的示例。

如需了解 KmlLayer 类当前支持的 KML 功能,请参阅以下网址提供的文档:

https://developers.google.com/kml/documentation/mapsSupport

对可使用 Google Maps JavaScript API 的 KmlLayer 类显示的 KML 的尺寸和复杂性存在哪些限制?

如需了解使用 KmlLayer 类显示 KML 的尺寸和复杂性限制,请参阅以下网址提供的文档:

https://developers.google.com/kml/documentation/mapsSupport

Google Static Maps API 支持的标记或路径顶点的最大数量是多少?

Google Static Maps API 支持的标记或路径顶点的数量不受限制。使用自定义图标时,每个请求最多可指定五个唯一图标,但每个图标可在地图内多次使用。

请注意,Google Static Maps API URL 最多可包含大约 2,000 个字符,这会限制可以指定的标记和路径顶点的数量,实际可指定的数量取决于指定各经度/纬度对时使用的小数位数量。如需了解有关使用的小数位数量与地图精度的关系,请参阅 Wikipedia 中有关 Decimal Degrees(十进制度数)的文章。

我为何无法从中国访问 Google Maps API?

Google Maps API 在中国境内的服务域名是 maps.google.cn。该域名支持 https。在中国境内向 Google Maps API 发出请求时,请将 https://maps.googleapis.com 替换为 http://maps.google.cn

例如:

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA

应改为:

http://maps.google.cn/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA

Google Maps JavaScript API 可随以下引导程序加载:

<script src="http://maps.google.cn/maps/api/js?key=YOUR_API_KEY"
type="text/javascript">
</script>

发送以下问题的反馈:

此网页
Google Maps API
Google Maps API