我在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米)?
答案 0 :(得分:2)
除非启用significantLocationChanges,否则无法将iOS Region Monitoring设置为较低的值。它只在美国大城市工作,因为区域监测是基于蜂窝网络的。