我正在开发基于地理编码器的应用程序。在我的应用程序中,为了获取用户当前地址,我在地理编码委托方法中使用地标地址字典方法然后,我能够获得除邮政编码之外的所有细节(街道,城市,州,县,国家代码和所有)。为什么邮政编码不会来?现在我正在使用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。但我需要邮政编码。得到一个邮政编码,我想做什么?请给出解决方案。
答案 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]];