swift 地图定位(五)指南针

来源:互联网 发布:怎么开通淘宝直播间 编辑:程序博客网 时间:2024/05/16 06:48

准备,SB 中加入imageview,并设置指南针图片,真机运行

import UIKitimport CoreLocationclass ViewController: UIViewController {    @IBOutlet weak var compassView: UIImageView!        lazy var locationM: CLLocationManager = {        let locationM = CLLocationManager()        locationM.delegate = self        return locationM    }()        override func viewDidLoad() {        super.viewDidLoad()        if CLLocationManager.headingAvailable() {            locationM.startUpdatingHeading()        }else {            print("当前磁力计设备损坏")        }    }}extension ViewController: CLLocationManagerDelegate {    func locationManager(_ manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {        print(newHeading)        /*         magneticHeading 39.81 trueHeading -1.00 accuracy 25.00 x -16.660 y +21.679 z -23.405 @ 2016-11-13 16:41:17 +0000         magneticHeading 9.75 trueHeading -1.00 accuracy 25.00 x -5.253 y +38.752 z -27.773 @ 2016-11-13 16:42:28 +0000         */        let angle = newHeading.magneticHeading//拿到当前设备朝向 0- 359.9 角度        let arc = CGFloat(angle / 180 * M_PI)//角度转换成为弧度        UIView.animate(withDuration: 0.5, animations: {            self.compassView.transform = CGAffineTransform(rotationAngle: -arc)        })    }}


0 0