iOS CoreLocation使用(iOS8 回调不行的问题解决)

在iOS8中,使用CoreLocation需要调用requestAlwaysAuthorization和requestWhenInUseAuthorization来获取位置权限。设置CLLocationManager的代理、精度和距离过滤器,并在Info.plist中配置相应的使用描述。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iOS8中使用使用CoreLocation前需要调用如下函数: (1)始终允许访问位置信息 - (void)requestAlwaysAuthorization; (2)使用应用程序期间允许访问位置数据 - (void)requestWhenInUseAuthorization; 示例如下: self.locationManager = [[CLLocationManager alloc]init]; _locationManager.delegate = self; _locationManager.desiredAccuracy = kCLLocationAccuracyBest; _locationManager.distanceFilter = 10; [_locationManager requestAlwaysAuthorization];//添加这句 [_locationManager startUpdatingLocation]; 2、在Info.plist文件中添加如下配置: (1)NSLocationAlwaysUsageDescription (2)NSLocationWhenInUseUsageDescription

  1. #import <CoreLocation/CoreLocation.h>

  2. @interface ViewController () <CLLocationManagerDelegate>

  3. @property (nonatomic, strong) CLLocationManager *locMgr;

  4. @end

  5. @implementation MJViewController

  6. - (CLLocationManager *)locMgr

  7. {

  8.    if(![CLLocationManager locationServicesEnabled]) return nil;

  9.    

  10.    if (!_locMgr) {

  11.        // 创建定位管理者

  12.        self.locMgr = [[CLLocationManager alloc] init];

  13.        

  14.        //在ios 8.0下要授权

  15.        if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0){

  16.            [self.locMgr requestWhenInUseAuthorization];  //调用了这句,就会弹出允许框了.

  17.            //[self.locMgr requestAlwaysAuthorization];// 前后台同时定位

  18.        }

  19.        

  20.        

  21.        // 设置代理

  22.        self.locMgr.delegate = self;

  23.        

  24.        self.locMgr.desiredAccuracy = kCLLocationAccuracyBest; //控制定位精度,越高耗电量越大。

  25.        

  26.        self.locMgr.distanceFilter = 10; //控制定位服务更新频率。单位是“米”

  27.    }

  28.    return _locMgr;

  29. }

  30. - (void)viewDidLoad

  31. {

  32.    [super viewDidLoad];

  33.    

  34.    

  35.    // 开始定位用户的位置

  36.    [self.locMgr startUpdatingLocation];

  37.    

  38.    //    // 开始监控某个位置

  39.    //    CLRegion *region = [[CLRegion alloc] init];

  40.    //    /**

  41.    //     ........

  42.    //     */

  43.    //    [self.locMgr startMonitoringForRegion:region];

  44. }

  45. /**

  46. *  计算2个经纬度之间的直线距离

  47. */

  48. - (void)countLineDistance

  49. {

  50.    // 计算2个经纬度之间的直线距离

  51.    CLLocation *loc1 = [[CLLocation alloc] initWithLatitude:40 longitude:116];

  52.    CLLocation *loc2 = [[CLLocation alloc] initWithLatitude:41 longitude:116];

  53.    CLLocationDistance distance = [loc1 distanceFromLocation:loc2];

  54.    NSLog(@"%f", distance);

  55. }

  56. #pragma mark - CLLocationManagerDelegate

  57. /**

  58. *  只要定位到用户的位置,就会调用(调用频率特别高)

  59. *  @param locations : 装着CLLocation对象

  60. */

  61. - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations

  62. {

  63.    // 1.取出位置对象

  64.    CLLocation *loc = [locations firstObject];

  65.    

  66.    // 2.取出经纬度

  67.    CLLocationCoordinate2D coordinate = loc.coordinate;

  68.    

  69.    // 3.打印经纬度

  70.    NSLog(@"didUpdateLocations------%f %f", coordinate.latitude, coordinate.longitude);

  71.    

  72.    // 停止定位(省电措施:只要不想用定位服务,就马上停止定位服务)

  73.    [manager stopUpdatingLocation];

  74. }

  75. @end

内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值