科尔多瓦谷歌地图键api错误

时间:2016-06-23 13:03:43

标签: google-maps google-maps-api-3

我有一个带有 cordova 的跨平台应用,但现在谷歌地图无效。 我有这个错误:

MissingKeyMapError 

我尝试使用" *"在Google控制台中创建新的api浏览器密钥。授权网址,但仍然无法正常工作。我有这个错误:RefererNotAllowedMapError 我的应用程序的window.location.href是:file:/// Users / bahri / Library / Developer / CoreSimulator / Devices / 757EE924-9884-44B1-B BF5-04CFF3D68C80 / data / Containers / Bundle / Application / 820BF808- DFF7-4AB0-8BF8-179D2 78E90D5 / com.taxiwink.taxiwinkapp.app / WWW / index.html中

如何解决此问题?

3 个答案:

答案 0 :(得分:3)

MissingKeyMapError错误

加载API的脚本元素缺少必需的身份验证参数。如果您使用的是标准Maps JavaScript API,则必须使用带有效API密钥的key参数。如果您是Premium Plan客户,则必须使用带有客户端ID的客户端参数或带有有效API密钥的密钥参数。

请参阅API密钥和客户端ID指南。

来自:

https://developers.google.com/maps/documentation/javascript/error-messages#deverrorcodes

https://developers.google.com/maps/documentation/javascript/get-api-key

此外:

注册授权网址

为防止第三方在自己的网站上使用您的客户端ID,您的客户端ID的使用仅限于您明确授权的网址列表。

要查看您已授权的网址或授权其他网址:

Log in to the Google for Work Support Portal.
In the left-hand menu, click Maps: Manage Client ID.

您一次最多可以添加100个网址,总共可以添加3000个网址。如果您需要更高的限制,请联系支持部门。

HTTP和HTTPS协议被视为不同的网址。

For example, if https://example.com is authorized, http://example.com is not necessarily authorized. If you'd like to authorize both at once, you may add a domain without using a protocol: example.com/

答案 1 :(得分:1)

您应该在API控制台中清空密钥的授权HTTP Referers列表。这应该使地图成功(传播延迟5分钟后)。

相关问题(建议"明星"他们获取有关其解决方案的更新):

<强>更新

好消息,现在你可以使用file:/ referrers。您可以在文档中看到以下文本

file:// referers need a special representation to be added to the Key restriction. The "file:/" part should be replaced with "__file_url__" before being added to the Key restriction. For example, "file://path/to/" should be formatted as "__file_url__/path/to/*". After enabling file:// referers, it is recommended you regularly check your usage, to make sure it matches your expectations

https://developers.google.com/maps/documentation/javascript/get-api-key#key-restrictions

答案 2 :(得分:1)

根据今天(2019年2月10日),以下http引荐来源网址允许在cordova应用中显示Google地图:

iOS:

__file_url__//var/containers/Bundle/Application/*

Android:

__file_url__//android_asset/www/index.html#/*
__file_url__//android_asset/www/index.html

cordova模拟(例如:模拟ios --target = chrome)

127.0.0.1
localhost

注意:根据此处的答案https://github.com/wevote/WeVoteCordova/issues/55