A project to showcase various services provided by ESRI. And to incorporate NLP to support services over voice command.
This project is built using Ionic | Angular | Capacitor.
-
Explore Tab: Contains search widget, zoom widget and custom current location button.
-
Hey ESRI Tab: Contains speech recognition feature where user can perform below tasks via voice command
- Search location: Example - Search Boulder, Search Denver, etc.
- Directions: Example - Give Me Directions From Boulder To Denver, Find Directions From Boulder To Denver, Give Me Direction From Boulder To Denver, Find Direction From Boulder To Denver
- Find nearby places: Example - Find nearby food, Find nearby gas station
- Navigate to current location: Example - My current location, Show me my current location, Give my current location
Note: text in bold must be in your speech in order for speech recognition agent to serve your request
-
Directions Tab: Contains directions wizard where user can manually enter source and destination, and get the directions.
- Current location of the user is displayed on the map with pin icon, user can click on the pin to get current address and longitude-latitude details.
- When the route is displayed on the map for directions service, user can click on the source/destination to get step-by-step navigations.
- On getting results for nearby places, user can click on each places to get the address.
App is available on
- ios devices
- Web
Note: Web version has limitations with speech recognition hence Hey ESRI tab do not work well with web version of the app.
- Install required environments
- Clone repository
git clone https://github.com/sachi097/hey-esri.git
- Update environment files
- add ArcGIS Developers api key in hey-esri/src/environments/environment.ts file and in environments.prod.ts (for production)
- For web
ionic serve
- For ios (assuming you have installed xcode and other required enviroments as per step)
ionic cap run ios --livereload --external
- Include features like current weather, weather predictions, disaster predictions.
- Integrate Natural Language Processing to enhance speech to service abilities. Currently, speech to service works over bunch of pre-defined speech patterns. Hence, NLP will eliminate pre-defined speech patterns.
- Enhance user interface and build app for android devices.
- Map - Class to create map instance with base map.
- Basemap - A basemap is a collection of layers that provide geographic context to a map or scene.
- MapView - A MapView displays a 2D view of a Map instance.
- Widget - To add show search, zoom and locator widgets on the map.
- Find Places - To find nearby places ex: food, gas station, coffee shop, hotel, and etc.
- Reverse Geocoding - To convert point [longitude, latitude] to address or place.
- MarkerSymbol - Used to draw Point graphics in a FeatureLayer or individual graphics in a 2D MapView.
- MarkerSymbol Samples - Portal to explore available ESRI marker symbols.
- ArcGIS Maps SDK for JS - ArcGIS API for JavaScript, is a developer product for building mapping and spatial analysis applications for the web.
Please feel free to drop questions, comments and raise issues. You are welcome to create PRs.