【发布时间】:2013-05-15 12:53:09
【问题描述】:
我有要求,我必须为CLLocation 设置 半径。我在viewDidLoad 方法中将代码编写为:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
locationManager = [[CLLocationManager alloc] init];
[locationManager setDelegate:self];
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
[locationManager setDistanceFilter:kCLLocationAccuracyBest];
[locationManager startUpdatingLocation];
CLLocationDegrees latitude = 37.33036720;
CLLocationDegrees longitude = -122.02923067;
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(latitude, longitude);
CLLocationDistance radius = 100.0;
CLRegion *region = [[CLRegion alloc]initCircularRegionWithCenter:center radius:radius identifier:@"Apple"];
[locationManager startMonitoringForRegion:region];
}
委托方法如下:
-(void)locationManager:(CLLocationManager *)manager didStartMonitoringForRegion:(CLRegion *)region{
NSLog(@"didStartMonitoringForRegion %@", region);
}
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region {
NSLog(@"didEnterRegion %@", region);
}
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region {
NSLog(@"didExitRegion %@", region);
}
我从位置日志中获取了一些静态位置。但是方法不会被调用。
【问题讨论】:
-
试试
retain你的locationManager。