使用 google-places-api 的简单 html 页面的 ApiNotActivatedMapError
Posted
技术标签:
【中文标题】使用 google-places-api 的简单 html 页面的 ApiNotActivatedMapError【英文标题】:ApiNotActivatedMapError for simple html page using google-places-api 【发布时间】:2016-06-12 12:42:16 【问题描述】:我正在尝试创建一个包含 google-places-api 的简单 html 页面(稍后我想在其中添加一个自动完成输入)。 我有一个 api-key(已启用),但仍然收到错误消息。
这是我的html-
<head>
<meta charset="utf-8">
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=MY_KEY&libraries=places"></script>
<title>test</title>
</head>
<body>
</body>
但我收到此错误消息-
在控制台中我得到 - Google Maps API 错误:Google Maps API 错误:ApiNotActivatedMapError
我不明白问题出在哪里。感谢任何人的帮助
【问题讨论】:
2018:点击启用here。 @ИльяЗеленько TIL Google JavaScript Map API !== Google Maps Embed API @Илья Зеленько 谢谢。它奏效了。 【参考方案1】:要启用 Api,请执行此操作
-
转到
API Manager
点击Overview
搜索Google Maps JavaScript API
(在Google Maps APIs
下)。点击那个
您会在此处找到Enable
按钮。点击启用 API。
或 你可以试试这个网址: Maps JavaScript API
希望这能解决启用 API 的问题。
【讨论】:
正如操作所提到的,就我而言,我已经启用了 javascript api 和距离矩阵 apis,但仍然出现该错误 API 管理器在哪里?我没有找到这些选项?可以发个网址吗? 检查这个:console.cloud.google.com/apis/… 对于地点 API,您还应该启用 Maps JavaScript API。 找不到的,在搜索框中输入“Maps JavaScript API”【参考方案2】:假设您已经在 google 开发者控制台下创建了一个应用程序, 请按照以下步骤操作
-
转到以下链接
https://console.cloud.google.com/apis/dashboard?
,您将获得以下页面
点击启用 API 和服务,您将被引导至以下页面
选择所需选项 - 在本例中为“Maps JavaScript API”
点击启用按钮如下,
注意:请使用服务器加载html
文件
【讨论】:
它说“你没有这个权限”。如何“启用”它? 该API项目无权使用该API。地方 API 错误:ApiNotActivatedMapError 我面临同样的权限问题,接下来,我知道我不能像大多数不安全的网站那样通过启用检查元素来欺骗 Google。我还能做什么? @PreciousTom 我没听懂你 @PreciousTom 我遇到了同样的问题,那是因为我不在项目之外。您必须从下拉列表中选择项目,然后才能启用密钥【参考方案3】:截至 2017 年 1 月,不幸的是,@Adi 的回答虽然看起来应该有效,但没有。 (Google 的 API 密钥过程有问题)
您需要点击此链接中的“获取密钥”:https://developers.google.com/maps/documentation/javascript/get-api-key
我还强烈建议您在准备好切换到生产环境之前不要选择“安全密钥”。我对密钥进行了 http 引用限制,然后即使禁用了密钥的安全性,也无法使其与 localhost 一起使用。我必须创建一个新密钥才能让它再次工作。
【讨论】:
从这个 1 链接获取密钥终于为我创建了一个工作密钥。泰。我点击获取密钥的所有其他链接都会让我得到同样的无效链接:S @bia.migueis 我确认(2018 年 4 月)。尝试多次获取新密钥,但都给出了 ApiNotActivatedMapError。这个链接有效(虽然我以为我以前去过那里,所以也许一个人必须继续尝试,不确定) 只是对这种方法赞不绝口。在尝试这个之前,我在 API 控制台中搞砸了大约一个小时,它在几秒钟内就起作用了。 Google 需要团结起来。 @JasonS 这个错误在 2022 年仍然存在。我必须去密钥并进行一些虚拟更改并再次更新它以使其与新添加的 API 一起使用。【参考方案4】:您是否尝试过按照链接帮助页面上的建议进行操作? http://g.co/mapsJSApiErrors 的帮助页面说:
ApiNotActivatedMapError
Google Maps JavaScript API 未在您的 API 项目中激活。您可能需要在 Google Developers Console 的 API 下启用 Google Maps JavaScript API。
见Obtaining an API key。
因此,请检查您使用的密钥是否启用了 Google Maps JavaScript API。
【讨论】:
但我不需要 Google Maps Javascript API,只需要 Places API!不使用任何地图,只是自动完成字段。如果 Places API 需要启用另一个 API,不应该自动附带它吗?【参考方案5】:我有同样的错误。修复错误:
-
打开控制台菜单
Gallery Menu
并选择API Manager
。
点击左侧的Credentials
,然后点击New Credentials
。
点击Create Credentials
。
点击API KEY
。
点击Navigator Key
(有更多选项;取决于何时食用)。
您必须使用系统生成的这个新的API Navigator Key
。
【讨论】:
'consumed' 是错字吗?如果是这样,你想写什么? @TigerSpirt 我面临同样的问题。我试图生成新的 API 密钥,但没有找到“导航器密钥”。请朋友们帮帮我。【参考方案6】:使用 Google Maps API https://developers.google.com/maps/gmp-get-started#enable-api-sdk 使用地点库,点击 Google Cloud Console 上的 Create Credentials 选项卡,然后为 地图 JavaScript API。 示例代码如下:
<input type="text" id="txtFullAddress" />
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=<Your-API-Key>&libraries=places"></script>
<script type="text/javascript">
google.maps.event.addDomListener(window, 'load', function ()
var inputAddressField = document.getElementById("txtFullAddress");
var places = new google.maps.places.Autocomplete(inputAddressField);
google.maps.event.addListener(places, 'place_changed', function ()
var place = places.getPlace();
var address = place.formatted_address;
var latitude = place.geometry.location.lat();
var longitude = place.geometry.location.lng();
var mesg = "Address: " + address;
mesg += "\nLatitude: " + latitude;
mesg += "\nLongitude: " + longitude;
alert(mesg);
);
);
</script>
【讨论】:
以上是关于使用 google-places-api 的简单 html 页面的 ApiNotActivatedMapError的主要内容,如果未能解决你的问题,请参考以下文章