I have the longitude and latitude from a location manager, now I am trying to reverse geo-code, to convert that information into address strings. I found the code below, that purportedly will do it, but I am getting a linker error. I think this means I am missing some framework or something. I was not able to find the answer. Can anyone help?
Error:
Apple Mach-O Linker Error
"_KABPersonAddressZIPKey", referenced from:
and so on for each of the strings that I am trying to generate.
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
CLLocation *newLocation = [[CLLocation alloc]initWithLatitude:latitude
longitude:longitude];
[geocoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray *placemarks, NSError *error)
{
if (error) {
NSLog(@"Geocode failed with error: %@", error);
return;
}
if (placemarks && placemarks.count > 0)
{
CLPlacemark *placemark = placemarks[0];
NSDictionary *addressDictionary = placemark.addressDictionary;
NSString *address = [addressDictionary objectForKey:(NSString *)kABPersonAddressStreetKey];
NSString *city = [addressDictionary objectForKey:(NSString *)kABPersonAddressCityKey];
NSString *state = [addressDictionary objectForKey:(NSString *)kABPersonAddressStateKey];
NSString *zip = [addressDictionary objectForKey:(NSString *)kABPersonAddressZIPKey];
NSLog(@"%@ %@ %@ %@", address,city, state, zip);
}
}
];
Look up kABPersonAddressStreetKey in the documentation:
http://developer.apple.com/library/ios/#documentation/AddressBook/Reference/ABPersonRef_iPhoneOS/Reference/reference.html
It says right at the top it's in the AddressBook framework. So you need to link to that.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With