【问题标题】:What is a reasonable timeout for acquiring a GPS fix?获取 GPS 定位的合理超时时间是多少?
【发布时间】:2010-01-21 23:59:46
【问题描述】:

我正在创建一个请求用户位置的 BREW 应用程序。

如果手机无法获取位置,我想显示错误。

在我确定手机不可能获得 GPS 定位之前,我应该等待多长时间来回拨电话?

【问题讨论】:

    标签: gps geolocation brew-framework brewmp


    【解决方案1】:

    当需要冷启动时,接收器必须下载全套星历数据,这些数据在 30 秒周期内从 GPS 卫星广播,每 30 秒重新传输一次。

    所以我会说 60-90 秒(两个或三个 Ephemeris 周期)是在宣布失败之前等待的合适时间。

    http://www.navigadget.com/index.php/gps-knowledge/ttff-time-to-first-fix

    请注意,如果设备需要下载年历,启动时间可能会更长(大约 12.5 到 15 分钟)。这称为工厂 TTFF(首次修复时间)。

    【讨论】:

    • 年历过期并执行下载不会阻止 GPS 获取位置。年历是分段传输的,并且可以由 GPS 在多个唤醒事件中收集。我使用的一个 GPS 引擎的默认采集超时时间为 2 分钟。如果在这段时间之后它还没有获得卫星,它会进行自我重置并重新开始。
    【解决方案2】:

    我可能会在通知用户您未能建立链接和让他们选择停止尝试之间增加(比如 20 或 30 秒)。坚持下去,直到他们阻止你,或者经过一定数量的迭代(比如 5 到 10 次迭代)。

    【讨论】:

      【解决方案3】:

      45-90 秒。

      有关详细信息,请参阅 Wikipedia 上的 GPS Time To First Fix 文章。

      但你永远无法知道用户何时真正看到卫星,也许他们在启动程序时还在里面,所以 Matthew Vines 建议的方法比持续延迟要好得多。

      【讨论】:

        【解决方案4】:

        特别是手机,我有一部带有 GPS 接收器的摩托罗拉手机,但它非常糟糕 - 可能需要大约 5 分钟才能得到修复,而我的独立蓝牙接收器可以在不到一分钟的时间内完成.

        为什么在固定超时后仍然声明失败?为什么不呢,在经过一段合理的时间(比如一分钟)之后,显示一条“GPS 定位仍然不可用;但我仍在尝试”的消息,如果用户吃饱了,可以随时取消向上?您希望用户如何处理您提议给他的失败消息?

        【讨论】:

        • 目前,我正在编写一个单元测试,以便我们查看它是否正常工作。最终用户可能永远不会看到这些。感谢您的意见。
        猜你喜欢
        • 2012-01-13
        • 1970-01-01
        • 1970-01-01
        • 2015-11-28
        • 1970-01-01
        • 2013-03-25
        • 1970-01-01
        • 2019-07-26
        • 2010-11-12
        相关资源
        最近更新 更多