【问题标题】:How To Find the Most Accurate iPhone GPS Results如何找到最准确的 iPhone GPS 结果
【发布时间】:2009-11-27 18:20:56
【问题描述】:

我记得在某处(我忘了在哪里)读到,如果 iPhone 应用程序只运行一次 CLLocationManager,它并没有得出最准确的结果。

这是否准确,如果是,我该如何解决这个问题?我想得出最准确的 GPS 结果,我想知道是否只有一次会产生最好的结果。

感谢您的帮助!

【问题讨论】:

    标签: iphone sdk location cllocationmanager


    【解决方案1】:
    CLLocationManager *locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    

    将为您返回最佳结果。委托方法

    - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
    

    将继续根据您设置的准确性首选项返回用户的位置。

    如果您只需要该位置一次,您需要记得在self 上致电stopUpdatingLocation。如需持续更新用户位置,请勿拨打stopUpdatingLocation

    我正在使用 CoreLocation 来获取用户的位置,这对我来说非常准确。

    【讨论】:

      【解决方案2】:

      您阅读的内容很可能来自iPhone Application Programming Guide

      检索用户当前的 位置,创建一个实例 CLLocationManager 类和配置 它具有所需的精度和 阈值参数。开始 接收位置通知, 为对象分配一个委托和 调用 startUpdatingLocation 方法 开始确定 用户的当前位置。新的时候 位置数据可用时, 位置经理通知其分配 委托对象。如果位置更新 已经发货了,可以 还可以获取最新的位置数据 直接来自 CLLocationManager 对象而不等待新事件 待发货。

      [...]

      检查事件的时间戳是 推荐因为位置 服务经常返回最后缓存的 立即定位事件。它可以 需要几秒钟来获得一个粗糙的 位置修复,所以旧数据简单 作为反映最后的一种方式 已知位置。您还可以使用 准确性作为确定的一种手段 是否要接受事件。 当它接收到更准确的数据时, 定位服务可能会返回额外的 事件,具有准确度值 反映改进 相应地。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-08
        相关资源
        最近更新 更多