Search code examples
javascriptdictionarygeolocationindoor-positioning-system

Indoor Map in intranet (JavaScript)


My company wants to provide an indoor navigation solution. We have the hardware and can provide the location data. To not have to write our own map, routing, navigation solution, I would like to use an existing indor map solution. My biggest concern is, that the venues that will use our software, will be cut off from the internet and operate inside it's own intranet. Which means our software can not access indoor maps that are hosted in some cloud.

Here are the requirements to such a solution:

  • Work offline in an intranet with it's own server
  • Create maps without a lot of hassle manually or automatically
  • Dynamically (via data from server) show points of interests
  • Interact with points of interest (onclick, ...)
  • Navigate to points of interest (if user location is provided, on phone for example)

I did some research and so far I found those services, which might provide what we are looking for (haven't really figured everything out in detail):

https://www.mapspeople.com/

https://www.mapwize.io/

https://www.deep-map.com/

https://steerpath.com/

https://www.mapbox.com/

Does anybody have experience with this topic? Did you use, know of any library, framework, service that could provide us such a solution? Does a solution on top of OpenStreetMaps exist?

Every hint is welcome!

Thanks in advance


Solution

  • So we found our solution: Open Map Tiles. It provides you with a free Server, that you can run on premise, via Docker for example. They also provide map data, which costs money for enterprise use though. It is affordable though: In our case, we needed only the map of Germany, it was 110 USD.

    The Server of OMT is build on Tile Server GL, which is free and OS and can work with map data other than the one provided by OMT.

    Both servers can provide map and styling information needed by mapbox GL, which is a good library for bringing maps, especially vector maps, to the browser.

    Creation of indoor maps is not really taken care of in an elegant way. You can use mapbox gls geojson layer, to create vector map of geojson data. Here is an example, including extrusion. The 3D feature is pretty limited though. But because mapbox gl uses webgl and provides a plugin system, that's something that could be solved.

    I hope this helped you and anybody who is looking into this topic.