我有一个纬度和经度:“-27.0000,133.0000”。我想在此基础上制作一张地图。

我试着去这个链接

https://maps.googleapis.com/maps/api/geocode/json?latlng= 27.0000, 133.0000关键= * * * * * *

我一直在浏览器上得到这个错误

{
   "error_message" : "This API project is not authorized to use this API. Please ensure that this API is activated in the APIs Console: Learn more: https://code.google.com/apis/console",
   "results" : [],
   "status" : "REQUEST_DENIED"
}

但我想我已经启用了那个API。我登录到我的谷歌控制台,并再次检查。

当我去:https://console.developers.google.com/project/75423435770063/apiui/apis/enabled

我明白了:

启用地理编码+地理定位。

我现在有点卡住了。还有什么我没注意到的吗?


当前回答

由于谷歌策略更新,您需要启用计费以访问Map API。

其他回答

我迟到了,但这里有另一个问题:谷歌显示API为启用,但实际上它们不是。禁用,然后重新启用。

在我的情况下,我试图解决所有上述答案,但不能解决错误。

请检查凭证中的API限制。 有2个选项“不限制键”和“限制键”。

我使用了“限制键”选项,只检查API“Android地图SDK”,这就是为什么我得到了错误。需要检查你想要使用什么api。编辑限制键后,您需要单击保存。 “不限制密钥”选项应该没问题(谷歌将显示安全警告机场当局) 下面的图片显示了一步一步。

对我来说,我必须启用地图嵌入API。

在谷歌云控制台

转到API选项卡,查看其他API部分,并尝试启用任何与地图相关的API。

也可以通过云SDK启用api。https://developers.google.com/maps/documentation/geocoding/cloud-setup#enabling_apis

gcloud services enable \
    --project "PROJECT" \
    "geocoding-backend.googleapis.com"

https://cloud.google.com/sdk/gcloud/reference/services/enable

如果您没有启用API,但有一个API键,那么当您从浏览器运行API(例如在显示地图时)或将请求传递给curl命令时,将不会得到该错误。只有在代码中调用API时才会出现这个错误。在Python中,使用urllib、pycurl、构造curl命令并将其传递给subprocess.check_output()或使用jQuery.get()发送请求都无关紧要;你还是会得到那个错误。我想知道谷歌是怎么知道区别的。