pray例子----------------------获取地理位置

时间:2021-11-11 10:55:04

[objc]  view plain copy pray例子----------------------获取地理位置 pray例子----------------------获取地理位置
  1. #import <CoreLocation/CoreLocation.h>  
  2.   
  3. @interface PBTextViewController ()<CLLocationManagerDelegate>  
  4.   
  5. @property (weak, nonatomic) IBOutlet UIImageView *bkImageView;  


[objc]  view plain copy pray例子----------------------获取地理位置 pray例子----------------------获取地理位置
  1. _locationManager = [[CLLocationManager alloc] init];  
  2. _locationManager.delegate = self;  
  3. _locationManager.desiredAccuracy = kCLLocationAccuracyBest;  
  4. _locationManager.distanceFilter = 1000.0f;  




[objc]  view plain copy pray例子----------------------获取地理位置 pray例子----------------------获取地理位置
  1. #pragma mark---- location  
  2. - (void)startUplocation  
  3. {  
  4.     if ([CLLocationManager locationServicesEnabled])  
  5.     {  
  6.         [_locationManager startUpdatingLocation];  
  7.     }  
  8.     else  
  9.     {  
  10.         UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"提示" message:@"请开启定位功能!"delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil, nil nil];  
  11.         [av show];  
  12.     }  
  13. }  
  14.   
  15. #pragma mark - CLLocationManagerDelegate  
  16. // 地理位置发生改变时触发  
  17. - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation  
  18. {  
  19.     // 获取经纬度  
  20.     NSLog(@"纬度:%f",newLocation.coordinate.latitude);  
  21.     NSLog(@"经度:%f",newLocation.coordinate.longitude);  
  22.     // 停止位置更新  
  23.     [manager stopUpdatingLocation];  
  24.     CLGeocoder* geocoder = [[CLGeocoder alloc] init];  
  25.       
  26.     [geocoder reverseGeocodeLocation: newLocation completionHandler:^(NSArray *array, NSError *error) {  
  27.         if (array.count > 0)  
  28.         {  
  29.             CLPlacemark *placemark = [array objectAtIndex:0];  
  30.             NSString *city = placemark.locality;  
  31.             NSString *street = placemark.thoroughfare;  
  32.             NSLog(@"%@,%@",city,street);  
  33.             NSMutableString *ms = [[NSMutableString alloc] init];  
  34.             [ms appendString:city];  
  35.             [ms appendString:street];  
  36.             _locationLb.text = ms;  
  37.         }  
  38.     }];  
  39. }  
  40.   
  41. // 定位失误时触发  
  42. - (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error  
  43. {  
  44.     NSLog(@"error:%@",error);  
  45. }