Cordova webview无法加载IOS/Android的谷歌地图api密钥

Cordova webview无法加载IOS/Android的谷歌地图api密钥,android,ios,cordova,google-maps,security,Android,Ios,Cordova,Google Maps,Security,我已经编写了一个使用谷歌地图的Cordova应用程序。它目前在两个应用商店中都可用。谷歌最近开始警告用户不要在没有API密钥的情况下使用谷歌地图 “谷歌地图API警告:noapikeeshttps://developers.google.com/maps/documentation/javascript/error-messages#no-api密钥” 这意味着他们将很快强制使用API密钥。我按照Google开发者控制台中的说明为我的应用程序支持的每个平台创建API密钥 桌面/移动浏览器(浏

我已经编写了一个使用谷歌地图的Cordova应用程序。它目前在两个应用商店中都可用。谷歌最近开始警告用户不要在没有API密钥的情况下使用谷歌地图

“谷歌地图API警告:noapikeeshttps://developers.google.com/maps/documentation/javascript/error-messages#no-api密钥”

这意味着他们将很快强制使用API密钥。我按照Google开发者控制台中的说明为我的应用程序支持的每个平台创建API密钥

  • 桌面/移动浏览器(浏览器api键为*.mydomain.com,适用于 推荐人)
  • IOS(具有特定绑定ID的IOS api密钥)
  • Android(带有包名和sha-1指纹的Android api密钥)
从“我的域”部署应用程序时,浏览器API键对桌面浏览器运行良好。但是,当我的应用程序打包为Cordova应用程序并在手机上运行时,IOS或Android API键不起作用。我在控制台中收到无效的api密钥消息,我的应用程序未加载

如果我在任何地方都使用浏览器API键,只要引用者列表为空,它就可以工作,这是从本地文件URL加载Cordova应用程序所必需的。但这不是一个解决方案。任何获得API密钥的人都可以免费使用它,我将在我的帐户上使用它们。我想使用IOS/Android API键,因为它们提供了锁定API键在我的应用程序中使用的选项

问:有没有办法让谷歌相信我在Cordova webview中运行的地图实例真的在Android或IOS上运行,并接受我各自的API密钥


谷歌地图上有Cordova插件,可以接受IOS/Android密钥,而且显然可以正常工作。但是,我直接加载谷歌地图,而不是在中间使用插件。我认为问题在于谷歌地图认为它是在浏览器中运行的,而实际上它是在Android或IOS上的Cordova应用程序中运行的。当然,一定有办法做到这一点,也许可以使用config.xml或AndroidManifest.xml。

我相信JS、Android和IOS SDK都是不同的SDK。我想做的是将JSSDK与本机IOS/Android API键一起使用,以实现更好的锁定。这在目前看来是不可能的。嗨@jmelvin,你设法解决了这个问题吗?我使用API只是为了路线指示,也不想在我永远不会向用户显示地图的情况下包含一个完整的插件来显示地图。不幸的是,还没有解决方案。在某些时候需要API密钥,并且没有明显的临时解决方案来捕获密钥错误。注意:要使用谷歌地图相关的API,您可能需要根据许可协议显示某种地图。你可以再检查一下。