Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图错误:InvalidKeyorUnauthorizeDurlMaperor_Javascript_Google Maps Api 3 - Fatal编程技术网

Javascript 谷歌地图错误:InvalidKeyorUnauthorizeDurlMaperor

Javascript 谷歌地图错误:InvalidKeyorUnauthorizeDurlMaperor,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我正在用JavaScript/HTML/CSS开发一个使用谷歌地图的应用程序。我收到以下警报对话框: “此网页无法显示Google Maps元素。提供的Google API密钥无效或此网站无权使用。错误代码:InvalidKeyorUnauthorizeDurlMaperor” 应用程序确实显示了地图元素;警报不是问题,除非它根本不应该出现。地图显示正确 我已经进入谷歌开发者控制台,在“凭证”部分,我将“允许推荐人”编辑成mydomain.com/* 我还进入了API部分的Google开发者控制

我正在用JavaScript/HTML/CSS开发一个使用谷歌地图的应用程序。我收到以下警报对话框:

“此网页无法显示Google Maps元素。提供的Google API密钥无效或此网站无权使用。错误代码:InvalidKeyorUnauthorizeDurlMaperor”

应用程序确实显示了地图元素;警报不是问题,除非它根本不应该出现。地图显示正确

我已经进入谷歌开发者控制台,在“凭证”部分,我将“允许推荐人”编辑成mydomain.com/*


我还进入了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密钥,他们最终会关闭你的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