我正在使用googleapis服务来获取用户的位置,当前城市名称+国家名称:
NSString *urlString = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/geocode/xml?latlng=%f,%f&sensor=false",latitude,longitude];
urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
// Send the request
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
我得到了一个包含数据的XML文件,然后使用NSXMLParser来获取必要的信息。出于某种原因,有时信息是用英语提供的,有时不是,我只需要英文。
我试图用以下代码覆盖应用程序的语言:
[[NSUserDefaults standardUserDefaults] setObject: [NSArray arrayWithObjects:@"en", nil] forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
但什么都没发生,我该怎么办?
在谷歌地图API文档中,它说:
地理编码请求中的可选参数:
language——返回结果的语言。请参阅支持的域语言列表。请注意,我们经常更新支持的语言,因此此列表可能并不详尽。如果没有提供语言,则地理编码器将尽可能使用发送请求的域的本地语言。
因此,您只需要在请求中指定语言作为参数。对于英语:language=en