iOS 强制地理定位以特定语言返回城市名称

标签 ios geolocation core-location

我遇到了一种相当奇怪的情况,后端开发人员要求我强制执行地理定位返回的城市名称采用特定语言?例如,无论 iOS 使用哪种语言,它都会返回 København 而不是 Copenhagen。我在网上找不到任何与此相关的内容。我们将非常感谢您的帮助。谢谢

最佳答案

不确定这是否是最好、最安全的解决方案,但您可以在进行反向地理代码调用时临时更改区域设置,然后在完成后重置它。

NSArray *defaultLanguages = [[NSUserDefaults standardUserDefaults] valueForKey:@"AppleLanguages"];
NSArray *languages = [NSArray arrayWithObject:@"da"];
[[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
CLLocation *location = [[CLLocation alloc] initWithLatitude:coordinate.latitude longitude:coordinate.longitude];
[geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {
        CLPlacemark *placemark = placemarks[0];
        NSString *danish = placemark.country;
        [[NSUserDefaults standardUserDefaults] setObject:defaultLanguages forKey:@"AppleLanguages"];
        [[NSUserDefaults standardUserDefaults] synchronize];
}];

关于iOS 强制地理定位以特定语言返回城市名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18310237/

相关文章:

ios - Swift 中的 CLPlacemark 崩溃

flutter - Flutter-如何在没有互联网的情况下从坐标获取国家/地区?

ios - 插值和预测 CLLocationManager

ios - 核心位置 plist 不工作(Xcode 9.4/iOS 11.4)

ios - 将按钮添加到键盘工具栏

ios - 让自动完成快速工作

iphone - 推送通知 - 我们是否需要更新服务器上的 p12 以获得新证书?

java io ioexception 无法解析来自服务器地理编码器的响应

java - 如果我在本地主机上运行 App Engine 应用程序,我是否看不到 X-AppEngine-Country 的值?

swift - 如何检查用户是否在特定区域