我使用Google Maps JavaScript API处理与地图有关的事务,并打算在用户单击地图时使用Google Geocoding API将经纬度转换为格式化地址。
在启用地理编码API之前,我仅使用Maps JavaScript API进行所有工作。刷新页面时,出现错误: Google Maps JavaScript API错误:ExpiredKeyMapError 。
要修复它很容易,只需禁用已修复的Geocoding API,显然我不能再使用Geocoding API中的任何功能。
我还尝试生成一个新的API密钥,并等待了2个多小时,但问题仍然存在。
这是我加载API和服务的方式
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY&libraries=geocoding,places"></script>
如何一起正确使用Maps JavaScript API和Geocoding API?
地理编码代码从lat和lng获取地址
var latLngToAddress = function (lat, lng) {
var latLng = {lat: lat, lng: lng},
geocoder = new google.maps.Geocoder;
geocoder.geocode(
{location: latLng},
function (results, status) {
console.log(results);
}
);
};
我在执行上述操作时遇到错误Geocoding Service: This API project is not authorized to use this API.
。如果启用了地址解析服务,那么一切都会回到原始问题-JS API将收到错误ExpiredKeyMapError
我不能保证该解决方案始终有效,但这就是我解决的方式。
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
之类的地址解析API请求并收到错误消息。https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
并获得成功。答案 0 :(得分:1)
https://developers.google.com/maps/documentation/javascript/libraries
geocoding
不是Google Maps Javascript API v3中可用的库之一。
您启用的API是地理编码Web服务。您不需要在JS API项目中使用它。要进行地理编码/反向地理编码,只需使用google.maps.Geocoder
类。
答案 1 :(得分:-1)
这是我对问题的解决方案,不能保证在其他许多情况下也可以使用该解决方案。
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
之类的地址解析API请求并收到错误消息。https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
并获得成功。