iOS开发随笔——定位

前言

在iOS开发过程中经常会使用到用户位置信息,iOS系统封装了定位所要的类库


使用方法:

//首先需要设置代理
@interface ViewController ()

//其次需要声明变量
@property (nonatomic, strong) CLLocationManager *manager;

//然后初始化变量manager
- (void)getLocation{
    _manager = [[CLLocationManager alloc]init];
    [_manager requestAlwaysAuthorization];
    _manager.delegate = self;
    [_manager startUpdatingLocation];
}

//最后重写代理方法
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
    CLLocation *currLocation=[locations lastObject];
    NSLog(@"la---%f, lo---%f",currLocation.coordinate.latitude,currLocation.coordinate.longitude);
    // 使用CLGeocoder的做法,其实是因为ios5开始,iphone推荐的做法。而MKReverseGeocoder在ios5之后,就不再推荐使用了,因为这个类需要实现两个委托方法。而使用CLGeocodre,则可以使用直接的方法。
    CLGeocoder *geocoder = [[CLGeocoder alloc] init];
    [geocoder reverseGeocodeLocation:currLocation completionHandler:^(NSArray* placemarks,NSError *error) {
        if (placemarks.count >0   ) {
            // 自动定位获取城市等信息
            CLPlacemark * plmark = [placemarks objectAtIndex:0];
            NSLog(@"%@", plmark.name); //显示所有地址
//            _label.text = plmark.name; //给label负值
        }
    }];
}

更加详细的信息在这里,我也是从这里借鉴的,这里写下是为了自己Mark

iOS 定位总结--roger_单

需要获得地址详细信息 在CLPlacemark *plmark中可以找到属性plmark.addressDictionary

你可能感兴趣的:(iOS开发随笔——定位)