我使用以下代码在Iphone中获取用户的城市和国家/地区。
CLLocation *location = // Some location
[[[CLGeocoder alloc] init] reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {}];
它可以工作,但问题是它以指定的语言返回值。例如,如果用户当前的国家/地区是阿联酋和迪拜城市,则它会将值设为دبي和لإمارات。我希望用英语获得这些价值,例如迪拜和阿拉伯联合酋长国。
答案 0 :(得分:3)
使用此代码获取详细信息。
#define REVERSE_GEO_CODING_URL @"https://maps.googleapis.com/maps/api/geocode/json?"
NSString *urlStr = [NSString stringWithFormat:@"%@latlng=%@,%@&sensor=true",REVERSE_GEO_CODING_URL,latitude,longitude];
DLog(@"%@",urlStr);
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
NSString *json = [BKAPIClient handleConnection:request];
[request release];
if (json)
return (NSMutableDictionary *)[json JSONValue];
我使用沙特阿拉伯的latlong进行了测试,并返回英文地址。
请参阅此link,其中提供了沙特阿拉伯某处的地址。