//配置位置管理器
-(void)managerLocation{
if (!self.locationManager) {
self.locationManager = [[CLLocationManager alloc] init];
}
//兼容8.0以前的版本
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {
//授权状态没有询问用户
if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined) {
[self.locationManager requestAlwaysAuthorization];
}
}
//GPS硬件打开
if (![CLLocationManager locationServicesEnabled]) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:@"PGS 未打开!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil , nil];
[alert show];
}
self.locationManager.delegate = self;
//设置精确度
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
//设置距离的过滤
self.locationManager.distanceFilter = 15.f;
-(void)managerLocation{
if (!self.locationManager) {
self.locationManager = [[CLLocationManager alloc] init];
}
//兼容8.0以前的版本
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {
//授权状态没有询问用户
if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined) {
[self.locationManager requestAlwaysAuthorization];
}
}
//GPS硬件打开
if (![CLLocationManager locationServicesEnabled]) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:@"PGS 未打开!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil , nil];
[alert show];
}
self.locationManager.delegate = self;
//设置精确度
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
//设置距离的过滤
self.locationManager.distanceFilter = 15.f;
}
## 开始监测
- (IBAction)begin:(id)sender {
//构造监听区域
CLRegion *region = [[CLCircularRegion alloc] initWithCenter:CLLocationCoordinate2DMake(34.77, 113.76887056) radius:1000.f identifier:@"first"];
[self.locationManager startMonitoringForRegion:region];
//开始位置监听
[self.locationManager startUpdatingLocation];
//添加一个圆形的覆盖层
MKCircle *circle = [MKCircle circleWithCenterCoordinate:CLLocationCoordinate2DMake(34.77, 113.76887056) radius:1000.f];
[self.mapView addOverlay:circle];
}