3

我正在使用 MapKit 和 MKReverseGeocoder 将纬度/经度转换为位置。我做了一些测试,发现地理编码响应语言是根据 iPhone 选择的语言设置的。如何明确设置响应语言?无论如何,我都希望回复是“en”。我的代码是:

MKReverseGeocoder *geocoder = [[MKReverseGeocoder alloc] initWithCoordinate:center];
[geocoder setDelegate:self];
[geocoder start];
4

2 回答 2

3

MKReverseGeocoder(也在CLGeocoderiOS5 中)不允许您设置语言。

但是,您可以使用Google Maps API构建自己的反向地理编码器。这需要发送一个 HTTP 请求并解析响应数据。您可以在 URL 中设置设置语言。以下是支持的语言列表:https ://spreadsheets.google.com/pub?key=p9pdwsai2hDMsLkXsoM05KQ&gid=1

示例网址:

http://maps.google.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true&language=en
于 2011-09-11T16:44:44.037 回答
1

您可以“欺骗”应用程序,使其认为它是一种特定的“语言”

请参阅如何强制 NSLocalizedString 使用特定语言

简短的回答把它放在你的 main.m 中。在“自动释放”中。

[[NSUserDefaults standardUserDefaults]     
setObject:[NSArray arrayWithObject:@"en"]     
forKey:@"AppleLanguages"];

用于英语地理编码

如果您使用本地化,它可能会对您的应用产生其他影响。

于 2012-02-07T21:56:33.390 回答