#import "ViewController.h"

#import <CoreLocation/CoreLocation.h>

@interface ViewController ()<CLLocationManagerDelegate>

/**  定位管理者对象 ***/

@property (nonatomic, strong) CLLocationManager *mgr;

@property (nonatomic, strong) CLCircularRegion *region;

@end

@implementation ViewController

- (CLLocationManager *)mgr{

if (!_mgr) {

_mgr = [[CLLocationManager alloc] init];

}

return _mgr;

}

- (void)viewDidLoad {

[super viewDidLoad];

//1. 设置代理

self.mgr.delegate = self;

// 3. 开始监听用户所在区域

// CLRegion 有两个子类, 用来指定区域

// 指定蓝牙范围: CLBeaconRegion

// 指定圆形范围: CLCircularRegion

// 创建中心点

CLLocationCoordinate2D center = CLLocationCoordinate2DMake(39.915094,116.487775);

// 创建圆形区域, 指定中心点 经纬度以及半径

self.region = [[CLCircularRegion alloc] initWithCenter:center radius:1000 identifier:@"大望路"];

// [注意] 如果是ios8 必须主动请求用户 授权

if(IOS8){

[self.mgr requestAlwaysAuthorization];

}else{

[self.mgr startMonitoringForRegion:self.region];

}

}

- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status

{

if (status == kCLAuthorizationStatusNotDetermined) {

LogGreen(@"正在授权");

}else if ((status == kCLAuthorizationStatusAuthorizedAlways) || (status == kCLAuthorizationStatusAuthorizedWhenInUse)){

[self.mgr startMonitoringForRegion:self.region];

}else{

LogGreen(@"授权失败");

}

}

#pragma mark - CLLocationManagerDelegate

/**

*  进入某个监听区域 开始调用

*/

- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region

{

LogRed(@"  进入某个监听区域 开始调用");

}

/**

*  离开监听区域开始调用

*/

- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region

{

LogRed(@"   超出某个监听区域 开始调用");

}

定位 - CoreLocation - 区域报警的更多相关文章

  1. 定位CoreLocation

    一.定位 iOS三种定位方式: CoreLocation 按定位的准确性: GPS(Global Positioning System全球定位系统); 蜂窝式基站; wifi; 定位顺序:1. 首选G ...

  2. iOS开发——高级篇——地理定位 CoreLocation

    一.CoreLocation 在移动互联网时代,移动app能解决用户的很多生活琐事,比如周边:找餐馆.找KTV.找电影院等等导航:根据用户设定的起点和终点,进行路线规划,并指引用户如何到达 在上述应用 ...

  3. 地图定位CoreLocation框架,地理位置编码与反编码

    在现代互联网时代,越来越多的应用,都用到了地图定位功能,在iOS开发中,想要加入这种功能,必须基于两个框架进行开发: 1.Map Kit:用于显示地图, 2.CoreLocation:用于显示地理位置 ...

  4. iOS学习笔记19-地图(一)定位CoreLocation

    一.定位介绍 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.要实现 ...

  5. iOS定位--CoreLocation框架

    CoreLocation框架的使用 // 首先导入头文件 #import <CoreLocation/CoreLocation.h> CoreLocation框架中所有数据类型的前缀都是C ...

  6. 定位 - CoreLocation - 指南针

    #import "ViewController.h" #import <CoreLocation/CoreLocation.h> @interface ViewCont ...

  7. 定位 - CoreLocation - 打印位置信息

    1. 导入框架 <CoreLocation.framework>, 引入头文件 import <CoreLocation/CoreLocation.h>; 2. 创建管理者对象 ...

  8. iOS定位--CoreLocation

    一:导入框架 #import <CoreLocation/CoreLocation.h> 二:设置代理及属性 <CLLocationManagerDelegate> @prop ...

  9. 定位 - CoreLocation - INTULocationManager

    https://github.com/intuit/LocationManager #import "ViewController.h" #import "INTULoc ...

随机推荐

  1. RHCA学习笔记:RH442-Unit8进程与调度

      UNIT 8  Processes and the Scheduler 进程与调度 学习目标 A. CPU cache 与Service time之间的关系 B. 分析应用程序使用CPU cach ...

  2. 多态VI的创建

    比较适合使用多态VI的场合:一个算法会应用到几种不同的数据类型上.比如读写 INI 文件的 VI,它 们既可以读写数值型的数据,也可以读写字符串.布尔等数据类型. 实现多态 VI 之前,一般先实现它的 ...

  3. w3c 学习html DOM

    什么是DOM? DOM是W3C标准,定义了访问HTML 和 XML文档的标准 W3C 文档对象模型(DOM)是中立于平台和语言接口,它允许程序动态的访问和更新文档的内容.结构和样式. W3C DOM ...

  4. 读《编写高质量代码:改善JavaScript程序的188个建议》2

  5. (转)Ilist 和list的区别归纳总结

    常见问题: Ilist <> 本身只是一个泛型接口, 既然是接口当然不能实例化,只能用如下方法 IList <Class1> IList11 =new List <Cla ...

  6. 创建自定义 HTTP 模块

    本主题中描述的自定义 HTTP 模块阐释了 HTTP 模块的基本功能.在响应下面两个事件时调用该模块:BeginRequest 事件和 EndRequest 事件.这使该模块可以在处理页请求之前和之后 ...

  7. 20151215jqueryUI--dialog代码备份

    $(function () { $('#search_button').button(); /*$('#reg_a').click(function() { $('#reg').dialog(); } ...

  8. c语言学习之基础知识点介绍(十九):内存操作函数

    一.malloc函数 /* 首先需要导入头文件 #include <stdlib.h> malloc void* malloc(n); n是字节大小 开辟堆空间,开辟的字节数以n为准 返回 ...

  9. Maximum Product Subarray动态规划思想

    该题即是昨天没有做出来的题目,想了很久,想出了一个普通的做法,提交发现超时了.思想是新建一个数组,保存每个元素与后面的元素相乘后得到的最大值,然后再在该数组中选出最大的值,返回.[笨死 发现行不通后决 ...

  10. oracle job interval·相关事例

    描述 Interval参数值 每天运行一次 'SYSDATE + 1' 每小时运行一次 'SYSDATE + 1/24' 每10分钟运行一次 'SYSDATE + 10/(60*24)' 每30秒运行 ...