【问题标题】:How to determine location source in iOS如何在 iOS 中确定位置源
【发布时间】:2016-08-03 03:58:59
【问题描述】:
我正在获取当前位置,
在我的应用程序中,我想知道我的位置来自 GPS 或 WIFI 或蜂窝数据。我该如何检查?
有什么方法可以确定位置来源吗?
苹果iOS使用
辅助全球定位系统 (A-GPS)
众包 Wi-Fi
蜂窝网络搜索
确定您的位置:
这三个阶段按优先级降序使用。换句话说,iOS 首先尝试使用 GPS 卫星链接来确定您的位置。如果无法获取卫星,iOS 将故障转移到 Wi-Fi。如果您未连接到 Wi-Fi 局域网 (WLAN),则 iOS 会使用手机信号塔数据
【问题讨论】:
标签:
ios
objective-c
iphone
location
google-maps-sdk-ios
【解决方案1】:
Apple 同时使用所有非 GPS 系统和 GPS,作为 A-GPS 的一部分。说它正在倒退并不是一个准确的描述。相反,在尝试获取 GPS 锁定时,它会使用其他系统大致了解您的位置。只有在无法获得 GPS 锁定的情况下,手机才会简单地报告它从其他来源获得的信息。
CoreLocation 不提供其来源(或多个来源),但您可以使用一些启发式方法进行猜测。
- 检查位置更新报告的准确性。大范围(例如 500 多米)表明它不是 GPS 定位。
- 检查哪些无线电可用。如果设备中没有蜂窝无线电,则必须通过 Wifi 进行修复。
- 检查蜂窝无线电是否处于活动状态。该设备不需要可用供应商的服务来使用塔进行修复。不要对此进行过滤。
这些是我最好的猜测。如果您真的想要此功能,则必须进行试验。