美文网首页地图_SDKiOS Developer
iOS开发随笔——定位

iOS开发随笔——定位

作者: BBH_Life | 来源:发表于2016-03-17 13:02 被阅读367次

    前言

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

    <CoreLocation/CoreLocation.h>
    

    使用方法:

    //首先需要设置代理
    @interface ViewController ()<CLLocationManagerDelegate>
    
    //其次需要声明变量
    @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<CLLocation *> *)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开发随笔——定位

        本文链接:https://www.haomeiwen.com/subject/kzlclttx.html