反向地理编码和本地化

时间:2010-11-25 14:18:07

标签: iphone ios localization reverse-geocoding

我使用此代码设置带有位置字符串

的标签
locationString = [[NSString alloc] initWithFormat:@"%@%@ - %@ %@%@",
                    thoroughfare,subThoroughfare,postalCode,
                    locality,countryCode];

locationLabel.text = locationString;

通道,subThoroughfare,postalCode,locality,countryCode是从地标获得的。

现在,我想根据当前的语言环境来显示这个字符串。我是否为我感兴趣的每个语言环境指定了字符串格式,或者有更简单的方法来获取它?

谢谢, 弗兰

2 个答案:

答案 0 :(得分:1)

您可以使用以下功能

-(void) setLocation:(NSString *)latitude withLongitude:(NSString *)longitude  {
    CLGeocoder *geocoder = [[CLGeocoder alloc] init];
    CLLocation *location = [[CLLocation alloc] initWithLatitude:[latitude doubleValue] longitude:               
    longitude doubleValue]];
        CLGeocodeCompletionHandler completionHandler = ^ (NSArray *placemarks, NSError *error){
                if (error){
                        NSLog(@"error in fetching location <%@>",error);
                    return ;
                }
                if ( placemarks && placemarks.count >0){
                    CLPlacemark *mark = [placemarks objectAtIndex:0];
                        NSString  *addresstring = [[mark addressDictionary]  objectForKey:@"FormattedAddressLines"] componentsJoinedByString:@","];
             *//fetched addressDictionary for key FormattedAddressLines*

            }

答案 1 :(得分:0)

地标对象的addressDictionary属性应部分解决其FormattedAddressLines数组的问题。