API 密钥和结算错误
在某些情况下,可能会显示暗色地图或“负片”效果的街景图像,并带有“仅用于开发目的”的文字水印。如果出现此行为,通常说明存在 API 密钥或结算方面的问题。为了使用 Google Maps Platform 产品,必须为账号启用结算功能,并且所有请求都必须包含有效的 API 密钥。以下流程有助于排查此问题:
您有使用 API 密钥吗?
我不确定。如何确认我是否使用了 API 密钥?
API 密钥以 key
参数的形式在网址中传递,用于加载 Maps JavaScript API。您可以通过以下几种方法检查您是否使用了 API 密钥:
- 使用 Google Maps Platform API Checker Chrome 扩展程序。通过这种方法,您可以确定自己的网站是否正确实现了获得许可的 Google Maps API。
- 如果您使用某个库或插件加载 Maps JavaScript API,请检查该库的设置并查找 API 密钥选项。
- 检查浏览器中的错误。如果您看到以下消息,则说明您未正确使用 API 密钥:
- Google Maps JavaScript API 警告:NoApiKeys
- Google Maps JavaScript API 错误:MissingKeyMapError
对于 Web 开发者:
-
如果您有权访问应用的源代码,请查找用于加载 Maps JavaScript API 的
<script>
代码。加载 Maps JavaScript API 时,请将以下代码中的YOUR_API_KEY
替换为您的 API 密钥。<script async defer src="https://maps.googleapis.com/maps/api/js?key=
YOUR_API_KEY &callback=initMap"> </script> -
在浏览器中检查您的网站生成的网络流量。在 Chrome 中,可使用开发者工具的网络标签页进行查看。在该标签页中,您会看到您的网站发出的网络请求。使用 Maps JavaScript API 发出的请求将位于路径
maps/api/js
下。在这里,您可以确认请求是否使用了key
参数。查看网络标签页时,按maps/api/js
过滤网络流量可能会很有帮助。
不,我没有使用 API 密钥。
如需获取 API 密钥,请点击下面的按钮。如果您没有看到引导式设置,请按照 Google Maps Platform 使用入门中的完整说明操作。
前往入门说明
是的,我使用了 API 密钥。
太棒了!接下来请确认您的项目是否关联了结算账号。
您的项目是否关联了结算账号?
我不确定。如何确认我的项目是否关联了结算账号?
前往 Google Cloud 控制台的 “结算”页面,然后选择创建 API 密钥时所用的项目。 如要确认密钥是否与该项目相关联,请执行以下操作:
- 通过点击 Google Maps Platform > 凭据下的左侧边栏,前往凭据部分。
- 检查您的网站上当前使用的 API 密钥是否列出。如果未列出,请切换为其他项目,然后查看凭据。
- 如果找不到与 API 密钥相关联的项目,则说明您可能已无法访问相应项目。请向组织中的其他人寻求帮助。如果找不到原始项目,您应该:
- 创建新项目。可以通过以下方法完成此操作:从项目列表中选择新建项目,或者在 Resource Manager 页面中选择创建项目。
- 创建新的 API 密钥。您可以在凭据页面上执行此操作。进入此页面后,点击创建凭据,然后选择 API 密钥。
在 Cloud 控制台中找到您的项目后,前往左侧菜单中的结算部分,查看是否已有关联的结算账号。
不,我的项目没有关联结算账号。
前往 Cloud 控制台的“启用结算功能”页面,然后将结算账号添加到您的项目。如需了解详情,请参阅 Google Maps Platform 使用入门。
是的,我的项目关联了结算账号。
太棒了!请确保提供的结算方式有效。
提供的结算方式是否已经失效(例如过期的信用卡)?
您可以在 Cloud 控制台中 添加、移除或更新付款方式。
API 用量是否超出了您自行设定的每日上限?
如果您为任何 API 设置了每日上限(防止用量意外增加的常见做法),可以通过提高每日上限来解决此问题。
您可以前往 Cloud 控制台的“API 和服务”信息中心,查看每日上限。然后:
- 根据系统提示选择一个项目。
- 从列表中选择一个 API,然后点击配额标签页。
您的 API 密钥有 IP 地址限制吗?
具有 IP 地址限制的 API 密钥只能用于适合从服务器端使用的网络服务(例如 Geocoding API 和其他网络服务 API)。大部分此类网络服务在 Maps JavaScript API 中都有等效服务(有关示例,请参阅地理编码服务)。如需使用 Maps JavaScript API 客户端服务,您需要单独创建一个可使用 HTTP 引荐来源网址限制进行保护的 API 密钥(请参阅获取、添加和限制 API 密钥)。
如果您的代码不能正常运行:
为帮助您确保地图代码正常运行,Brendan Kenny 和 Mano Marks 在此视频中介绍了一些常见错误及相应解决方法。
- 查找拼写错误。请注意,JavaScript 语言区分大小写。
- 检查基础环节,因为一些最常见的问题往往发生在地图创建的初始阶段。例如:
- 确认您已在地图选项中指定
zoom
和center
属性。 - 确保您已声明用于容纳出现在屏幕上的地图的 div 元素。
- 确保地图的 div 元素已设置高度。默认情况下,div 元素创建时的高度为 0,因此不可见。
- 确认您已在地图选项中指定
- 使用 JavaScript 调试程序(例如 Chrome 开发者工具中的调试程序)发现问题。首先查看 JavaScript 控制台中是否存在错误。
- 将问题发布到 Stack Overflow 中。如需了解有关如何发布优质问题的指南,请访问支持页面。