谷歌地图根本无法与 Meteor 一起使用 - iOS

Posted

技术标签:

【中文标题】谷歌地图根本无法与 Meteor 一起使用 - iOS【英文标题】:Google Maps not working with Meteor AT ALL - iOS 【发布时间】:2015-04-08 02:04:22 【问题描述】:

我尝试了地理定位、标准地图、克隆存储库以及我能想到的任何其他方式来在 Meteor 中创建反应式 Google 地图,但均未成功。它在浏览器中显示良好,但在我为 ios 打包时却没有。我知道那里的元素;我在地图上加了一个边框,它就会显示出来。

我在 Cordova 中打包了相同的代码,它就像一个魅力。

为什么它可以在浏览器而不是设备上运行?

这是其中一段代码:https://github.com/jondamato/gmap-meteor-issue

【问题讨论】:

【参考方案1】:

您的应用根本不应该在 production mode 中运行。这是因为你有两个文件map.jsmeteor.js

在您的meteor.js 中,当您运行onRendered 时,您调用initialize();。此方法的变量范围为 map.js 文件,由于文件级变量范围,在 map.js 之外不可用。

要公开initialize(); 方法,你必须这样写:

initialize = function()  ... 

不使用var 关键字或不使用function initialize() ..

由于map.js中的window dom事件,它可以在浏览器上运行

【讨论】:

我进行了更改,但仍然不行。如果你成功了,你能分享一下代码吗?谢谢 另外,如何在生产模式下测试我的应用程序?我知道我可以部署到 appname.meteor.com,但是我如何告诉我的“本机”应用指向那个 url? @jondamato 我的答案中的更改+删除您在 maps.html<script> 标记中的代码再次运行初始化使其对我有用。在 iphone 上,您还需要在 xcode 中设置的地理定位权限。可能更容易将此包添加到meteor add cordova:org.apache.cordova.geolocation@0.3.12 为您执行权限。要在生产模式下进行测试,请在您需要的任何环境中运行 meteor 时使用 --production 标志

以上是关于谷歌地图根本无法与 Meteor 一起使用 - iOS的主要内容,如果未能解决你的问题,请参考以下文章

将 GCM 与 Meteor 一起使用

谷歌地图 GeoComplete 与 GeoJson

谷歌地图根本没有加载,没有任何错误

使用 chrome 时如何在谷歌地图上制作多行标签?

无法在 vue cli 组件上显示谷歌地图

如何在 C++ 语言中将谷歌地图 API 与 MFC 或 QT 一起使用?