使用 google-place-api 的简单 html 页面的 ApiNotActivatedMapError

我正在尝试创建一个简单的 html 页面(稍后我想在这里添加一个自动完成输入) ,其中包括 google-place-api。 我有一个 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>

但是我得到了这个错误消息- enter image description here

在控制台上我得到了 Google Maps API 错误: Google Maps API 错误: ApiNotActivatedMapError

我不明白有什么问题. . 感谢任何人的帮助

239676 次浏览

你有没有试过按照链接帮助页面上的建议去做? http://g.co/mapsJSApiErrors的帮助页面上写着:

ApiNotActivatedMapError

在您的 API 项目中,GoogleMaps JavaScriptAPI 没有被激活。您可能需要在 GoogleDevelopersConsole 中的 API 下启用 GoogleMaps JavaScriptAPI。

参见 获取 API 密钥

因此,请检查您正在使用的键是否启用了 谷歌地图 JavaScript API

我也犯了同样的错误,为了修正这个错误:

  1. 打开控制台菜单 Gallery Menu并选择 API Manager
  2. 在左侧,单击 Credentials,然后单击 New Credentials
  3. Create Credentials
  4. API KEY
  5. 单击 Navigator Key(有更多选项; 这取决于何时使用)。

您必须使用这个由系统生成的新 API Navigator Key

让阿皮做到这一点

  1. 转到 API Manager
  2. 点击 Overview
  3. 搜索 Google Maps JavaScript API(在 Google Maps APIs下)。点击它
  4. 您将在那里找到 Enable按钮。单击以启用 API。

或者 你可以试试这个 url : 地图 JavaScript API

希望这将解决启用 API 的问题。

不幸的是,截至2017年1月,@Adi 的回答似乎应该奏效,但实际上并非如此。(Google 的 API 密钥进程有问题)

你需要从这个链接点击“获得一个关键”: https://developers.google.com/maps/documentation/javascript/get-api-key

另外,我强烈建议您不要选择“安全密钥”,直到您准备切换到生产。我对一个密钥做了 http 引用限制,之后无法让它与 localhost 一起工作,即使在禁用了密钥的安全性之后也是如此。我不得不创建一个新的关键,它再次工作。

假设您已经在谷歌开发者控制台下创建了一个应用程序, 按照以下步骤操作

  1. 转到下面的链接 https://console.cloud.google.com/apis/dashboard?,你会得到下面的页面enter image description here
  2. 单击 启用 API 和服务,您将被引导到以下页面enter image description here
  3. 选择所需的选项-在本例中为“ Maps JavaScript API”
  4. 按下面的 ENABLE 按钮, enter image description here

注意: 请使用服务器加载 html文件

使用 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>