iphone - 停止返回缓存的 CLLocationManager 位置

标签 iphone cocoa-touch location cllocationmanager caching

我想知道是否有某种方法可以使 CLLocationManager 不会自动返回缓存位置。我理解文档说“位置服务尽快返回初始位置,在可用时返回缓存信息”,但该缓存位置可能距离用户当前位置非常远,如果可能的话,我希望它更精确。

感谢您的帮助!

最佳答案

你无法阻止它缓存,但过滤掉缓存的数据并不难。核心位置包括带有其位置的时间戳。将位置的时间戳与应用程序启动时保存的时间戳进行比较,您将能够辨别哪些位置是旧的(缓存的,在应用程序声明之前找到的)和哪些是新的。扔掉旧的。

位置时间戳是一个 NSDate,因此只需在应用启动时获取 [NSDate date] 的值,并将其用作过滤位置时的引用点即可。一旦开始获取新数据,您甚至可以丢弃引用值,并将零引用日期视为暗示应信任新位置。

关于iphone - 停止返回缓存的 CLLocationManager 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2262177/

相关文章:

iphone - 最佳实践 - 访问全局偏好

iphone - UIAlertView 开始显示,屏幕变暗,但直到为时已晚才弹出!

iphone - 符合iOS4

iPhone:自动增加徽章计数器

ios - UIBarItem - 作为方法/属性访问 customView

iphone 应用程序 - 如何只获取一次当前位置并将其存储以用于另一个功能?

android - 调试应用程序时在 Android Studio 中设置 GPS 位置

php - 文档引用位置 javascript 远程 php 服务器

iphone - iOS 5 中的 Twitter 用户 ID

iphone - 将 imageview 项目拖动到 UITableViewCell 上