Configure location search
Amplify's geo
category enables you to search by places, addresses, and coordinates in your app with "place index" resources.
Setup a new Location Search Index
You can add a new location search index by running the following command from your project's root folder:
amplify add geo
? Select which capability you want to add: Map (visualize the geospatial data)> Location search (search by places, addresses, coordinates)
If you haven't set up the auth
category already, the Amplify CLI will guide you to enable the auth category.
The auth
category is required in your application so that the appropriate permissions to search for places can be given to Authorized and/or Guest users as described below.
Next, set a name for the location search index:
? Provide a name for the location search index (place index):> MyPlaceIndex
Location Search Access permissions
Next, configure the access permissions for your location search index and authorize users to search for places. You can scope permissions based on an individual user's authentication status.
? Who can access this Search Index?❯ Authorized users only Authorized and Guest users
Select Authorized users only
if only authenticated users can search for places.
Select Authorized and Guest users
if both authenticated and unauthenticated users can can search for places.
For more information, refer link to location service page.
Location Search Index Pricing Plan
The pricing plan for Search Index will be set to RequestBasedUsage
.
We advice you to go through the location service pricing along with the location service terms (82.5 section) to learn more about the pricing plan.
Update Location Search Index pricing plan to RequestBasedUsage
You can check the pricing plan for your Search Index from geo/<searchIndexID>/pricingPlan
attribute in your project metadata file located at amplify/backend/amplify-meta.json
in your project.
"geo": { "MyPlaceIndex": { "isDefault": true, "providerPlugin": "awscloudformation", "service": "PlaceIndex", "dataProvider": "Esri", "dataSourceIntendedUse": "SingleUse", "pricingPlan": "MobileAssetManagement", "accessType": "AuthorizedUsers" }}
You can check your Amplify CLI version using amplify -v
.
Advanced Settings
You can optionally configure the data provider and result storage location for your location search index.
Location Search data provider
You can select a data provider as the source for geocoding, reverse geocoding and searches. Each provider gathers and curates their data using different means. They may also have varying expertise in different regions of the world. The available data providers of geospatial data are shown. To learn more about data providers, please refer this location service doc.
? Specify the data provider of geospatial data for this Search Index: Esri❯ HERE
HERE
will be set as default data provider for the location search index, if you do not want to explicitly set this property.
Location Search result storage location
You can specify how the results of a search operation will be stored by the caller.
? Do you want to cache or store the results of search operations?> No
No
will be chosen as default if the developer does not want to explicitly set this property.
Refer this location service doc for more information.
Set a default Location Search Index
If you added more than one location search index via amplify add geo
, the index that was added last will be the default.
However, you can choose if the current search index should be the default one used in your application:
Set this search index as the default? It will be used in Amplify Search API calls if no explicit reference is provided.> No
Answering No
will retain the previously set default.
That's it! You can now search in your application. Follow the documentation for working with search as listed here.