我有一个带有 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中
如何解决此问题?
答案 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