Google 地图 JavaScript API 在启用地理编码 API 时抛出 "ExpiredKeyMapError"
Google Maps JavaScript API throws "ExpiredKeyMapError" when Geocoding API is enabled
我使用 Google 地图 JavaScript API 处理地图相关事宜,即将使用 Google 地理编码 API 将纬度和经度反转为用户点击地图时的格式化地址。
在启用地理编码 API 之前,我只使用地图 JavaScript API 时一切正常。当我刷新我的页面时,我收到错误:Google Maps JavaScript API 错误:ExpiredKeyMapError.
要修复它很容易,只需禁用已修复的地理编码 API,显然我不能再使用地理编码 API 中的任何功能。
我也尝试生成新的API密钥,等了2个多小时,问题依旧。
这就是我加载 API 和服务
的方式
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY&libraries=geocoding,places"></script>
如何正确地同时使用地图 JavaScript API 和地理编码 API?
Geocoding code to get address from lat and 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
我不能保证解决方案总是有效,但我就是这样解决的。
- 禁用地理编码API
- 访问地理编码 API 请求,例如
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
并收到错误。
- 在项目中启用地理编码API。
- 再次访问地理编码 API 请求,例如
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
并获得成功。
- 刷新项目页面,JavaScript 和地理编码 API 现在都可以正常工作了。
https://developers.google.com/maps/documentation/javascript/libraries
geocoding
不是 Google Maps Javascript API v3.
中可用的库之一
您启用的 API 是地理编码 Web 服务。在 JS API 项目中不需要它。要 geocode/reverse 地理编码,只需使用 google.maps.Geocoder
class.
这是我对我的问题的解决方案,不能保证此解决方案在许多其他情况下都有效。
- 禁用地理编码API
- 访问地理编码 API 请求,例如
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
并收到错误。
- 在项目中启用地理编码API。
- 再次访问地理编码 API 请求,例如
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
并获得成功。
- 刷新项目页面,JavaScript 和地理编码 API 现在都可以正常工作了。
我使用 Google 地图 JavaScript API 处理地图相关事宜,即将使用 Google 地理编码 API 将纬度和经度反转为用户点击地图时的格式化地址。
在启用地理编码 API 之前,我只使用地图 JavaScript API 时一切正常。当我刷新我的页面时,我收到错误:Google Maps JavaScript API 错误:ExpiredKeyMapError.
要修复它很容易,只需禁用已修复的地理编码 API,显然我不能再使用地理编码 API 中的任何功能。
我也尝试生成新的API密钥,等了2个多小时,问题依旧。
这就是我加载 API 和服务
的方式<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY&libraries=geocoding,places"></script>
如何正确地同时使用地图 JavaScript API 和地理编码 API?
Geocoding code to get address from lat and 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
我不能保证解决方案总是有效,但我就是这样解决的。
- 禁用地理编码API
- 访问地理编码 API 请求,例如
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
并收到错误。 - 在项目中启用地理编码API。
- 再次访问地理编码 API 请求,例如
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
并获得成功。 - 刷新项目页面,JavaScript 和地理编码 API 现在都可以正常工作了。
https://developers.google.com/maps/documentation/javascript/libraries
geocoding
不是 Google Maps Javascript API v3.
您启用的 API 是地理编码 Web 服务。在 JS API 项目中不需要它。要 geocode/reverse 地理编码,只需使用 google.maps.Geocoder
class.
这是我对我的问题的解决方案,不能保证此解决方案在许多其他情况下都有效。
- 禁用地理编码API
- 访问地理编码 API 请求,例如
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
并收到错误。 - 在项目中启用地理编码API。
- 再次访问地理编码 API 请求,例如
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
并获得成功。 - 刷新项目页面,JavaScript 和地理编码 API 现在都可以正常工作了。