地理定位不适用于带有 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的主要内容,如果未能解决你的问题,请参考以下文章

地理定位不适用于 Firefox

Javascript地理定位不适用于更新的android chrome

地理定位不适用于科尔多瓦

后台地理定位插件不适用于 Android 版本

地理定位不适用于webview android

Phonegap 2.5.0 地理定位不适用于 android 4.0.4