强制系统获取的定位地点为中文

系统语言为英文时,定位默认返回英文或拼音,系统语言是中文时才返回中文。

需求: 强制系统获取的定位地点为中文。

此技能适用于所有关于定位的方法中

-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation 
fromLocation:(CLLocation *)oldLocation{
    // 获取经纬度
    NSLog(@"纬度:%f",newLocation.coordinate.latitude);
    NSLog(@"经度:%f",newLocation.coordinate.longitude);
    // 停止位置更新
    [manager stopUpdatingLocation];



    // 保存 Device 的现语言 (英语 法语 ,,,)
    NSMutableArray *userDefaultLanguages = [[NSUserDefaults standardUserDefaults]
    objectForKey:@"AppleLanguages"];
    // 强制 成 简体中文
    [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"zh-hans",nil] 
    forKey:@"AppleLanguages"];

    // 逆地理编码
    CLGeocoder * geoCoder = [[CLGeocoder alloc] init];
    [geoCoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray *placemarks, NSError *error) {
        if(!error){
            for (CLPlacemark * placemark in placemarks) {
                NSString *cityName = [placemark locality];
                NSLog(@"cityName===》%@", cityName);//这里可看到输出为中文
                break;
            }
        }
        // 还原Device 的语言
        [[NSUserDefaults standardUserDefaults] setObject:userDefaultLanguages forKey:@"AppleLanguages"];
    }];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,861评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,837评论 18 139
  • 大学,奖学金投票,我,输了,很惨。 当我听见,念的都是别人的名字,我就知道,完了。 抬头,个位数,连一个正字都没写...
    maissy请叫我麦西瓜阅读 226评论 0 2
  • 你不结婚,你活该;你结婚,你活该;你不生孩子,你活该;你生孩子,你活该;你不带娃,你活该;你带娃你活该;你不工作,...
    金牛座的天空阅读 193评论 0 0
  • 今年三月,我去参加青果的葬礼。 婚礼我参加得很多,但是葬礼很少。在这个并不富裕的农村,葬礼可不是一件应该发生在16...
    蒂凡尼在月亮河阅读 532评论 0 1