如何判断CLLocationManager何时锁定用户位置

时间:2014-03-10 05:11:15

标签: ios objective-c cllocationmanager

如果CLLocationManager在我的应用程序中半工作。我启动了locationManager,设置了委托和准确性。但是一旦位置经理开始我的地图就会在一些海洋中显示我?

有没有办法知道CLLocationManager何时有锁?

我有以下方法设置,但除非我走了几步,否则不会调用它。

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations

我已经确认它全部在主线程上运行。

2 个答案:

答案 0 :(得分:2)

查看horizontalAccuracy中收到的CLLocation个对象的didUpdateLocations属性。在设备上,当您首次启动定位服务时,您经常会注意到一系列位置的horizontalAccuracy值越来越低(即位置值越来越准确)。这不是一个问题,它是什么时候锁定在&#34;,而是什么时候你会收到一个horizontalAccuracy的位置,这个位置对于你的应用来说足够小。< / p>

就移动前未被调用的方法而言,这通常是您使用的desiredAccuracydistanceFilter值的函数。

答案 1 :(得分:1)

CLLocationManager中没有 lock

这取决于您为位置管理员设置的属性

检查您的位置管理员的这些属性

distanceFilter :设备在生成更新事件之前必须水平移动的最小距离(以米为单位)。

desiredAccuracy :位置数据的准确性。

您可以使用类方法 locationServicesEnabled 检查位置服务,以检查设备上是否启用了位置服务。