• iOS之获取经纬度并通过反向地理编码获取详细地址


     1  
     2 
     3 _locationManager = [[CLLocationManager alloc] init];
     4 
     5     //期望的经度
     6 
     7     _locationManager.desiredAccuracy = kCLLocationAccuracyBest;
     8 
     9     //大约变化100米更新一次
    10 
    11     _locationManager.distanceFilter = 100;
    12 
    13     //认证NSLocationAlwaysUsageDescription
    14 
    15     if ([[UIDevice currentDevice] systemVersion].doubleValue > 8.0) {//如果iOS是8.0以上版本
    16 
    17         if ([_locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {//位置管理对象中有requestAlwaysAuthorization这个方法
    18 
    19             //运行
    20 
    21             [_locationManager requestAlwaysAuthorization];
    22 
    23         }
    24 
    25     }
    26 
    27     _locationManager.delegate = self;
    28 
    29     [_locationManager startUpdatingLocation];
    30 
    31  
    32 
    33 //获取经纬度和详细地址
    34 
    35 - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray<CLLocation *> *)locations {
    36 
    37     
    38 
    39     CLLocation *location = [locations lastObject];
    40 
    41     NSLog(@"latitude === %g  longitude === %g",location.coordinate.latitude, location.coordinate.longitude);
    42 
    43     
    44 
    45     //反向地理编码
    46 
    47     CLGeocoder *clGeoCoder = [[CLGeocoder alloc] init];
    48 
    49     CLLocation *cl = [[CLLocation alloc] initWithLatitude:location.coordinate.latitude longitude:location.coordinate.longitude];
    50 
    51     [clGeoCoder reverseGeocodeLocation:cl completionHandler: ^(NSArray *placemarks,NSError *error) {
    52 
    53         for (CLPlacemark *placeMark in placemarks) {
    54 
    55             
    56 
    57             NSDictionary *addressDic = placeMark.addressDictionary;
    58 
    59             
    60 
    61             NSString *state=[addressDic objectForKey:@"State"];
    62 
    63             NSString *city=[addressDic objectForKey:@"City"];
    64 
    65             NSString *subLocality=[addressDic objectForKey:@"SubLocality"];
    66 
    67             NSString *street=[addressDic objectForKey:@"Street"];
    68 
    69             
    70 
    71             NSLog(@"所在城市====%@ %@ %@ %@", state, city, subLocality, street);
    72 
    73             [_locationManager stopUpdatingLocation];
    74 
    75         }
    76 
    77     }];
    78 
    79 }
    80 
    81  
  • 相关阅读:
    我说
    时间管理
    职场自我管理
    html元素不可见的三种方式
    windows查看端口占用情况
    windows下vbs脚本隐藏控制台
    找钥匙问题
    CSS中的偏僻知识点
    竖式谜题
    node库的选择
  • 原文地址:https://www.cnblogs.com/rglmuselily/p/5594090.html
Copyright © 2020-2023  润新知