【问题标题】:Detect if a iPhone/iPod Touch/iPad has a GPS chip or has aGPS检测 iPhone/iPod Touch/iPad 是否有 GPS 芯片或有 GPS
【发布时间】:2011-08-22 03:45:09
【问题描述】:

我正在尝试具体确定应用程序所在的设备是否具有 GPS 芯片或使用 aGPS 或什么都没有。如果是 iPhone 或蜂窝 iPad,我希望它运行特定代码。

我希望找到诸如检测相机是否可用之类的东西......

if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])

提前致谢。

【问题讨论】:

  • 没有 iPhone 内置常规 GPS 芯片。它们都是aGPS(除了没有GPS芯片的iPhone 2g)。

标签: iphone ios4 ipad core-location uidevice


【解决方案1】:

我认为 aGPS 并不像您认为的那样。

普通 GPS 通过天线接收来自卫星的信号。锁定信号需要时间,因为它必须至少收到三颗卫星的声音才能确定位置。因此,锁定有时可能需要几分钟。

aGPS 与常规 GPS 一样,使用天线接收来自卫星的信号。然而,它有一个额外的功能可以加快寻找它们的速度:它通过互联网发送数据,告诉它卫星可能在哪里。假设用户距离他们上次获得 GPS 的位置没有移动太远,那么此信息意味着设备大致了解在哪里寻找输入信号,因此它可以更快地找到卫星。找到卫星后,它的功能与普通 GPS 相同。

回答您的问题,没有 iOS 设备有 GPS 但没有 aGPS。最初的 iPhone 两者都没有,而 3G 两者都有。

我认为您实际上在谈论的是蜂窝塔三角测量:这是另一种计算位置的方法,它比任何类型的 GPS 都不准确,并且无法接收来自卫星的信号。

您可以向 Core Location 询问单个位置的准确度:查看 CLLocation 上的 horizontalAccuracy 属性。如果是kCLLocationAccuracyHundredMeters 或更高版本,则设备可能未使用 GPS 或 aGPS。但是,这并不意味着设备不具备此功能:它可能还没有实现锁定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-12
    • 2010-10-14
    • 2011-02-11
    • 1970-01-01
    相关资源
    最近更新 更多