Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ios中,是否可以知道GPS位置是否没有更新?_Ios_Gps_Cllocationmanager - Fatal编程技术网

在ios中,是否可以知道GPS位置是否没有更新?

在ios中,是否可以知道GPS位置是否没有更新?,ios,gps,cllocationmanager,Ios,Gps,Cllocationmanager,我正在创建一个应用程序,允许用户在离线时使用地图导航,没有互联网连接或wifi可用,我想让用户知道gps位置是否没有更新。我知道我可以得到最后更新的位置时间戳和准确度,但是否可以知道gps是否没有接收 是否有可能知道GPS位置是否未更新 不,考虑到可用的API,这似乎是不可能的 如果你还没有的话,有一些关于GPS的考虑。从技术上讲,您可以在脱机时从CLLocationManager接收位置更新,但这取决于以下几点: 如果您的设备实际具有GPS硬件。 如果你有GPS卫星的视线。和之间有区别 由于G

我正在创建一个应用程序,允许用户在离线时使用地图导航,没有互联网连接或wifi可用,我想让用户知道gps位置是否没有更新。我知道我可以得到最后更新的位置时间戳和准确度,但是否可以知道gps是否没有接收

是否有可能知道GPS位置是否未更新

不,考虑到可用的API,这似乎是不可能的

如果你还没有的话,有一些关于GPS的考虑。从技术上讲,您可以在脱机时从CLLocationManager接收位置更新,但这取决于以下几点:

如果您的设备实际具有GPS硬件。 如果你有GPS卫星的视线。和之间有区别 由于GPS的工作方式,这些真正的GPS更新将会少很多,但它应该会工作

。。。但是有可能知道gps是否没有接收信号吗


根据GPS的最佳工作方式,据我所知,您可以使用定位服务API打开/关闭收音机-startUpdatingLocation/-StopUpdateLocation,或者使用A-GPS更频繁地获取位置,或者在没有网络信号时不经常使用纯GPS获取位置。我不认为Location Services API可以告诉您我根本没有GPS信号。

不,没有公共接口来了解特定位置硬件(如GPS接收器)的状态


位置管理器将所有这些都抽象出来,这样开发者就可以获得位置和准确度信息,而不用担心设备是否使用GPS、Wifi、iBeacons、基站位置、罗兰C、天文导航等来确定位置。这通常是一件非常好的事情,因为这意味着你的应用程序在所有设备上都能工作,不管它们是否有GPS,并且将继续工作,甚至可能在可能使用其他技术的新设备上工作得更好。但这也意味着你不必问这样一个问题:设备现在是否正在接收GPS信号?

你说的离线是什么意思?我猜你的意思是没有网络连接,对。编辑了问题。CLLocation对象具有水平精度和垂直精度属性,可用于确定信号强度。一般来说,较高的精度值意味着GPS信号较弱。这是一个很好的观点,但它不会告诉你是否没有信号。可达性的哪一部分告诉你GPS状态?我只知道可达性中的网络状态。@Aaron这是真的。每个位置也有一个时间戳。如果GPS信号真的很弱,您可能根本不会收到位置更新。它也可能会调用-locationManager:didFailWithError:。我不是说Reachability告诉您有关位置硬件的信息,我的第一句话是误导性的。