如何确定iOS中的位置源

时间:2016-08-03 03:58:59

标签: ios objective-c iphone location google-maps-sdk-ios

我正在获取当前位置, 在我的应用程序中,我想知道我的位置来自GPS或WIFI或蜂窝数据。我该如何检查? 有没有办法确定位置来源?

Apple iOS使用

辅助全球定位系统(A-GPS)

众包Wi-Fi

蜂窝网络搜索

确定您的位置:

这三个阶段按优先级降序使用。换句话说,iOS首先尝试使用GPS卫星链接来修复您的位置。如果无法获取卫星,iOS将故障转移到Wi-Fi。如果未连接到Wi-Fi局域网(WLAN),则iOS使用手机信号塔数据

1 个答案:

答案 0 :(得分:2)

作为A-GPS的一部分,Apple将所有非GPS系统与GPS同时使用。说它倒退并不是一个真正准确的描述。相反,在尝试获取GPS锁定时,它将使用其他系统来大致了解您的位置。只有在无法获得GPS锁定的情况下,手机才会简单地从其他来源报告它所知道的内容。

CoreLocation不提供其源(或源),但您可以使用一些启发式来猜测。

  1. 检查位置更新报告的准确性。大范围(例如500米以上)表示它不是GPS定位。
  2. 检查哪些无线电可用。如果设备中没有蜂窝无线电,修复必须来自Wifi。
  3. 检查蜂窝无线电是否处于活动状态。设备不需要与可用提供商一起使用塔来进行修复。不要过滤它。
  4. 这些是我最好的猜测。如果你真的想要这个功能,你就必须进行实验。