Indoor Routing

Get the app source code and SDK

ArcGIS Runtime SDK for .NET
.NET app source code

Indoor Routing is an open source app project built with ArcGIS Runtime SDK designed to help your users quickly get from one indoor place to another. They can specify a home location and search for places in a building. When they've determined where they want to go, they can generate and display the most efficient route to get there.

You can git clone, configure, and immediately start developing with this app to build your own consumer-grade mapping app that allows your users to easily maneuver through a large or complex building.

Demo dataset

The capabilities of the app are demonstrated using Esri's campus data. The app loads a demonstration mobile map package containing datasets that model the campus. One of the datasets is a locator used to find employees and rooms by their number. Another is a network dataset used to generate routes between rooms of multi-floor buildings across campus.

You can make this app your own by creating and loading your own indoor datasets.


Search for places

The app comes with custom UIs to search for data contained within your indoor datasets. Your users can search a locator using a search query and see suggested results as they type. Tapping a search result geocodes the result into a location and marks that location on the map and on the corresponding floor. Users can then generate routes to their place of interest.

Generate routes

Using search results, your users can generate routes between an origin and a destination. A custom UI facilitates searching for starting and ending points and includes a button for generating a route and displaying it on the map.

Save a home location

When generating a new route, users can optionally pre-populate the starting point with a home location. A home location can be set for any location that might be frequently used as a starting point. A guided UI permits your users to search for their home location and store it to their app's preferences.

View maps with multiple floors

A rich, map-centric UI allows users to route through a map with multi-floor datasets. This custom UI allows your users to view floor plans for every floor by selecting a floor number from a picker. Users can generate routes between floors, helping them get to where they want to go within a complex building.

Make this app yours

The supplied dataset is for demonstration purposes. To customize this app, create a mobile package using your own indoor datasets. Instructions on how to do this using ArcGIS Pro are noted below.

Get started

In ArcGIS Pro

  1. Create a basemap. (Creating a vector tile package is your best option.)
  2. Create feature layers representing building rooms and walls. (If available to you, CAD data can be converted to feature classes in ArcGIS Pro.)
  3. Create a network dataset with your data.
  4. Create a locator with your data.
  5. Create a mobile map package and upload it to your portal.

From your developer dashboard

  1. Register your app, which creates a unique client ID, on your developer dashboard.

In your local environment

  1. Download and install ArcGIS Runtime SDK for .NET.
  2. Download the .NET app source code.
  3. Configure the app source code with the registered app client ID and your mobile map package in portal.

Read the documentation

The Indoor Routing app repository source code maintains comprehensive documentation. Consult the documentation to learn about the app's architecture, interface, configuration, ArcGIS development patterns, and licenses. See the docs/ file in the app repository for more information.