【IOS 开发】之定位及反编码 —— 伊禾媛

来源:互联网 发布:5g网络概念股龙头 编辑:程序博客网 时间:2024/04/24 16:31
</pre><pre name="code" class="objc">

//定位    self.locationManager.delegate = self;    //所需的定位精度。    self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;    //指定的最小更新在米距离.    self.locationManager.distanceFilter = kCLDistanceFilterNone;    //开始定位    [self.locationManager startUpdatingLocation];        /*        解决iOS8中不定位的问题:        还需在info.plist里添加:        NSLocationWhenInUseUsageDescription  允许在前台获取GPS的描述        NSLocationAlwaysUsageDescription  允许在后台获取GPS的描述     */    if (ios8) {        [self.locationManager requestAlwaysAuthorization];    }

#pragma mark - CLLocationManagerDelegate//此协议方法不断被调用- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {        //1.取得最后一个地址    CLLocation *location = [locations lastObject];        //2.停止定位    [manager stopUpdatingLocation];        //3.创建地址解析器    CLGeocoder *geocoder = [[CLGeocoder alloc] init];    [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {                for (CLPlacemark *place in placemarks) {                        //反编码出来place中包含了国家、身份、城市等各种位置字段。这里以省份为例            NSString *province = place.administrativeArea;        }    }];}



注意:

1、需要导入框架:CoreLocation.framework

2、需要遵循的协议:CLLocationManagerDelegate

3、需要导入的文件:CoreLocation/CoreLocation.h、CoreLocation/CLGeocoder.h




0 0