如何在iOS中获取位置提供程序名称?

时间:2013-09-18 15:12:18

标签: ios location

在Android中,无论何时获得位置对象,您都可以在实例上调用“location。getProvider”来获取类似“wifi”的值。在iOS(CLLocation)中有类似的东西吗?

2 个答案:

答案 0 :(得分:1)

Location Awareness Programming Guide说:

  

[CoreLocation]框架使用从内置蜂窝,Wi-Fi或GPS硬件获得的信息来对设备的位置修正进行三角测量。它会向您的代码报告位置,并根据您配置服务的方式,在收到新数据或改进数据时提供定期更新

话虽如此,您无法访问CLLocationManager确定您的位置的精确程度(除非您使用了重大更改,否则它可能使用了手机信号塔)。理论上,您可以使用Reachability来查看您是否具有Wi-Fi可用性,但您无法保证它用于获取您的位置的GPS,蜂窝和Wi-Fi的混合(即使您碰巧有WiFi连接)。

您所拥有的是horizontalAccuracy,它会告诉您收到的位置大致有多准确。从用户的角度来看,这可能是更重要的信息。

答案 1 :(得分:0)

没有一个概念说明哪个系统为您提供了iOS上的位置。您可以做的是检查位置的准确性。根据位置的精确程度,如果位置是由GPS信号提供的,你可能会猜测。

没有给出的原因是iOS将为您提供一个初始位置,该位置不会非常准确(可能基于geo-ip或单元格三角测量),然后使用越来越精确的坐标更新位置GPS可用。

如果您的应用要求 GPS芯片提供的准确度,您可以将UIRequiredDeviceCapabilities = gps添加到您的Info.plist。