- 区域顾名思义是一个指定的区域,对其进行监听。先普及一下一点知识
文章图片
经纬度的基本知识 前提:加载一张指南针图片,其他的#import
【区域监听】-下面是具体的代码
#import "ViewController.h"
#import @interface ViewController ()
@property(nonatomic,strong)CLLocationManager *locationManager;
@end@implementation ViewController//1.创建管理者对象懒加载-(CLLocationManager *)locationManager
{
if (!_locationManager) {_locationManager = [[CLLocationManager alloc]init];
}return _locationManager;
}- (void)viewDidLoad {
[super viewDidLoad];
//2.挂代理,遵守协议self.locationManager.delegate = self;
//注意:如果是ios8,想进入区域检测,必须自己主动请求获取用户隐私的权限
if ([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0) {//4.主动要求用户对我们的程序授权,授权状态改变就会通知代理status
[self.locationManager requestAlwaysAuthorization];
}else
{
NSLog(@"不是ios8");
}//3.开始检测用户所在的区域(后面给一个区域)
//3.1.创建区域//CLRegion有两个子类是专门用来指定区域的,一个可以指定蓝牙的范围,一个可以用来指定圆形的范围
//创建我们的中心点
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(40.058501, 116.304171);
CLCircularRegion *circular = [[CLCircularRegion alloc]initWithCenter:center radius:500 identifier:@"软件园"];
[self.locationManager startMonitoringForRegion:circular];
} #pragma mark -CLLocationMangerDelegate代理方法的调用//进入一个区域
-(void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
{NSLog(@"进入监听区域");
}
//离开区域时调用
-(void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region
{NSLog(@"离开监听区域");
}@end