谷歌地图根本无法与 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.js
和meteor.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的主要内容,如果未能解决你的问题,请参考以下文章