startMonitoringForRegion的最小精度(以米为单位)

时间:2012-07-17 10:08:58

标签: iphone ios core-location cllocationmanager

我在iOS 5中遇到了startMonitoringForRegion方法的问题。文档说该方法采用参数“准确度”:

- (void)startMonitoringForRegion:(CLRegion *)region desiredAccuracy:(CLLocationAccuracy)accuracy

我目前正在开发一款应用程序,该应用程序应该在距离受监控点25米半径时通知用户。应用程序使用GPS与kCLLocationAccuracyBestForNavigation设置。我正在创建(CLRegion *)区域:

CLRegion *pointRegion = [[CLRegion alloc] initCircularRegionWithCenter:pointLocation radius:25.0 identifier:identifier];

并在startMonitoringForRegion中为kCLLocationAccuracyBestForNavigation设置精度参数。

区域监控在我的应用程序中运行良好,但是当用户离被监控区域大约100米而不是25米时,didEnterRegion方法会触发。

在startMonitoringForRegion中是否存在radius的最小值,Apple的文档中没有描述或者我做错了什么?是否可以将区域监测设置为相对较小的值(如5-25米)?

1 个答案:

答案 0 :(得分:2)

除非启用significantLocationChanges,否则无法将iOS Region Monitoring设置为较低的值。它只在美国大城市工作,因为区域监测是基于蜂窝网络的。