首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CLLocationManager reverseGeocodeLocation语言

CLLocationManager reverseGeocodeLocation语言
EN

Stack Overflow用户
提问于 2013-12-05 00:13:14
回答 2查看 1.7K关注 0票数 5

我使用CLLocationManager on iPhone获取当前用户位置,然后使用reverseGeocodeLocation将位置转换为地址。

这是很好的工作,但结果是返回的设备语言,我需要他们总是以英语。

是否有一种方法可以以所需的语言获取地址字符串或将其转换?

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

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-06 16:56:59

我终于想出了办法,所以这也是给那些可能需要的人用的。

  1. 从SUserDefaults standardUserDefaults获取“SUserDefaults”键,并将其保存到以后。
  2. 将"AppleLanguages键“设置为"en”
  3. 抓住位置(现在只有英语)
  4. 还原以前的"AppleLanguages“键。

//1+2

代码语言:javascript
复制
NSArray *currentLanguageArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] setObject: [NSArray arrayWithObjects:@"en", nil] forKey:@"AppleLanguages"];
         //get the location

//4

代码语言:javascript
复制
[[NSUserDefaults standardUserDefaults] setObject:currentLanguageArray forKey:@"AppleLanguages"];

希望这有帮助

票数 7
EN

Stack Overflow用户

发布于 2018-12-25 14:11:32

CLGeocoder为这种情况提供了一种方便的方法:

代码语言:javascript
复制
- (void)reverseGeocodeLocation:(CLLocation *)location 
               preferredLocale:(NSLocale *)locale 
             completionHandler:(CLGeocodeCompletionHandler)completionHandler;

可在iOS 11和更高版本中获得。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20388891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档