LMGeocoder is a simple wrapper for geocoding and reverse geocoding dynamically from user input. It is blocked-based geocoder, use both Google Geocoding API and Apple iOS Geocoding Framework.
- Drag the
LMGeocoder
folder into your project. - Add the CoreLocation.framework to your project.
- Add the -fno-objc-arc compiler flag to SBJson files in Target Settings > Build Phases > Compile Sources.
LMGeocoder requires iOS 7.0 or above and ARC.
Import the LMGeocoder.h
header (see sample Xcode project in /LMGeocoderDemo
)
[[LMGeocoder sharedInstance] geocodeAddressString:addressString
service:kLMGeocoderGoogleService
completionHandler:^(LMAddress *address, NSError *error) {
if (address && !error) {
NSLog(@"Coordinate: (%f, %f)", address.coordinate.latitude, address.coordinate.longitude);
}
else {
NSLog(@"Error: %@", error.description);
}
}];
[[LMGeocoder sharedInstance] reverseGeocodeCoordinate:coordinate
service:kLMGeocoderGoogleService
completionHandler:^(LMAddress *address, NSError *error) {
if (address && !error) {
NSLog(@"Address: %@", address.formattedAddress);
}
else {
NSLog(@"Error: %@", error.description);
}
}];
LMGeocoder is licensed under the terms of the MIT License.