#import "ViewController.h"
#import <CoreLocation/CoreLocation.h>
@interface ViewController ()<CLLocationManagerDelegate>
@property (nonatomic, strong) CLLocationManager *manager;
@property (nonatomic, strong) UIImageView *imageView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg_imageView"]];
self.imageView.center = self.view.center;
[self.view addSubview:self.imageView];
// 指南针需要在设备上才可以测试 在模拟器无法测试
self.manager.delegate = self;
// 获取方向不需要授权
[self.manager startUpdatingHeading];
// 区域检测需要位置所以对于iOS8需要请求权限
[self.manager requestAlwaysAuthorization];
// 121.551331,38.889706
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(38.889706, 121.551331);
CLCircularRegion *region = [[CLCircularRegion alloc] initWithCenter:center radius:500 identifier:@"数码广场"];
[self.manager startMonitoringForRegion:region];
}
/**
* 进入区域
*
* @param manager 触发事件的对象
* @param region 进入哪个区域
*/
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region {
NSLog(@"进入 %@", region.identifier);
}
/**
* 退出区域
*
* @param manager 触发事件的对象
* @param region 退出哪个区域
*/
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region {
NSLog(@"退出 %@", region.identifier);
}
/**
* 获取用户的方向
*
* @param manager 触发事件的对象
* @param newHeading 获取到的方向信息
*/
- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading {
// 获取到的为与磁北或者真北的夹角
// 获取到的磁北的角度 magneticHeading
// 获取到的真北的角度 trueHeading
NSLog(@"%.f", newHeading.magneticHeading);
[manager stopUpdatingHeading];
}
- (CLLocationManager *)manager {
if (_manager == nil) {
_manager = [[CLLocationManager alloc] init];
}
return _manager;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
iOS开发-地图02-指南针
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 前言学习地图,我们必须要接触两个框架:Core Location,主要包含定位、地理编码、反编码功能,如需了解请移...
- ViewController.m(声明文件中我没有写代码) //// MyAnnotation.m// Add...
- 公司有一个iOS应用需要集成百度地图,替换iOS自带的MapKit,于是去百度地图的API官网按照文档一步步操作。...