美文网首页
iOS指南针

iOS指南针

作者: 珍此良辰 | 来源:发表于2016-05-28 19:49 被阅读481次

前言:

这个小项目使用到了CoreLocation框架里面的设备朝向功能,对CoreLocation感兴趣的可以翻一下之前的文章

在另一个博客站有朋友发现一个尴尬的问题(图片的东西2个方向是不对的),原谅我的大意,赶时间就直接百度了张图片,大家注意下就好了哈!sorry~

指南针实现

  • 先来看看效果
指南针效果图.gif
  • 项目主要部分就是接收到设备朝向后计算出旋转的角度,然后旋转一下我们指南针图片就可以了
// 接收到设备朝向
- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
{
    // 判断朝向是否有效
    if (newHeading.headingAccuracy < 0) {
        return;
    }
    
    // 获取设备朝向
    CLLocationDirection angle = newHeading.magneticHeading;
    
    // 将角度转成弧度(角度 / 180.0 * M_PI)
    CGFloat hudu = angle / 180.0 * M_PI;
    
    // 因为如果没有动画的话旋转的时候回出现卡顿的现象,为了更流畅,我们给它加个动画
    [UIView animateWithDuration:0.1 animations:^{
        // 旋转图片
        self.comPassImage.transform = CGAffineTransformMakeRotation(-hudu);
    }];
    
}


  • 是不是很简单,但是有一点需要注意 —— 调用磁力传感器前我们需要先判断一下设备的磁力计是否可以用,以防止磁力计坏掉而没有运行成功
    // 判断当前设备磁力计是否正常
    if (![CLLocationManager headingAvailable]) {
        return;
    }

  • 考虑到网络速度问题,我将完整的项目放到了国内版的github(码云)上了 —— 网络地址

相关文章

  • iOS-CoreLocation文集目录

    CoreLocation应用场景:定位iOS8.0之前的定位iOS8.0定位iOS9.0定位定位总结指南针效果区域...

  • Corelocation

    本文章针对iOS8之前、iOS8、以及iOS9.0定位功能的实现,并对指南针、地理反地理编码做个简单介绍 iOS8...

  • iOS指南针

    前言: 这个小项目使用到了CoreLocation框架里面的设备朝向功能,对CoreLocation感兴趣的可以翻...

  • iOS 指南针

    需求:让指南针图片不断指向磁北方向 一、实现思路: 1.获取手机设备朝向(距离磁北方向的角度) 2.让指南针图片反...

  • iOS开发 - 指南针

  • iOS 仿系统指南针

    高仿系统指南针,方向数据是地磁航向数据,有定位地理位置信息和地磁方向信息,可以和系统的指南针对比看一看。 一、运行...

  • 指南针的设计(ios)

    import "ViewController.h" import

  • iOS学习笔记34-加速计和陀螺仪

    一、CoreMotion框架介绍 我们知道有一些iOS的应用,会有一些特殊的要求,比如: 电子罗盘指南针之类的应用...

  • iOS的加速计和陀螺仪

    一、CoreMotion框架介绍 我们知道有一些iOS的应用,会有一些特殊的要求,比如: 电子罗盘指南针之类的应用...

  • 指南针小组1月活动汇总贴

    1.组内讨论 1.1指南针小组启动会 小生:2016揩油-指南针-启动会 1.2指南针小组第二次讨论 指南针小组 ...

网友评论

      本文标题: iOS指南针

      本文链接:https://www.haomeiwen.com/subject/bdofdttx.html