Javascript 谷歌地图错误:InvalidKeyorUnauthorizeDurlMaperor
我正在用JavaScript/HTML/CSS开发一个使用谷歌地图的应用程序。我收到以下警报对话框: “此网页无法显示Google Maps元素。提供的Google API密钥无效或此网站无权使用。错误代码:InvalidKeyorUnauthorizeDurlMaperor” 应用程序确实显示了地图元素;警报不是问题,除非它根本不应该出现。地图显示正确 我已经进入谷歌开发者控制台,在“凭证”部分,我将“允许推荐人”编辑成mydomain.com/*Javascript 谷歌地图错误:InvalidKeyorUnauthorizeDurlMaperor,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我正在用JavaScript/HTML/CSS开发一个使用谷歌地图的应用程序。我收到以下警报对话框: “此网页无法显示Google Maps元素。提供的Google API密钥无效或此网站无权使用。错误代码:InvalidKeyorUnauthorizeDurlMaperor” 应用程序确实显示了地图元素;警报不是问题,除非它根本不应该出现。地图显示正确 我已经进入谷歌开发者控制台,在“凭证”部分,我将“允许推荐人”编辑成mydomain.com/* 我还进入了API部分的Google开发者控制
我还进入了API部分的Google开发者控制台,启用了11个Google Maps API 在为这个问题苦苦挣扎之后,我找到了一个解决方案。它可能会帮助那些正在寻找正确和准确解决方案的人,但不会帮助他们找到评论、向下投票和链接。
(在我的案例中未显示地图) 如果假设,加载地图的页面链接为
http://example.com/abc/def/ghi/kpn.php
然后在编辑允许的引用
如果尝试使用以下命令加载同一页面:
www.example.com/abc/def/ghi/kpn.php
或
http://www.example.com/abc/def/ghi/kpn.php
然后加载页面但不加载地图,并生成此警报
结论
在这两个位置使用相同的路径(Url地址)
下编辑允许的引用
遵循此操作后,我已摆脱此警报。我可以通过删除我的所有推荐人并允许所有人来执行此操作。显然,开发人员控制台中存在一个导致问题的bug。有些人说,他们可以通过删除所有内容,然后立即添加所有内容来让推荐人工作,而不是逐行添加: 我以前试过的东西:
顺便说一句,当我没有包括我的api密钥时,一切都很顺利,尽管我相信如果你不使用api密钥,他们最终会关闭你的api密钥。geocodezip提供了我需要的信息。我确实加载了谷歌地图库两次:一次在index.html文件中,一次在iFrame中。我更改了代码,这样iFrame就不会加载googlemaps库,而是使用父对象。谢谢geocodezip 首先,您需要转到并选择API 在谷歌地图API中,选择谷歌地图JavaScript API,并确保为谷歌地图JavaScript启用API 其次,您需要创建一个API密钥:
因此,保存后,您应该可以看到
允许的任何推荐人。对我有效的方法是使用Firebug,以便找到向Google Maps API发出请求的确切URL。正如Google Maps API文档中所述,“如何找到正确的URL”部分:
需要授权的URL是Referer标头中的URL
对于浏览器发送到Google以加载API的请求
在我的例子中,假设我有一个网站example.com。在开发人员控制台中,在Google Maps API键下,我添加了许多引用组合,例如example.com/*
,*.example.com/*
,example.com
,但仍然保留了InvalidKeyOrUnauthorizedURLMapError
正如我所提到的,我的解决方案是使用Firebug:openexample.com,查找向https://maps.googleapis.com/maps/api/js?...
,它是http://example.com
,就是这样。我添加了http://example.com/*
在开发人员控制台中,在我各自的API密钥下打开启用的URL,现在一切正常
了解Firebug的搜索位置很重要:这是Net
选项卡。只需点击请求maps.googleapis…
并查找Referer
进入API菜单并在打开“Google maps JavaScript API”后找到它,经过多次尝试和错误后只需按“Enable API”,这对我来说很有效(Eduardo.谢谢!)
需要授权的URL是浏览器发送到Google以加载API的请求的Referer标头中的URL
在Browser-Credentials>REFERERS下
加上这些
.example.org/
www.example.org/*
在多次引用组合、删除和重新创建凭据之后,我意识到我没有启用“GoogleMapsJavaScriptAPI”。真可惜。:)
对于任何无法使用google maps api的用户,请先检查api是否已启用。我使用自己创建的特殊密钥交换密钥,并仔细阅读此网页几次,从而使其正常工作。我的建议是在开始编写非常复杂的脚本之前,在添加或交换您的Google API密钥
在Google Map javascript的第一行插入您自己的API键:如果您已经设置了所有配置,如API键等,但仍然出现错误,
请启用所有与谷歌地图相关的强制API
如:-
谷歌地图嵌入API
谷歌地图地理编码API
谷歌地图地理定位API
Google Maps JavaScript API尝试将“www.mydomain.com/*”添加到允许的引用者中。谢谢。试过了。没有变化。在控制台中,当警报框弹出上面的消息时,我会看到这样的消息:“InvalidKeyOrUnauthorizedURLMapError:VM3230:45”,但当我在VM3230中设置断点时,下次警报发生时,引用的是另一个文件,如VM32