Google Map错误:InvalidKeyOrUnauthorizedURLMapError

时间:2015-04-10 22:40:29

标签: javascript google-maps-api-3

我正在开发使用Google地图的JavaScript / HTML / CSS应用。我收到以下警告对话框:

"此页面无法显示Google地图元素。提供的Google API密钥无效,或者此网站无权使用它。错误代码:InvalidKeyOrUnauthorizedURLMapError"

app 实际显示地图元素;警报不是问题,除非它根本不应出现。地图显示正确。

我已经进入了Google Developer's Console,并且进入了#34;凭据"部分,有#34;编辑允许的推荐人"成为mydomain.com / *

我还参加了API部分的Google Developer's Console,并启用了11个Google Maps API。

10 个答案:

答案 0 :(得分:22)

经过大量引荐来源组合,删除并重新创建凭据后,我意识到我没有启用“Google Maps JavaScript API”。多可惜。 :)

对于无法获得谷歌地图API工作的任何人,请检查是否首先启用了API。

答案 1 :(得分:9)

经过这个问题的努力,我找到了一个解决方案。它可能会帮助那些正在寻找正确而准确的解决方案的人,而不是评论,赞成和链接 (我的情况下没有显示地图。)

如果设想,您要加载地图的页面链接为
http://example.com/abc/def/ghi/kpn.php

然后在same(exactly the same)

下提供Edit allowed references

如果您尝试使用以下方法加载同一页面:

www.example.com/abc/def/ghi/kpn.php

http://www.example.com/abc/def/ghi/kpn.php

然后您的页面已加载但未加载您的地图,并生成此警报。

<强>结论

在这两个地方使用相同的路径(网址)。

  1. 加载包含地图的页面时。

  2. Edit allowed references

  3. 在此之后,我已经摆脱了这个警报。

答案 2 :(得分:4)

首先,您需要转到https://console.developers.google.com/并选择API。

在Google Maps API中选择Google Maps JavaScript API,并确保为Google Maps JavaScript启用API。

其次,您需要创建一个API密钥:

  1. 转到凭据
  2. 创建新密钥并选择浏览器密钥
  3. 无需指定任何引荐
  4. 因此,您应该在保存后看到Any referrer allowed

答案 3 :(得分:3)

经过大量的反复试验后,这对我有用(Eduardo。谢谢!)

  

需要获得授权的网址是引荐来源网页中针对浏览器发送给Google以加载API的请求的网址。

Browser Credentials > REFERERS

添加这些

  1. .example.org /
  2. www.example.org / *
  3. http://www.example.org
  4. http://example.org

答案 4 :(得分:2)

geocodezip提供了我需要的信息。我确实加载了googlemaps库两次:一次在我的index.html文件中,一次在iFrame中。我更改了我的代码,以便iFrame没有加载googlemaps库,而是使用了父代。谢谢geocodezip!

答案 5 :(得分:2)

转到API菜单,找到&#34; Google Maps JavaScript API&#34;打开它后,只需按&#34;启用API&#34;

答案 6 :(得分:0)

我能够通过删除所有引用并允许所有引用来实现此功能。显然,开发人员控制台中存在导致问题的错误。有些人说,他们可以通过删除所有引用来引用工作,然后立即添加所有引入而不是逐行:

https://productforums.google.com/forum/#!topic/maps/mSVyDazRMQo

我尝试过以前的事情:

  1. 重新生成密钥
  2. 将所有地图apis设置为已启用
  3. 硬编码引荐的绝对路径
  4. 旁注,当我没有包含我的api_key时,一切都被罚了,但我确信如果你不使用api_key,他们最终会拒绝你。

答案 7 :(得分:0)

对我有用的是使用Firebug来查找向Google Maps API发出请求的确切网址。如troubleshooting authorization上的Google Maps API文档中所述,&#34;如何找到正确的网址&#34;部分:

  

需要授权的URL是Referrer标头中的URL   对于浏览器发送给Google以加载API的请求。

就我而言,假设我有一个网站example.com。在开发者控制台中,在Google Maps API密钥下,我添加了许多引荐来源的组合,例如example.com/**.example.com/*example.com,但InvalidKeyOrUnauthorizedURLMapError仍然存在

我的解决方案,正如我已经提到的,使用Firebug:打开example.com并查找引用者向https://maps.googleapis.com/maps/api/js?...发出请求的内容,它是http://example.com,这是它。我已将http://example.com/*添加到开发人员控制台中已启用的网址下的各自的API密钥下,现在一切正常。

了解Firebug的位置非常重要:它是Net标签。只需点击maps.googleapis ...的请求,然后查找Referer

即可

答案 8 :(得分:0)

我通过使用我自己特殊创建的密钥交换密钥以及非常仔细地阅读此网页几次来完成工作。我的建议是在开始编写非常复杂的脚本之前,在https://console.developers.google.com/apis/credentials添加或交换您的Google API密钥。

在Google Map javascript的第一行插入您自己的API密钥:

答案 9 :(得分:0)

如果你已经设置了所有配置,比如api key等,你仍然会收到错误, 请启用有关Google地图的所有强制性API。

赞: -

Google Maps Embed API
Google Maps Geocoding API
Google Maps Geolocation API
Google Maps JavaScript API