我在试着建立区域监控系统。看起来很简单;但是当我检查我所监视的区域的数量时,计数总是为0。
代码:
if ([CLLocationManager regionMonitoringAvailable] &&
[CLLocationManager regionMonitoringEnabled] ) {
CLLocationCoordinate2D coordinate;
double radius;
for(Item *item in ad.proxiArray) {
radius = [item.distance floatValue];
coordinate= CLLocationCoordinate2DMake([item.latitude doubleValue],
[item.longitude doubleValue]);
CLRegion *region = [[CLRegion alloc] initCircularRegionWithCenter:coordinate radius:radius identifier:item.place];
NSLog(@"Adding: %@", region);
[self.locationManager startMonitoringForRegion:region desiredAccuracy:kCLLocationAccuracyNearestTenMeters];
[region release];
}
NSLog(@"region count %i",[[self.locationManager monitoredRegions] count]);
for (CLRegion *re in [self.locationManager monitoredRegions]) {
NSLog(@"Monitoring: %@", re);
}
} else {
NSLog(@"Region monitoring unavailable");
}运行时,NSLog将显示我实际上正在添加所有项(大约10项)。但在循环结束时,如上文所述:
2010-12-21 12:14:38.172 xxxxx8112:307
怎么了?
发布于 2011-01-02 08:55:59
我的印象是
由于这些问题和区域监测不太准确的事实,我放弃了使用该功能的想法。
https://stackoverflow.com/questions/4498760
复制相似问题