我正在使用 MapKit 和 MKReverseGeocoder 将纬度/经度转换为位置。我做了一些测试,发现地理编码响应语言是根据 iPhone 选择的语言设置的。如何明确设置响应语言?无论如何,我都希望回复是“en”。我的代码是:
MKReverseGeocoder *geocoder = [[MKReverseGeocoder alloc] initWithCoordinate:center];
[geocoder setDelegate:self];
[geocoder start];
我正在使用 MapKit 和 MKReverseGeocoder 将纬度/经度转换为位置。我做了一些测试,发现地理编码响应语言是根据 iPhone 选择的语言设置的。如何明确设置响应语言?无论如何,我都希望回复是“en”。我的代码是:
MKReverseGeocoder *geocoder = [[MKReverseGeocoder alloc] initWithCoordinate:center];
[geocoder setDelegate:self];
[geocoder start];
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
您可以“欺骗”应用程序,使其认为它是一种特定的“语言”
请参阅如何强制 NSLocalizedString 使用特定语言
简短的回答把它放在你的 main.m 中。在“自动释放”中。
[[NSUserDefaults standardUserDefaults]
setObject:[NSArray arrayWithObject:@"en"]
forKey:@"AppleLanguages"];
用于英语地理编码
如果您使用本地化,它可能会对您的应用产生其他影响。