【发布时间】:2015-10-14 08:02:49
【问题描述】:
在重大更改位置服务中,我使用了“startMonitoringSignificantLocationChanges”方法,但它只返回缓存的位置,不返回更新的位置信息。 我用过 Swift 语言。
【问题讨论】:
-
你可以试试下面的链接:stackoverflow.com/questions/11697730/…
在重大更改位置服务中,我使用了“startMonitoringSignificantLocationChanges”方法,但它只返回缓存的位置,不返回更新的位置信息。 我用过 Swift 语言。
【问题讨论】:
假设您保持对位置管理器对象的强引用,请确保您调用 locationManager.requestAlwaysAuthorization() 以使 startMonitoringSignificantLocationChanges 正常运行。
编辑:
无论您使用哪种定位服务,定位数据都是 通过位置管理器的关联委托向您的应用报告 目的。因为返回初始值可能需要几秒钟 位置,位置管理器通常会提供先前的 立即缓存位置数据,然后提供更多最新的 位置数据,因为它变得可用。所以总是好的 在采取任何措施之前检查任何位置对象的时间戳的想法 行动。如果同时启用两种定位服务,它们 使用同一组委托方法传递事件。
等待一段时间,并确保您更改了实际位置,以便位置经理返回正确的位置。请注意,重大位置更改模式总是比常规模式慢。
【讨论】: