如何在 IOS 的流星科尔多瓦应用程序中使用谷歌地图

Posted

技术标签:

【中文标题】如何在 IOS 的流星科尔多瓦应用程序中使用谷歌地图【英文标题】:how to use google maps in meteor cordova app for IOS 【发布时间】:2015-12-26 11:37:36 【问题描述】:

我一直试图让谷歌地图在 ios 上与流星和科尔多瓦一起工作(用模拟器测试),但是在修修补补的时间比我愿意承认的要长之后,我就是无法让它工作。

我从文章开始:

http://blog.thebakery.io/native-ios-maps-with-meteor-and-cordova/

在为 android 和 IOS 生成谷歌应用密钥并将它们添加到 mobile-config.js 后,我成功地安装和编译它,如下所示:

App.configurePlugin('plugin.google.maps', 
    'API_KEY_FOR_ANDROID': 'my-andriod-key',
    'API_KEY_FOR_IOS': 'my-ios-key'
);

当我尝试运行它时,我得到的只是一个空白屏幕。

然后我四处寻找替代方案,发现:

https://github.com/gwendall/meteor-google-maps-cordova

这也编译没有错误,但我得到的只是一个空白屏幕。

在阅读了更多内容后,我还安装了地理定位,以防万一:

流星添加 mdg:geolocation

不开心:(

作为最后一次尝试,我尝试寻找不使用 Cordova 的流星谷歌地图实现,并提升了模板脚本以查看它是否可以工作。

https://github.com/dburles/meteor-google-maps-demo

运气不好。

我对 Meteor 还很陌生,所以我已经达到了我的能力极限。

有没有其他人尝试使用 Cordova 在 Meteor 上实现 google-maps?我将不胜感激任何有关如何使其工作的示例或建议。

-- 更新--

在搜索了一些关于 google-maps 问题的流星帖子后,我确实找到了一个建议向 mobile-config.js 添加一些访问规则的帖子

App.accessRule('https://*.googleapis.com/*');
App.accessRule('https://*.google.com/*');
App.accessRule('https://*.gstatic.com/*');

在这之后,我现在至少没有得到一个完全空白的屏幕。当我通过 safari 开发人员工具查看时,我可以看到生成了一个 google-maps 窗口,但它是一个空的灰色元素,角落有一个 google 徽标,并且不加载实际地图。

【问题讨论】:

【参考方案1】:

听起来你做对了,我肯定需要在 mobile-config.js 中添加以下规则

App.accessRule('*');
App.accessRule('https://*.googleapis.com/*');
App.accessRule('https://*.google.com/*');
App.accessRule('https://*.gstatic.com/*');
App.configurePlugin('plugin.google.maps', 
    'API_KEY_FOR_IOS': 'your private key' );

也许重新访问谷歌控制台以确保您已正确设置 javascript 和 IOS 凭据

【讨论】:

以上是关于如何在 IOS 的流星科尔多瓦应用程序中使用谷歌地图的主要内容,如果未能解决你的问题,请参考以下文章

如何使用卡在加载屏幕上的铁路由器调试流星/科尔多瓦应用程序?

如何在 Flutter Web 中使用谷歌地图库? [关闭]

无法构建科尔多瓦流星应用程序(错误:ENOENT)

离子框架:不在设备上加载谷歌地图库

Ionic v1 - 谷歌地图最初没有在 iOS 中加载

如何在适用于 ios 7 的科尔多瓦 3.9.2 中删除 index.html