ios – CLLocationManager reverseGeocodeLocation语言

前端之家收集整理的这篇文章主要介绍了ios – CLLocationManager reverseGeocodeLocation语言前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在iPhone上使用CLLocationManager来获取当前用户位置,然后我使用reverseGeocodeLocation将位置转换为地址.

这工作正常,但结果以设备语言返回,我需要它们始终使用英语.

有没有办法以所需语言获取地址字符串或转换它?

[geocoder reverseGeocodeLocation:currentLocation completionHandler:^(NSArray *placemarks,NSError *error) {
        NSLog(@"Found placemarks: %@,error: %@",placemarks,error);
        if (error == nil && [placemarks count] > 0) {
            placemark = [placemarks lastObject];
    }

解决方法

我设法最终弄明白,所以这也适合那些可能需要它的人.

>从SUserDefaults standardUserDefaults获取“Ap​​pleLanguages”键并保存以供日后使用.
>将“AppleLanguages键”设置为“en”
>抓住位置(现在只有英文)
>从之前恢复“AppleLanguages”键.

// 1 2

NSArray *currentLanguageArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] setObject: [NSArray arrayWithObjects:@"en",nil] forKey:@"AppleLanguages"];
         //get the location

// 4

[[NSUserDefaults standardUserDefaults] setObject:currentLanguageArray forKey:@"AppleLanguages"];

希望有所帮助

猜你在找的Xcode相关文章