CLLocationManager startMonitoringForRegion 会使用期望的准确度吗?
Posted
技术标签:
【中文标题】CLLocationManager startMonitoringForRegion 会使用期望的准确度吗?【英文标题】:Will the CLLocationManager startMonitoringForRegion use the desiredAccuracy? 【发布时间】:2014-07-03 06:13:11 【问题描述】:我正在像这样初始化我的 CLLocationManager 实例:
CLLocationManager *locationManager = [[CLLocationManager alloc]init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
....
[locationManager startMonitoringForRegion:region];
我了解到区域监控基于 WLAN 和蜂窝塔。此外,我读过使用低期望精度(低于 1000)将触发 GPS。但是在文档中说明了以下内容:
此属性仅与标准位置服务结合使用,在监视重大位置变化时不使用。
如果我使用 kCLLocationAccuracyBestForNavigation,startMonitoringForRegion 会使用 GPS 吗?
【问题讨论】:
【参考方案1】:当您监控该区域时,所需的准确度没有意义。这是因为它不是基于准确位置的结果。它们为您提供用户的暂定位置。当您使用标准服务并调用函数[locationManager startUpdatingLocation];
时,准确性适用。在区域监控和重大位置变化的情况下,精度会被忽略。
【讨论】:
如果我有两个 locationManager 实例,一个使用 startUpDatingLocation,另一个使用区域监控。在一个实例上设置 desiredAccuracy 会影响另一个实例吗? ios 中没有像 android 这样的被动定位服务。所以,它不会影响其他人。以上是关于CLLocationManager startMonitoringForRegion 会使用期望的准确度吗?的主要内容,如果未能解决你的问题,请参考以下文章
为啥'CLLocationManager.locationServicesEnabled()'默认为真?
Xcode 6 GM - CLLocationManager
CLLocationManager 和 CLGeoCoder
CLLocationManager:没有调用 didChangeAuthorization 和 didRangeBeacons