使用 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的主要内容,如果未能解决你的问题,请参考以下文章

JWT简单使用

Timer 的简单使用

RocksDB简单使用

Yaml的简单说明与使用

PromQL的简单使用

Jvisualvm简单使用