我有一个来自Google Maps的API密钥,我在其中启用了Maps JavaScript API和GeoCoding API。
我有两个选项,这样用户就可以在地图上定位自己。第一个是点击,效果很好。然而,需要用户输入的第二个选项不起作用,我不断收到以下错误:
此API密钥未被授权使用此服务或API。
有人以前有过这种经历吗?你认为我可能需要启用任何其他与谷歌地图相关的API吗。
这是我调用API的类。第一部分是类,第二部分是处理用户输入的函数。
export async function getCoordsFromAddress(addressInput) {
const urlAddress = encodeURI(addressInput);
const response = await fetch(`https://maps.googleapis.com/maps/api/geocode/json?address=${urlAddress}&key=${googleApiKey}`)
if(!response.ok) {
throw new Error('Failed to fetch address. Please try again!');
}
const data = await response.json();
if(data.error_message) {
throw new Error(data.error_message);
}
const coordinatest = data.result[0].geometry.location;
return coordinatest;
}
async fetchAddressHandler(event) {
event.preventDefault();
const addressInput = event.target.querySelector('input').value;
if(!addressInput || addressInput.trim().length === 0) {
alert('Invalid Address! Try Again');
return;
}
const feedBackMessage = new FeedBackMessage('loading-modal-content', 'Loading location - Pleasewait');
feedBackMessage.show();
try {
const coordinates = await getCoordsFromAddress(addressInput);
console.log(coordinates);
this.findPlace(coordinates);
} catch (error) {
alert(error.message);
}
feedBackMessage.hide();
}```
Thanks!
;此API密钥未被授权使用此服务或API";错误消息几乎和锡上所说的一样——您需要启用一个额外的API。
我的猜测是地方API。
如果这不起作用,你可以在周一联系地图技术支持——如果你有一个正在运行的谷歌API项目,这是免费的。
- 请访问:https://console.cloud.google.com/此处转到API库
- 搜索API";地理代码";并启用服务
- 如果您仍然面临错误,您需要为此启用计费
地理代码反向API启用需求计费