IndoorAtlas SDK offers this API for general purpose route planning. You can use it for multiple tasks, for example:


  • Requesting a route between any points A and B, independent on where the users current location estimate is (note: other IndoorAtlas wayfinding APIs assume the user starts navigating from the current location estimate to a single destination)
  • Planning route through a list of destination points, based on your own criteria.


For the above tasks, you likely find the methods of IARouteLeg (iOS) and IARoute.Leg (Android) useful. These are "getLength()" and "getDirection()".


// Calculate route length in meters

double routeLength = 0;
for (IARoute.Leg leg : route.getLegs()) {
  routeLength += leg.getLength();
}
return routeLength;


Android:

https://docs.indooratlas.com/android/latest/com/indooratlas/android/sdk/ialocationmanager#requestWayfindingRoute(com.indooratlas.android.sdk.resources.IALatLngFloorCompatible,com.indooratlas.android.sdk.resources.IALatLngFloorCompatible,com.indooratlas.android.sdk.IAWayfindingListener)


iOS:

https://docs.indooratlas.com/ios/latest/classes/ialocationmanager#/c:objc(cs)IALocationManager(im)requestWayfindingRouteFrom:to:callback: