6.7. Converting Meaningful Addresses to Longitude and Latitude
Problem
You have an address of a location and you want to find the spatial location (longitude, latitude) of that address.
Solution
Use the geocodeAddressString:completionHandler:
method of the CLGeocoder
class.
Discussion
Reverse geocoding is the process of
retrieving a meaningful address, city and country, and so on, using
spatial locations (Longitude, Latitude).
Geocoding, on the other hand, is
the process of finding the spatial locations of a given address. Both
geocoding and reverse geocoding
facilities are encapsulated into the CLGeocoder class in the CoreLocation framework.
We geocode spatial locations by passing the address as NSString to the geocodeAddressString:completionHandler:
method of the CLGeocoder class. The
completionHandler parameter of this
method accepts a block object that returns no value and has two
parameters:
A placemarks array (of type
NSArray), which will be set to the locations that matched your search.An error (of type
NSError), which will get set to an error code if the geocoding fails.
Let’s go ahead and declare a property of type CLGeocoder first:
#import <UIKit/UIKit.h> #import <CoreLocation/CoreLocation.h> @interface Converting_Meaningful_Addresses_to_Longitude_and_LatitudeViewController : UIViewController @property (nonatomic, strong) CLGeocoder *myGeocoder; @end
Then we need to synthesize this property:
@implementation Converting_Meaningful_Addresses_to_Longitude_and_LatitudeViewController @synthesize ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access