如何找到最准确的iPhone GPS结果
-
05-07-2019 - |
题
我记得在某处(我忘了哪里)读到如果一个iPhone应用程序只运行一次CLLocationManager,它就没有得到最准确的结果。
这是否准确,如果是,我该如何解决这个问题?我想提出最准确的GPS结果,我想知道是否只有一次会产生最佳效果。
感谢您的帮助!
解决方案
CLLocationManager *locationManager.desiredAccuracy = kCLLocationAccuracyBest;
将为您返回最佳结果。委托方法
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
将根据您设置的准确度偏好继续返回用户的位置。
如果您只需要一次该位置,则需要记住在 self
上调用 stopUpdatingLocation
。如果您需要连续更新用户的位置,请不要调用 stopUpdatingLocation
我正在使用CoreLocation来获取用户的位置,这对我的使用非常准确。
其他提示
您所阅读的内容可能来自 iPhone应用程序编程指南:
检索用户的当前信息 location,创建一个实例 CLLocationManager类和configure 它具有所需的准确性和 阈值参数。开始 接收位置通知, 为该对象分配一个委托 调用startUpdatingLocation方法 开始确定 用户的当前位置。什么时候新的 位置数据可用, 位置管理员通知其分配的 委托对象。如果位置更新 已经交付,你可以 还可以获取最新的位置数据 直接来自CLLocationManager 对象无需等待新事件 交付。
[...]
检查事件的时间戳是 建议因为位置 服务经常返回最后一个缓存 位置事件立即。它可以 需要几秒钟才能获得粗糙 位置修复所以旧数据简单 作为反映最后一个的方式 已知位置。你也可以使用 准确性作为一种确定手段 是否要接受活动。 因为它收到更准确的数据,所以 位置服务可能会额外返回 事件,具有准确性值 反映改进 相应