如何在HTML JavaScript中验证Google Maps API密钥?
作者:互联网
我有一个相当标准的Google Maps页面,使用我自己的API密钥.该页面仅通过JS添加了一些标记,并将其显示在文本框中.如果密钥无效或过期或其他原因,则显示以下页面.
很好,但是我想至少告诉用户它为什么错了.通过标准访问该地图:
...
<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