我在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]; }
Shachar.. 7
我设法最终弄明白,所以这也适合那些可能需要它的人.
从SUserDefaults standardUserDefaults获取"AppleLanguages"密钥并保存以供日后使用.
将"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"];
希望有所帮助
我设法最终弄明白,所以这也适合那些可能需要它的人.
从SUserDefaults standardUserDefaults获取"AppleLanguages"密钥并保存以供日后使用.
将"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"];
希望有所帮助