我使用CLLocationManager on iPhone获取当前用户位置,然后使用reverseGeocodeLocation将位置转换为地址。
这是很好的工作,但结果是返回的设备语言,我需要他们总是以英语。
是否有一种方法可以以所需的语言获取地址字符串或将其转换?
[geocoder reverseGeocodeLocation:currentLocation completionHandler:^(NSArray *placemarks, NSError *error) {
NSLog(@"Found placemarks: %@, error: %@", placemarks, error);
if (error == nil && [placemarks count] > 0) {
placemark = [placemarks lastObject];
}发布于 2013-12-06 16:56:59
我终于想出了办法,所以这也是给那些可能需要的人用的。
//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"];希望这有帮助
发布于 2018-12-25 14:11:32
CLGeocoder为这种情况提供了一种方便的方法:
- (void)reverseGeocodeLocation:(CLLocation *)location
preferredLocale:(NSLocale *)locale
completionHandler:(CLGeocodeCompletionHandler)completionHandler;可在iOS 11和更高版本中获得。
https://stackoverflow.com/questions/20388891
复制相似问题