Use Amazon Location Service SDK
If you need functionality in the AWSLocation framework used by the Amplify Geo category that isn't available, we provide an escape hatch so you can reference it directly.
Note: If you provisioned your Geo resources via Amplify CLI, then the IAM policy will be specifically scoped to only allow actions required by the library. Please adjust your authorization permissions accordingly for your escape hatch use-cases.
import AWSLocationXCF
import AWSLocation
Then retrieve the escape hatch and call methods on AWSLocation
directly:
do { // Retrieve AWSLocationGeoPlugin let plugin = try Amplify.Geo.getPlugin(for: "awsLocationGeoPlugin") guard let locationPlugin = plugin as? AWSLocationGeoPlugin else { return }
// Retrieve reference to AWSLocation let awsLocation = locationPlugin.getEscapeHatch()
// Make Request let request = AWSLocationListMapsRequest()! request.maxResults = 5 awsLocation.listMaps(request) { response, error in // handle response ... }} catch { print("Error occurred while fetching the escape hatch \(error)")}
Documentation Resources
Maps
Places
Device Tracking