为什么邮政编码不会出现在地址字典中?

时间:2010-09-02 10:48:32

标签: iphone objective-c map mkmapview

我正在开发基于地理编码器的应用程序。在我的应用程序中,为了获取用户当前地址,我在地理编码委托方法中使用地标地址字典方法然后,我能够获得除邮政编码之外的所有细节(街道,城市,州,县,国家代码和所有)。为什么邮政编码不会来?现在我正在使用iOS 4.请帮帮我。

我的代码,

- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark    *)placemark
 {  
      placemark = [[MKPlacemark alloc] initWithCoordinate:locationManager.location.coordinate addressDictionary:[placemark addressDictionary]];

      NSLog(@"Address Dictionary %@", [placemark addressDictionary]);

      NSDictionary * addressDict= [placemark addressDictionary];

      country = [addressDict objectForKey:@"Country"];

      postal = [addressDict objectForKey:@"PostalCode"];

      state = [addressDict objectForKey:@"State"];

      city = [addressDict objectForKey:@"City"];

 }

这是我当前的地址,来自地标地址字典。

Address Dictionary {
City = Madurai;
Country = India;
CountryCode = IN;
FormattedAddressLines =     (
    "Lady Doak College Rd, Chinna Chokkikulam, Chockikulam",
    "Madurai, Tamil Nadu",
    India
);
State = "Tamil Nadu";
Street = "Lady Doak College Rd";
SubAdministrativeArea = Madurai;
SubLocality = "Chinna Chokkikulam";
Thoroughfare = "Lady Doak College Rd";
}

在上面的代码中,没有poastalCode。但我需要邮政编码。得到一个邮政编码,我想做什么?请给出解决方案。

2 个答案:

答案 0 :(得分:0)

您可以使用免费的反向 地理编码服务为您完成此任务。

Google提供此类服务: http://code.google.com/apis/maps/documentation/services.html#ReverseGeocoding

或者,此Google网上论坛帖子 有一个其他反向列表 地理编码服务: http://groups.google.com/group/Google-Maps-API/web/resources-non-google-geocoders?pli=1

答案 1 :(得分:0)

我通过删除以下行解决了我的问题,并且没有必要初始化地标。

 placemark = [[MKPlacemark alloc] initWithCoordinate:locationManager.location.coordinate addressDictionary:[placemark addressDictionary]];