xcode – 反向地理编码仅以英文返回结果?

xcode – 反向地理编码仅以英文返回结果?,第1张

概述使用下面的代码,我正在为当前坐标请求反向地理编码. 一切都很好,除了设备设置为与英语不同的语言. 示例:如果设备的语言是意大利语,而我在意大利,则国家的结果是“Italia”而不是“Italy”. 无论设备的语言如何,我如何强制结果只能用英语? CLGeocoder *geoCoder = [[CLGeocoder alloc] init];[geoCoder reverseGeocodeLoc 使用下面的代码,我正在为当前坐标请求反向地理编码.
一切都很好,除了设备设置为与英语不同的语言.
示例:如果设备的语言是意大利语,而我在意大利,则国家的结果是“Italia”而不是“Italy”.
无论设备的语言如何,我如何强制结果只能用英语?

CLGeocoder *geoCoder = [[CLGeocoder alloc] init];[geoCoder reverseGeocodeLocation:myCurrentLocation completionHandler:^(NSArray *placemarks,NSError *error) {    for (CLPlacemark * placemark in placemarks) {        [locationController setLastKNownCountry:[placemark country]];    }}];

谢谢.

解决方法 您必须使用管理每种语言的信息的NSLocale类.然后,对于您的最终翻译,您必须强制使用英语语言环境:

CLGeocoder *geoCoder = [[CLGeocoder alloc] init];[geoCoder reverseGeocodeLocation:myCurrentLocation completionHandler:^(NSArray *placemarks,NSError *error) {    for (CLPlacemark * placemark in placemarks) {         //Obtains the country code,that is the same whatever language you are working with (US,ES,IT ...)         Nsstring *countryCode = [placemark ISOcountryCode];         //Obtains a locale IDentifIEr. This will handle every language         Nsstring *IDentifIEr = [NSLocale localeIDentifIErFromComponents: [NSDictionary dictionaryWithObject: countryCode forKey: NSLocaleCountryCode]];         //Obtains the country name from the locale BUT IN ENGliSH (you can set it as "en_UK" also)         Nsstring *country = [[[NSLocale alloc] initWithLocaleIDentifIEr:@"en_US"] displaynameForKey: NSLocaleIDentifIEr value:IDentifIEr];        //Continues your code        [locationController setLastKNownCountry:country];    }}];
总结

以上是内存溢出为你收集整理的xcode – 反向地理编码仅以英文返回结果?全部内容,希望文章能够帮你解决xcode – 反向地理编码仅以英文返回结果?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1052937.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存