我正在编写一个使用Google自动完成API的网络应用程序。现在,我将获得一个 API 密钥,但不知道它是否启用了 Places API。我需要一种方法来检查密钥项目中是否启用了位置 API。特别是,我想避免向控制台发送垃圾邮件,显示"此 API 项目无权使用此 API"错误。自动完成的实现方式如下:
new google.maps.places.Autocomplete($('input.location-address')[0]);
这适用于启用的地方 API,但我需要一种方法来检查它是否已启用。像这样:
function keyHasPlacesEnabled(api_key, callback) { ... }
如果禁用了位置 API,控制台将收到垃圾邮件,并显示以下错误:
This API project is not authorized to use this API. Please ensure this API is activated in the Google Developers Console: https://console.developers.google.com/apis/api/places_backend?project=_ For more information on authentication and Google Maps Javascript API services please see: https://developers.google.com/maps/documentation/javascript/get-api-key
任何帮助,不胜感激。谢谢~伊森
最简单的方法是像 Google Places API 文档一样,使用回调
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places&callback=initMap"
async defer></script>
如果要从控制台隐藏错误,请将catch
initMap
设置为null
的try
/catch
块放在其中。