监听用户进入,离开某个区域,需要请求获取用户的位置,如果想在后台也能监听,需要配置ios9后台监听

本文介绍了一个iOS应用如何使用CLLocationManager来实现地理位置区域监控的功能。通过设置中心点坐标并定义监听半径,应用能够准确地监测到用户是否进入了预设的圆形区域内,并在用户进出该区域时触发相应的事件。
//
//  ViewController.m
//  MonitorRegion
//
//  Created by hq on 16/5/17.
//  Copyright  2016年 hanqing. All rights reserved.
//

#import "ViewController.h"
#import <CoreLocation/CoreLocation.h>

@interface ViewController () <CLLocationManagerDelegate>

@property(nonatomic,strong) CLLocationManager *clm;

@end

@implementation ViewController

-(CLLocationManager *)clm{
    
    if (_clm==nil) {
        _clm=[[CLLocationManager alloc]init];
        _clm.delegate=self;
        
        if ([[UIDevice currentDevice].systemVersion floatValue]>=8.0) {
            
            [_clm requestAlwaysAuthorization];
        }
    }
    return _clm;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //设置中心点,传经纬度过去
    CLLocationCoordinate2D center=CLLocationCoordinate2DMake(37.785834, -122.406417);
    
    //设置监听的区域
    CLCircularRegion *region=[[CLCircularRegion alloc] initWithCenter:center radius:1000 identifier:@"hq"];
    
    //开始监听
    [self.clm startMonitoringForRegion:region];
}

-(void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region{
    
    NSLog(@"%@进入该区域",region.identifier);
}

-(void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region{
    
    NSLog(@"%@离开该区域",region.identifier);
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    
}

@end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值