首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测全球定位系统是可用的iPad (内部蜂窝还是外部蓝牙)

检测全球定位系统是可用的iPad (内部蜂窝还是外部蓝牙)
EN

Stack Overflow用户
提问于 2014-02-19 11:55:44
回答 2查看 1.4K关注 0票数 1

是否有可能以任何程度确定iPAD是否真的有全球定位系统信号。我能想到三个案子

  • Wifi专用IPAD
  • 带外部GPS的Wifi专用IPAD (如DualXGPS)
  • 内置GPS的手机IPAD

苹果文档提到:

一些定位服务要求在给定设备上存在特定的硬件。例如,只有包含硬件罗盘的设备才能获得航向信息。这个类定义了几个方法,您可以使用这些方法来确定哪些服务是可用的。

是否有专门用于GPS的特定呼叫,如航向或跟踪?我假设可能只有GPS设备有一个标题呼叫,因为文档中说:

在iOS中,具有适当硬件的设备也可以报告标题信息。如果headingAvailable属性中的值是“是”,则可以使用“位置管理器”对象检索标题信息。

以前的一些帖子建议尝试锁定一个非常精确的GPS更新。

但我希望有一些更具体的方法,这些方法“感觉”模糊--因为一个不准确的全球定位系统信号可能看起来就像没有GPS,而这个设备实际上有能力。另外,我认为一个能够“模仿全球定位系统”的无线网络设备也可能通过这些条件中的一种。

谢谢你的帮助!

EN

回答 2

Stack Overflow用户

发布于 2014-02-19 15:19:39

最简单的答案是,你应该尝试使用GPS在你需要的精度,看看你是否得到它。并处理这样一个事实,即您可能无法获得这种准确性,因为用户在一栋建筑,或城市峡谷,或没有GPS硬件,或关闭了定位服务(尽管这是可以检测到的)。

如果你获得超过100米的精度,或者如果CLLocation有高度,你几乎肯定有全球定位系统硬件(但你必须等待相当一段时间才能获得至少4颗卫星的信号锁定以获得高度)。如果您有蜂窝无线电连接(请参阅Reachability),那么您就有GPS硬件(iPhone1除外)。如果你有数字罗盘能力,那么你就有全球定位系统硬件( iPhone 3G除外)。

所有有蜂窝无线电的iPhone和iPad都有内部GPS硬件( iPhone 1除外,参见wiki图)。如果你研究一下这个图表,似乎所有拥有全球定位系统硬件的设备(到目前为止)都有数字罗盘(磁强计),iPhone 3G除外。

使用course (如建议的这里)从CLLocation,只有当设备移动足够快,并且全球定位系统有卫星锁定。一个更好的选择是从指南针(磁强计)检测是否有heading

您可以通过硬编码硬件具有什么功能的表(描述为这里)来使用硬件字符串来确定设备功能。当引入新设备时,这必须保持更新(这意味着应用程序更新)。埃丽卡·萨顿( Erica )为UIDevice提供了一些名为CapabilitiesHardware 论github的分类,它们试图做到这一点,但可能无法在应用程序商店中使用。

所有这些都无助于外部插件GPS或外部蓝牙GPS设备。

票数 2
EN

Stack Overflow用户

发布于 2014-02-20 14:30:03

代码语言:javascript
复制
if (location.getHoricontalAccuracy()< 40) {
  // for sure GPS
} else {
 // no GPS or unusable bad GPS
}

您也可以使用速度和航向,如果它们是有效的,那么它们来自GPS,因为它是唯一能够测量速度和航向的传感器。(磁强计显示没有GPS的当前航向)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21879756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档