π The GraphHopper Geocoding API wrapped in an easy-to-use Swift framework.
The Geocoding API is part of the GraphHopper Directions API. Geocoding is the process of finding an address for your geo location or a coordinate for an address. With our API you have a fast and solid way to geocode.
Use CocoaPods to install the framework. Add this to your Podfile:
pod 'GraphHopperGeocoder'
Then run the following command:
$ pod install
In order to use the framework, you'll also need a GraphHopper Access Token. You can either set your access token in the Info.plist
(Key is GraphHopperAccessToken) or pass it as an argument to the initializer of the Geocoder
class.
Setup the Geocoder
class
import CoreLocation
import GraphHopperGeocoder
// use this
let geocoder = Geocoder(accessToken: "YOUR ACCESS TOKEN")
// or if you have set your access token in the Info.plist
let geocoder = Geocoder()
Configure the forward geocoding options
let options = ForwardGeocodeOptions(query: "HSR Rapperswil")
options.limit = 3
Configure the reverse geocoding options
let coordinate = CLLocationCoordinate2D(latitude: 47.222943, longitude: 8.817238649765951)
let options = ReverseGeocodeOptions(coordinate: coordinate)
Make the async request by calling the calculate(_:completionHandler)
method and passing the options.
let task = geocoder.geocode(options, completionHandler: { (placemarks, error) in
placemarks?.forEach({ placemark in
print(placemark.name)
print("\(placemark.coordinate.latitude), \(placemark.coordinate.longitude)")
print(placemark.street)
print(placemark.postalCode)
print(placemark.city)
print(placemark.state)
print(placemark.country)
})
})
For more information, consider reading the official documentation to learn more about the options and the result.
This project is released under the MIT license.
βThe GraphHopper Geocoder Swift Framework is crafted with β€οΈ by @rmnblm and @iphilgood during the Bachelor thesis at HSR University of Applied Sciences in Rapperswil.