1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > iOS开发之获取实时海拔高度

iOS开发之获取实时海拔高度

时间:2023-08-21 02:21:32

相关推荐

iOS开发之获取实时海拔高度

上一篇介绍了获取当前气压值以及设备相对高度的方法,现在我们来看一下如何获取当前设备绝对高度既海拔高度(除了直接看iPhone6的指南针)。

普及一下常识:海拔高度也称绝对高度,就是某地与海平面的高度差,通常以平均海平面做标准来计算,是表示地面某个地点高出海平面的垂直距离,1956年至今,我国计算的海拔高度都是以青岛的黄海海面作为零点算起。

首先我们要导入地图框架既下面两个框架#import <CoreLocation/CoreLocation.h>#import <MapKit/MapKit.h>

然后实例化对象。。。。不多说了_locationManager = [[CLLocationManager alloc] init];_locationManager.desiredAccuracy = kCLLocationAccuracyBest;_locationManager.delegate = self;[_locationManager requestAlwaysAuthorization];[_locationManager startUpdatingLocation];_startLocation = nil;这里别忘了遵循代理CLLocationManagerDelegate

插一句话:iOS把之后呢,苹果官方处于对用户的尊重,必须提示用户授权使用地理定位功能,那我们要做的就是看图:

这两个加在info.plist中的变量分别是:NSLocationAlwaysUsageDescriptionNSLocationWhenInUseUsageDescriptionxml代码:<key>NSLocationWhenInUseUsageDescription</key><string>YES</string><key>NSLocationAlwaysUsageDescription</key><string>YES</string>

然后实现CLLocationManagerDelegate里的代理方法- (void)locationManager:(CLLocationManager *)managerdidUpdateToLocation:(CLLocation *)newLocationfromLocation:(CLLocation *)oldLocation __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_NA, __IPHONE_2_0, __IPHONE_6_0) __TVOS_PROHIBITED __WATCHOS_PROHIBITED;下面是具体实现-(void)locationManager:(CLLocationManager *)managerdidUpdateToLocation:(CLLocation *)newLocationfromLocation:(CLLocation *)oldLocation{float altitude = newLocation.altitude;NSLog(@"海拔高度为:%.2fm",altitude);NSLog(@"垂直精度为:%.2fm",newLocation.verticalAccuracy);}

错误返回代理方法-(void)locationManager:(CLLocationManager *)managerdidFailWithError:(NSError *)error {NSLog(@"error.userInfo:%@\nerror.domain:%@",error.userInfo,error.domain);}

其实很简单 其实很自然 两个人的爱由两人分担其实并不难 是你太悲观 隔着一道墙不跟谁分享

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。