定位 - CoreLocation - 指南针
#import "ViewController.h"
#import <CoreLocation/CoreLocation.h>
@interface ViewController ()<CLLocationManagerDelegate>
// 定位管理对象
@property (nonatomic, strong) CLLocationManager *mgr;
// 指南针
@property (nonatomic, strong) UIImageView *compass;
@end
@implementation ViewController
- (CLLocationManager *)mgr{
if (!_mgr) {
_mgr = [[CLLocationManager alloc] init];
}
return _mgr;
}
- (void)viewDidLoad {
[super viewDidLoad];
// 1. 添加指南针
UIImageView *iv = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg_compasspointer"]];
iv.center = CGPointMake(self.view.center.x, self.view.center.y);
[self.view addSubview:iv];
self.compass = iv;
// 2. 成为代理
self.mgr.delegate = self;
// 3. 开始监听
// 开始获取用户方向 --- 不需要授权
// [self.mgr startUpdatingHeading];
}
// 授权状态改变调用这个方法
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{
if (status == kCLAuthorizationStatusNotDetermined) {
LogYellow(@"正在授权");
}else if ((status == kCLAuthorizationStatusAuthorizedAlways) || (status == kCLAuthorizationStatusAuthorizedWhenInUse)){
[self.mgr startUpdatingHeading];
}else{
LogYellow(@"授权失败");
}
}
#pragma mark - CLLocationManagerDelegate
// 当获取到用的的方向时, 就会调用
- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
{
/**
magneticHeading 设备与磁北的相对角度
trueHeading 设置与真北的相对角度, 必须和定位一起使用, iOS需要设置的位置来计算真北
真北始终指向地理北极点
磁北对应随着时间变化的地球磁场北极
*/
LogRed(@"%f",newHeading.magneticHeading);
// 1.角度转换成弧度
CGFloat angle = newHeading.magneticHeading * M_PI/ 180.0;
// 2.旋转图片
/**
* 顺时针: 正数
* 逆时针: 负数
*/
// self.compass.transform = CGAffineTransformIdentity;
self.compass.transform = CGAffineTransformMakeRotation(-angle);
}
定位 - CoreLocation - 指南针的更多相关文章
- 定位CoreLocation
一.定位 iOS三种定位方式: CoreLocation 按定位的准确性: GPS(Global Positioning System全球定位系统); 蜂窝式基站; wifi; 定位顺序:1. 首选G ...
- AJ学IOS 之CoreLocation指南针小应用
AJ分享,必须精品 一:效果图示 简单的用到CoreLocation获取方位做的指南针小应用 二:制作思路 具体用到了CoreLocation相关的知识,请看上一篇博客有写 然后获取方向不需要进行授权 ...
- iOS开发——高级篇——地理定位 CoreLocation
一.CoreLocation 在移动互联网时代,移动app能解决用户的很多生活琐事,比如周边:找餐馆.找KTV.找电影院等等导航:根据用户设定的起点和终点,进行路线规划,并指引用户如何到达 在上述应用 ...
- 定位 - CoreLocation - 区域报警
#import "ViewController.h" #import <CoreLocation/CoreLocation.h> @interface ViewCont ...
- 定位 - CoreLocation - 打印位置信息
1. 导入框架 <CoreLocation.framework>, 引入头文件 import <CoreLocation/CoreLocation.h>; 2. 创建管理者对象 ...
- 地图定位CoreLocation框架,地理位置编码与反编码
在现代互联网时代,越来越多的应用,都用到了地图定位功能,在iOS开发中,想要加入这种功能,必须基于两个框架进行开发: 1.Map Kit:用于显示地图, 2.CoreLocation:用于显示地理位置 ...
- iOS学习笔记19-地图(一)定位CoreLocation
一.定位介绍 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.要实现 ...
- iOS定位--CoreLocation框架
CoreLocation框架的使用 // 首先导入头文件 #import <CoreLocation/CoreLocation.h> CoreLocation框架中所有数据类型的前缀都是C ...
- iOS定位--CoreLocation
一:导入框架 #import <CoreLocation/CoreLocation.h> 二:设置代理及属性 <CLLocationManagerDelegate> @prop ...
随机推荐
- .PIG File
.PIG File File extension: PIG File type: Texture File The PIG file type is primarily associated with ...
- Improving Lock Performance in Java--reference
After we introduced locked thread detection to Plumbr couple of months ago, we have started to recei ...
- Java strictfp关键字
保证浮点运算的结果不受平台的影响,在任何平台上,使用统一的标准进行浮点运算,提高程序的可移植性(毕竟结果更可控,更精确),相应的,以降低性能为代价 Strictfp ensures that you ...
- hdu 1563 Find your present!
Find your present! Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- JS插件-日期
原文出处 源码下载 原文出处 源码下载
- ACM——大数相加
大数加法 时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte 总提交:2085 测试通过:543 描述 求两个非负整数( ...
- 一、Maven环境搭建(windows 环境)
所需工具 : JDK 1.7 java 环境 Maven 3.3.9 下载最新版本 Windows 7 注 Maven 3.2 要求 JDK 1.6 或以上版本, 而 Maven 3.0/3. ...
- weblogic9.2重置密码
1.删除DefaultAuthenticatorInit.ldift 2.执行命令:java -cp /home/weblogic/bea/weblogic92/server/lib/weblogic ...
- C++函数指针和指针函数
本文参考http://www.prglab.com/cms/pages/c-tutorial/advanced-data/pointers.php http://blog.csdn.net/ameyu ...
- 2016.08.06计算几何总结测试day1
T1 bzoj1132[POI2008]TRO 还是太弱了....测试时看到这题直接懵逼,极角排序什么的根本想不起来,只会n^3暴力怎么破......不过竟然有84.....QAQ 正解是n^2log ...