ios 指南针

指南针图片  IBOutlet UIImageView *compassView
 1 #import "ViewController.h"
 2 #import <CoreLocation/CoreLocation.h>
 3
 4 #define isIOS(version) ([[UIDevice currentDevice].systemVersion floatValue] >= version)
 5 /**
 6  先决条件:真机测试,模拟器上没有磁力计 传感器
 7
 8  **/
 9 @interface ViewController ()<CLLocationManagerDelegate>
10
11 /** 位置管理者*/
12 @property (nonatomic, strong) CLLocationManager *locM;
13 /**指南针图片**/
14 @property (weak, nonatomic) IBOutlet UIImageView *compassView;
15
16 @end
17
18 @implementation ViewController
19
20 #pragma mark - 懒加载
21 /** locM属性的懒加载 */
22 -(CLLocationManager *)locM
23 {
24     if (!_locM) {
25             // 1. 创建位置管理者
26         _locM = [[CLLocationManager alloc] init];
27         // 1.1 block , 代理, 通知
28         _locM.delegate = self;
29
30     }
31     return _locM;
32 }
33
34
35 -(void)viewDidLoad
36 {
37
38     // 获取设备方向
39     // ("磁力计", 判断设备是否支持传感器)
40
41     if([CLLocationManager headingAvailable])
42     {
43         [self.locM startUpdatingHeading];
44     }else
45     {
46         NSLog(@"dang前不支持");
47     }
48
49
50
51 }
52
53
54
55 #pragma mark - CLLocationManagerDelegate
56
57 /**
58  *  方向发生改变时调用
59  *
60  *  @param manager    位置管理者
61  *  @param newHeading 方向信息
62  */
63 -(void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
64 {
65     NSLog(@"%@", newHeading);
66
67     /**
68      *  CLHeading
69         magneticHeading : 磁北角度
70      trueHeading : 真北角度
71      */
72
73     if(newHeading.headingAccuracy < 0)
74     {
75         return;
76     }
77
78     // 获取磁北方向(角度)
79     CGFloat angle = newHeading.magneticHeading;
80
81     // 角度--> 弧度
82     CGFloat hudu = angle / 180.0 * M_PI;
83
84
85     [UIView animateWithDuration:1 animations:^{
86         // 反向旋转图片(弧度)
87         self.compassView.transform = CGAffineTransformMakeRotation(-hudu);
88     }];
89
90
91
92
93 }
94
95
96
97 @end
时间: 2024-11-10 15:51:30

ios 指南针的相关文章

ios指南针的实现(CoreLocation)

1.创建CLLocationManager对象,并且成为它的代理 - (CLLocationManager *)mgr { if (!_mgr) { _mgr = [[CLLocationManager alloc] init]; } return _mgr; } self.mgr.delegate = self; 2.开始获取用户位置 [self.mgr startUpdatingHeading]; 3.在代理方法里面实现功能 // 当获取到用户方向时就会调用 - (void)location

iOS 开发者旅途中的指南针 - LLDB 调试技术

文章转载于:iOS 开发者旅途中的指南针 - LLDB 调试技术 今天给大家介绍的内容,无关乎任何功能性开发技术,但又对开发的效率影响至深,这就是调试技术. 何为调试呢,比如我们用 print 函数在指定位置进行输出,来定位某些节点的变量内的取值: 12345 let result = parseJSON("[1,2,3]");print(result); result = parseJSON("error");print(result);4 相信我们大家看到类似这

iOS面试必备-iOS基础知识

近期为准备找工作面试,在网络上搜集了这些题,以备面试之用. 插一条广告:本人求职,2016级应届毕业生,有开发经验.可独立开发,低薪求职.QQ:895193543 1.简述OC中内存管理机制. 答:内存管理机制:使用引用计数管理,分为ARC和MRC,MRC需要程序员自己管理内存,ARC则不需要.但是并不是 所有对象在ARC环境下均不需要管理内存,子线程和循环引用并不是这样.与retain配对使用的是release,retain代表引用计 数+1,release代表引用计数-1,当引用计数减为0时

iOS开发入门教程_iOS开发视频教程

iOS开发入门教程 (Object-C.网络编程.多线程.蓝牙.二维码.Cocos2D.OpenGL)适合人群:初级课时数量:34课时用到技术:IOS,Object-C,OpenGL,XCode,Cocos 2D涉及项目:Cocos+2D.Game Kit蓝牙数据处理等咨询QQ:1840215592 iOS开发入门教程详细查看:http://www.ibeifeng.com/goods-471.html1.1.课程目标iOS开发入门教程内容的目标是初学者入门,让入门者提高,让所有人符合企业招聘的

ios开发系统地图知识

现在很多社交.电商.团购应用都引入了地图和定位功能,地图功能不再是地图应用和导航应用所特有的.目前地图和定位功能已经大量引入到应用开发中.今天就和大家一起看一下iOS如何进行地图开发. 一.Core Location定位使用 在iOS中通过Core Location框架进行定位操作.Core Location自身可以单独使用,和地图开发框架MapKit完全是独立的,但是往往地图开发要配合定位框架使用.在Core Location中主要包含了定位.地理编码(包括反编码)功能. 定位是一个很常用的功

iOS地图开发-基本使用

地图的基本使用 1.设置地图显示类型 /** MKMapTypeStandard = 0, // 标准 MKMapTypeSatellite, // 卫星 MKMapTypeHybrid, // 混合(标准+卫星) MKMapTypeSatelliteFlyover NS_ENUM_AVAILABLE(10_11, 9_0), // 3D立体卫星 MKMapTypeHybridFlyover NS_ENUM_AVAILABLE(10_11, 9_0), // 3D立体混合 */ self.cus

iOS CoreMotion框架(传感器)

我们知道iOS的应用真的太多了,很多应用让我们惊叹不已!!!很多意想不到的应用! 比如: 1.电子罗盘指南针之类的应用-让我们知道方向. 2.运动类型软件-让我们知道我们跑步多少公里. 3.社交软件中的摇一摇功能. 4.游戏中扮演角色类中根据设备的晃动等进行操作. 等等..而且还有很多应用正在层出不穷的展现再我们面前. 其实,他们多半是使用了iOS中的一个框架-核心运动框架-CoreMotion.framework CoreMotion.framework框架是做什么的 我们可以使用iOS提供给

iOS app被拒整理

作者:Leon链接:http://www.zhihu.com/question/33191327/answer/71421736来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 1.程序有重大bug,程序不能启动,或者中途退出.2.绕过苹果的付费渠道,我们之前游戏里的用兑换码兑换金币.3.游戏里有实物奖励的话,一定要说清楚,奖励由本公司负责,和苹果没有关系.4.用到苹果的标志.(应用的设计和Apple的Logo风格太像了也会被拒)5.网络功能不能正常访问.6.图标不

指南针开发

ios 定位新功能----在程序中实现定位功能 转:http://www.2cto.com/kf/201501/369336.html 2015-01-14      0个评论    来源:haogaoming123的专栏    收藏    我要投稿 Core Location是iOS SDK中一个提供设备位置的框架.可以使用三种技术来获取位置:GPS.蜂窝或WiFi.在这些技术中,GPS最为精准,如果有GPS硬件,Core Location将优先使用它.如果设备没有GPS硬件(如WiFi iP