iOS 城市定位 英文

来源:互联网 发布:qq音乐 知乎 编辑:程序博客网 时间:2024/05/16 09:47

 iOS 手机设置英文语言  城市定位 返回英文 问题。

1.先把当前的语言环境记录下来。

2.把当前语言环境改为中文语言之后再执行反地理编码。

3.要在执行完反地理编码之后,再改回原来的语言环境。

- (void)startLocation {    if (![CLLocationManager locationServicesEnabled]) {        [UIAlertView bk_showAlertViewWithTitle:@"定位服务未开启" message:@"请在系统设置中开启定位服务\n(设置>隐私>定位服务>开启)" cancelButtonTitle:nil otherButtonTitles:@[@"知道了"] handler:nil];        return;    }    if(IS_IOS_8_OR_LATER){//        [self.locationManager requestAlwaysAuthorization];        [self.locationManager requestWhenInUseAuthorization];    }    [self.locationManager startUpdatingLocation];}#pragma mark - CLLocationManagerDelegate- (void)locationManager:(CLLocationManager *)manager    didUpdateToLocation:(CLLocation *)newLocation           fromLocation:(CLLocation *)oldLocation {    [self.locationManager stopUpdatingLocation];    self.userLocation = [JZLocationConverter wgs84ToGcj02:newLocation.coordinate];    [UserManage sharedInstance].userLocationed = self.userLocation;        // 保存 Device 的现语言 (英语 法语 ,,,)    NSMutableArray *userDefaultLanguages = [[NSUserDefaults standardUserDefaults]                                            objectForKey:@"AppleLanguages"];    // 强制 成 简体中文    [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"zh-hans",nil]                                              forKey:@"AppleLanguages"];    [[NSUserDefaults standardUserDefaults] synchronize];    CLGeocodeCompletionHandler handle = ^(NSArray *placemarks, NSError *error) {        for (CLPlacemark *placeMark in placemarks) {//            NSString *cityName = [placeMark addressDictionary][@"City"];            NSString *cityName = [placeMark administrativeArea];                        if (cityName.length == 0) {                cityName = [placeMark addressDictionary][@"State"];            }            if ([[cityName substringFromIndex:[cityName length] - 1] isEqualToString:@"市"]) {                cityName = [cityName substringToIndex:[cityName length] - 1];            }            self.cityName = cityName;        }        // 还原Device 的语言        [[NSUserDefaults standardUserDefaults] setObject:userDefaultLanguages forKey:@"AppleLanguages"];    };    self.geocoder = [[CLGeocoder alloc] init];    [self.geocoder reverseGeocodeLocation:newLocation completionHandler:handle];}


0 0