iOS 定位没有弹出请求提示框和调用代理方法

13 篇文章 0 订阅
9 篇文章 0 订阅

原因是CLLocationManager用的是临时变量ARC下会自动释放,所以才没有弹出提示框和代理方法

/*************************************************/

//定位的使用方法

@property (strong, nonatomic) CLLocationManager *LocationManager;


- (void)viewDidLoad {

    [super viewDidLoad];

    _LocationManager = [[CLLocationManager alloc]init];//初始化

    _LocationManager.delegate = self;//设置代理

    _LocationManager.desiredAccuracy = kCLLocationAccuracyBest;//定位精确度

    _LocationManager.distanceFilter = 10.0f;//定位半径

    [_LocationManager requestWhenInUseAuthorization];//使用时使用定位

    [_LocationManager startUpdatingLocation];//开始定位

}




#pragma mark - 定位代理经纬度回调

- (void)locationManager:(CLLocationManager *)manager

    didUpdateToLocation:(CLLocation *)newLocation

           fromLocation:(CLLocation *)oldLocation {

    

    [manager stopUpdatingLocation];

    NSLog(@"%@",[NSString stringWithFormat:@"经度:%3.5f\n纬度:%3.5f",newLocation.coordinate.latitude,newLocation.coordinate.longitude]);

    

    CLGeocoder * geoCoder = [[CLGeocoder alloc] init];

    [geoCoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray *placemarks, NSError *error) {

        for (CLPlacemark * placemark in placemarks) {

            

            NSDictionary *test = [placemark addressDictionary];

            //  Country(国家)  State(省份) City(城市) SubLocality()

            NSString *cityString = [test objectForKey:@"City"];


        }

    }];

    

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值