ios指南针小例子

本文主要实现效果是百度地图指针跟随设备移动产生自然移动的效果,主要用于地图中的指南针作用。实现较为简单,大神请自行绕道,谢谢!

一,导入CoreLocation;

二,设置指针图片

_imageView = [[UIImageView allocinitWithImage:[UIImage imageNamed:@"arrow@2x.png"]];

_imageView.center = CGPointMake(160240);

[self.view addSubview:_imageView];


三,生成CLLocationManager,设置delegate

self.locationManager= [[CLLocationManageralloc]init];

_locationManager.delegate =self;


四,判定传感器是否可用

if ([CLLocationManagerheadingAvailable]) {

        //设置精度

        self.locationManager.desiredAccuracy =kCLLocationAccuracyBest;

        //设置滤波器不工作(过滤器用于过滤更新信号,默认为1,这里我们使其不工作,即接受所有更新信号,达到最精准模式)

        self.locationManager.headingFilter =kCLHeadingFilterNone;

        //开始更新

        [self.locationManagerstartUpdatingHeading];

    }


五,实现CLLocationManagerDelegate方法

-(void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading

{

    //每次要重置view的位置,才能保证图片每次偏转量正常,而不是叠加,指针方向正确。

    self.imageView.transform =CGAffineTransformIdentity;


    CGAffineTransform transform =CGAffineTransformMakeRotation(-1 *M_PI*newHeading.magneticHeading/180.0);   

 

    self.imageView.transform = transform;

}


via:Damon

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值