地理定位不适用于带有 Meteor 的 iOS
Posted
技术标签:
【中文标题】地理定位不适用于带有 Meteor 的 iOS【英文标题】:Geolocation not working on iOS with Meteor 【发布时间】:2015-10-21 20:38:49 【问题描述】:我已经与 Meteor 斗争了 5 个小时。
我想得到Geolocation.latLng()
。它在我的浏览器上完美运行,我将它与 GoogleMaps 结合起来在地图上放置标记。我在关注this example,并没有太多接触。
当我在 ios 上编译时,Geolocation 在我的模拟器(iPhone 6 / iOS 8.3)上返回奇怪的错误,例如 Geolocation failed : Position retrieval timed out
,有时它是另一个非常相似的错误(注意:它询问我是否想分享我的位置我启动应用程序,我接受)
有时它说它刚刚编译,我也得到了我的应用程序的旧版本。 发生了什么 ?一旦你尝试制作一个真实世界的项目,是我还是真的有那么大的问题?
这个to-do list tutorial 看起来很神奇,但是一旦你理解了它的工作原理并尝试了一些真实的东西,它就会有点令人失望......听起来很不稳定,还没有准备好。
如果我做错了什么,请随时告诉我 ;)
更新:我已经搜索了很多,现在我正在尝试以不同的方式设置地理定位包的timeout
限制以避免此错误。
可悲的是,我意识到timeout : Infinity
是源的默认值:听起来像是一个问题。
到目前为止没有任何工作。如果有人有想法,也请告诉我...
【问题讨论】:
【参考方案1】:我终于成功了。首先,由于 Lucas 的回答,我意识到您必须设置 accessRule,但这还不够。
// In a mobile-config.js in the project
App.accessRule('*://maps.googleapis.com/*');
Apple 提供的 iOS 模拟器似乎有错误:位置没有正确检索,或者根本没有。只有当我将 Debug > Location
设置为 City Ride
时它才有效;甚至 Apple
在我的手上也不能正常工作。
如果没有什么对你有用,请尝试所有可能的Location
,这可能是问题所在。
【讨论】:
【参考方案2】:您是否在mobile-config.js
中定义了accessRule
?如果没有,试试这个。
App.accessRule('*://maps.googleapis.com/*');
【讨论】:
mobile-config.js
?它应该在哪里?我没有得到任何关于任何配置的细节......
现在我添加了一个配置,我现在可以访问“谷歌地图”模块(我看到了地图),但几秒钟后它消失了,同样的错误发生了:(【参考方案3】:
在这里,克隆我不久前整理的这个示例应用程序:
https://github.com/ffxsam/whats-nearby
它适用于桌面和移动设备。您所要做的就是添加 settings.json
并在其中添加您的 Google Places API 密钥。
"apiKey": "...."
【讨论】:
这个应用运行良好,我会检查一下,看看在移动端会发生什么,谢谢以上是关于地理定位不适用于带有 Meteor 的 iOS的主要内容,如果未能解决你的问题,请参考以下文章