编程语言
首页 > 编程语言> > 如何在HTML JavaScript中验证Google Maps API密钥?

如何在HTML JavaScript中验证Google Maps API密钥?

作者:互联网

我有一个相当标准的Google Maps页面,使用我自己的API密钥.该页面仅通过JS添加了一些标记,并将其显示在文本框中.如果密钥无效或过期或其他原因,则显示以下页面.

enter image description here

很好,但是我想至少告诉用户它为什么错了.通过标准访问该地图:

...
<script type="text/javascript" 
        src="http://maps.google.com/maps/api/js?key=API_KEY"></script>
</head>
<body>
<div id="map"></div> 
<p><input type="text" "readonly" id="status" size=40></p>
...

但是,我想检查API密钥是否有效并且有效,并在该文本框中告诉用户密钥是否正确.

我怎样才能做到这一点?

PS.在src =中使用回调函数的问题在于,无论API状态是什么,它都会返回,而实际上状态本身不返回. Here是此问题的解决方案.

编辑:我在晦涩的poorly documented回调函数gm_authFailure()中找到了答案,并通过以下方式解决了我的问题:

function gm_authFailure() { 
    let apiError = "No or invalid API key!"
    document.getElementById('status').value = apiError; 
};

您甚至不需要在URL中指定此回调,它仍然会使用它!

解决方法:

添加:

function gm_authFailure() { alert('yo'); };

在全球范围内.根据此:

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

标签:google-maps,google-maps-api-3,api-key,html,javascript
来源: https://codeday.me/bug/20191109/2012560.html