Software Engineer at Student
Needs advice
on
FirebaseFirebaseFlutterFlutter
and
Google MapsGoogle Maps

Problem: Many geolocation apps are here mostly used in the mall for navigating which thing is present at what corner, for example, there is a mall i.e. CSD and we went there and it is too huge to find our desirable thing 馃 (let's consider you want to find Shampoo) so in the first go, you don't know where it is, so you ask any worker there or sometimes asking from any other customer. So, it looks weird 馃.

Solution: Creating a navigation app for your store which will ease our understanding of knowing things where they are placed in a mall馃槻. Like if I want to find a shampoo it will look up for me where it lies. How does it work? It? It will pop up a search bar for me as I open the app and ask permission for camera and location (GPS) and then will ask to point the camera straight to the corridor and navigation arrows come up using the real-time camera. Like an arrow pointing in a corridor to move right after 2 meters, and showing you are almost near to it showing the exact distance from the item cage. 馃挭. @MyThinking: Creating an app for my university having following features*: Excellent Ui/Ux Will navigate any app user to its class instead of checking manually in the timetable or physically. (this feature is for all i.e. Teachers, students, sta, staff, etc Will give real-time work according to timetable Wiltimetable Will give an edge to new students looking up university first time Will also have the option to navigate your teacher's office and as well a teacher to in realtime. Navigating your friend by just adding your friend details in your favourite

Any App in the Past working on the same practice: Amazon Go,

Suggest to me any technology or road map how to build this.

READ LESS
9 upvotes9.6K views
Replies (1)
Lead Solutions Engineer at Inscribe

Google Maps lets "property owners and their authorized representatives" upload indoor maps, but this appears to lack navigation ("wayfinding").

MappedIn is a platform and has SDKs for building indoor mapping experiences (https://www.mappedin.com/) and ESRI ArcGIS also offers some indoor mapping tools (https://www.esri.com/en-us/arcgis/indoor-gis/overview). Finally, there used to be a company called LocusLabs that is now a part of Atrius and they were often integrated into airlines' apps to provide airport maps with wayfinding (https://atrius.com/solutions/personal-experiences/personal-wayfinder/).

I previously worked at Mapbox and while I believe that it's a great platform for building map-based experiences, they don't have any simple solutions for indoor wayfinding. If I were doing this for fun as a side-project and prioritized saving money over saving time, here is what I would do:

  • Create a graph-based dataset representing the walking paths around your university, where nodes/vertexes represent the intersections of paths, and edges represent paths (literally paths outside, hallways, short path segments that represent entering rooms). You could store this in a hosted graph-based database like Neo4j, Amazon Neptune , or Azure Cosmos DB (with its Gremlin API) and use built-in "shortest path" queries, or deploy a PostgreSQL service with pgRouting.

  • Add two properties to each edge: one property for the distance between its nodes (libraries like @turf/helpers will have a distance function if you have the latitude & longitude of each node), and another property estimating the walking time (based on the distance). Once you have these values saved in a graph-based format, you should be able to easily query and find the data representation of paths between two points.

  • At this point, you'd have the routing problem solved and it would come down to building a UI. Mapbox arguably leads the industry in developer tools for custom map experiences. You could convert your nodes/edges to GeoJSON, then either upload to Mapbox and create a Tileset to visualize the paths, or add the GeoJSON to the map on the fly.

*You might be able to use open source routing tools like OSRM (https://github.com/Project-OSRM/osrm-backend/issues/6257) or Graphhopper (instead of a custom graph database implementation), but it would likely be more involved to maintain these services.

READ MORE
7 upvotes462.9K views
Avatar of Stephen Gheysens

Stephen Gheysens

Lead Solutions Engineer at Inscribe