【问题标题】:How can i determine if location information returned by CLLocationManager is valid?如何确定 CLLocationManager 返回的位置信息是否有效?
【发布时间】:2010-10-02 16:53:47
【问题描述】:

如何判断CLLocationManager返回的位置信息是否有效?

【问题讨论】:

    标签: cocoa-touch geolocation core-location


    【解决方案1】:

    另外,如果水平精度为负数,则经纬度无效。

    【讨论】:

      【解决方案2】:

      要查找两件事,时间戳和 hdop(水平精度)。第一个会告诉你读数的时间,第二个会告诉你读数的错误程度。例如,1000 的 hdop 将告诉您测量结果精确到 1000 米以内。显然,hdop 越低越好。

      它们都在您获得的核心位置更新中。

      【讨论】:

        【解决方案3】:

        你不能绝对肯定。你会得到手机关于它所在位置的最佳信息,而且你信不信由你,但你不能轻易地验证那个位置。

        可能对某些人有所帮助的一件事是检查您获得的位置的时间戳。 Core Location 会缓存数据,你得到的第一个结果可能是一个非常古老的读数。如果手机完全移动,则可能不准确。另一方面,它可能仍然是正确的,在新结果出现之前你真的不能确定。然而,在你的应用程序启动之前丢弃来自时间戳所在的核心位置的任何数据通常很有用——它可能是好的数据,但很有可能不是。以后的读数将是新的,并且与手机一样值得信赖。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-10-22
          • 1970-01-01
          • 2014-07-18
          • 1970-01-01
          • 1970-01-01
          • 2011-01-16
          • 2011-01-11
          相关资源
          最近更新 更多