使用requirejs异步插件时捕获Google Maps API错误

耶梅尔文

我有一个依赖于Google Maps的JS应用程序正在部署中。我使用RequireJS的异步插件加载了Google Maps SDK for JS ...

mapsKey = '&key=' + MY_API_KEY;
mapsURL = 'https://maps.googleapis.com/maps/api/js?libraries=places,geometry&v=3' + mapsKey;
define('GoogleMaps', ['async!' + mapsURL], function() {
    return window.google.maps;
});

我希望从服务器中获取MY_API_KEY,因为我不想在应用程序代码中包含它。如果我们的服务器暂时不可用并且无法获取密钥值,或者由于某种原因Google拒绝了API密钥,则表示控制台错误...

"Google Maps API error: Google Maps API error: InvalidKeyMapError https://developers.google.com/maps/documentation/javascript/error-messages#invalid-key-map-error"

更糟糕的是,应用程序中出现了一个丑陋的弹出窗口...

在此处输入图片说明

我在Google处使用了有效的API密钥设置,并且一切正常。但是,如果出现加载错误,我想在没有API密钥的情况下重试。Google确实在JS控制台中发出有关丢失密钥的警告,但至少到目前为止,它仍然是万不得已的方法。

问题:如何捕获Google Maps API错误?

在加载过程中,该错误是从Google Maps库中引发的。这不是超时,而是无效的密钥参数错误。不能检查生成的window.google.maps实例,因为已经显示了难看的弹出消息。我没有找到捕获错误并防止弹出窗口的方法。我想提供一些防御性代码,以在没有API密钥的情况下重试。

t

您可以使用以下全局功能捕获身份验证错误:

function gm_authFailure() { /* Code */ };

如果要以编程方式检测到身份验证失败(例如自动发送信标),则可以准备回调函数。如果定义了以下全局函数,则在身份验证失败时将调用它。函数gm_authFailure(){/ *代码* /};

https://developers.google.com/maps/documentation/javascript/events#auth-errors

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

错误:Google Maps API错误

来自分类Dev

Google Maps API密钥错误

来自分类Dev

Google Maps Geocoding API中的CORS错误

来自分类Dev

Perl中的Google Maps API错误

来自分类Dev

Google Maps Javascript API 204错误

来自分类Dev

Google Maps API计算错误

来自分类Dev

异步加载Google Maps API

来自分类Dev

启动 Activity 时出现 Google Maps API 密钥错误

来自分类Dev

使用@ react-google-maps / api的CORS错误

来自分类Dev

Google Maps JavaScript API错误:启用了Google Maps JavaScript API的ApiNotActivatedMapError

来自分类Dev

Flutter - 使用 google_maps_flutter 插件时由于权限错误导致构建失败

来自分类Dev

IE中的Google Maps异步加载错误

来自分类Dev

IE中的Google Maps异步加载错误

来自分类Dev

Google Maps API V3错误:RefererDeniedMapError

来自分类Dev

Google Maps API 3-类型错误:a未定义

来自分类Dev

Google Maps API GET请求失败,出现跨域错误

来自分类Dev

通过AJAX加载Google Maps API,控制台错误

来自分类Dev

Android-Google Maps Api v2-验证错误

来自分类Dev

错误夸大类片段,Google Maps API v2

来自分类Dev

来自Google Maps API的角度指令中的错误

来自分类Dev

Google Maps api标记未定义错误

来自分类Dev

Google Maps API错误地对地址进行地理编码

来自分类Dev

iOS Google Maps Direction API提供了错误的扭曲路径

来自分类Dev

Google Maps API'.pac-item:first'返回的格式错误

来自分类Dev

我的 html 页面上的 google maps api 位置错误

来自分类Dev

Google Maps API RefererNotAllowedError

来自分类Dev

Google Maps API DeletedApiProjectMapError

来自分类Dev

Google Maps Api许可

来自分类Dev

Google Maps Api