区域监听

  • 区域顾名思义是一个指定的区域,对其进行监听。先普及一下一点知识
区域监听
文章图片
经纬度的基本知识 前提:加载一张指南针图片,其他的#import 框架都需要导入,以及定位管理对象,挂代理,遵守协议,利用对象来调用 startMonitoringForRegion:(nonnull CLRegion *),然后在对其设置
【区域监听】-下面是具体的代码
#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

    推荐阅读