リージョンモニタリングを設定しようとしています。かなり簡単に見えます。しかし、監視しているリージョンの数を確認すると、カウントは常に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 xxxxxx [8112:307]リージョンカウント0
どうしたの????