• 获取海拔高度. 实时气压


    海拔高度

    #import <CoreLocation/CoreLocation.h>
    #import <MapKit/MapKit.h>
    
    
    @property (nonatomic , strong) CLLocationManager * locationManager;
    @property (nonatomic , strong) UILabel * altitude;//海拔
    @property (nonatomic , strong) UILabel * verticalAccuracy;//垂直精度
    
        self.locationManager = [[CLLocationManager alloc] init];
        self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
        self.locationManager.delegate = self;
        [self.locationManager requestAlwaysAuthorization];
        [self.locationManager startUpdatingLocation];
    
    
    //实现回调
    -(void)locationManager:(CLLocationManager *)manager
       didUpdateToLocation:(CLLocation *)newLocation
              fromLocation:(CLLocation *)oldLocation
    {
        float altitude = newLocation.altitude;
        float verticalAccuracy = newLocation.verticalAccuracy;
        NSLog(@"%.2fm == %.2fm",altitude ,verticalAccuracy);
        self.altitude.text = [NSString stringWithFormat:@"海拔高度:%.2fm",altitude];
        self.verticalAccuracy.text = [NSString stringWithFormat:@"垂直精度 :%.2fm",verticalAccuracy];
    }
    
    //error回调
    -(void)locationManager:(CLLocationManager *)manager
          didFailWithError:(NSError *)error
    {
        NSLog(@"error.userInfo:%@
    error.domain:%@",error.userInfo,error.domain);
    }

    实时气压

    #import <CoreMotion/CMAltimeter.h>
    
    
    @property (nonatomic , strong) CMAltimeter *altimeter;
    
    
    
    //检测设备是否支持气压计
        if (![CMAltimeter isRelativeAltitudeAvailable]) {
            NSLog(@"Barometer is not available on this device. Sorry!");
            return;
        }
        
        
        //启用气压计
        
        self.altimeter = [[CMAltimeter alloc]init];
        
        [self.altimeter startRelativeAltitudeUpdatesToQueue:NSOperationQueue.mainQueue withHandler:^(CMAltitudeData * _Nullable altitudeData, NSError * _Nullable error) {
            
            NSLog(@"%lf",[altitudeData.relativeAltitude floatValue]);
            
            NSLog(@"%@",error);
            
        }];

    PS: iphone6以下 气压没有卵用....   iPhone SE 也没有卵用

  • 相关阅读:
    程序编译的四个阶段
    c++的符号表的肤浅认识
    git高级用法之cheery-pick
    rust 使用国内镜像,快速安装方法
    protobuf 的enum与string转换
    c++ 获取GMT 时间和字符串
    proto3 不支持内建类型的非空判断即 hasXXX
    cmake 中的 compile_commands.json 文件
    整数划分问题(记忆化搜索和DP方法)
    查找系列合集-二分查找
  • 原文地址:https://www.cnblogs.com/-yun/p/7992269.html
Copyright © 2020-2023  润新知