At the "JAWS PANKRATION 2021" held recently, I made a presentation titled "Comparison of Building Amazon Location Service and Amplify Geo". I summarized the information up to December 2021 about Amplify Geo and Amazon Location Service, which I have been researching a lot this year 💡
The Amazon Location Service is a service for building location-based applications used within AWS. Currently, five functions are available: map display, address search, route search, geofence, and tracking.
Amplify Geo is a feature of AWS Amplify that allows you to build Amazon Location Service easier, and is a wrapper that automatically configures Amazon Location Service.
We built a web application in our internal hackathon to check out the actual function, and anyone can use it just by registering as a user, so please try it out. We are building our own Japanese style of background map, which is not currently supported by Amazon Location Service, and implementing each function in conjunction with the map library.
In advance, we will set up AWS Amplify and Vue.js up to the login function. We have chosen Vue.js as the framework, but it is possible to build with other frameworks such as React.
Map View is a feature that allows you to use a variety of background maps by selecting a map style.
The Amazon Location Service allows you to define map styles and credentials, but does not provide the ability to define maps, so it uses a map library called MapLibre GL JS. You will also need to configure Amazon Location Maps in the AWS console and add policies to the Amplify role.
When building with Amplify Geo, you will only need two commands to complete the process. Then use MapLibre and the wrapper library when building the frontend. By using the wrapper library, you can easily display the background map. Also, markers can be added easily.
↓ More info ↓
Building a Map Application with Amplify Geo and Vue.js
Geocoding is a feature that allows you to retrieve the corresponding address data by specifying keywords.
The Amazon Location Service requires the use of the AWS SDK when building the frontend. You will also need to configure Amazon Location Place indexes and add policies to the Amplify role in the AWS console.
When building with Amplify Geo, as with the map display, you only need two commands to complete. And you can use the geocoding function from Amplify to get the address data when building the frontend.
↓ More info ↓
Building an Address Search Function with Amplify Geo
Routing is a function that allows you to obtain route data by specifying the starting point and destination.
The Amazon Location Service requires the use of the AWS SDK when building the frontend. You will also need to configure Amazon Location Route calculators and add policies to the Amplify role in the AWS console.
As of December 2021, the routing function does not appear to be implemented yet.
Wanna build it easily? - "Amplify Geo"
- Easier to build than Amazon Location Service
- No need to configure AWS console and roles
- Some functions, such as routing, are still not available
Want your own customization? - "Amazon Location Service"
- More challenging to build than Amplify Geo
- Need to set up AWS console and roles
- Available to customize directly using MapLibre GL JS
I'll continue to explore other features as well 👍