In IndoorAtlas SDK 3.7, a new feature was added to support requesting accessible wayfinding routes. 


IAWayfindingRequest must be used to apply any tags based filtering (including build-in tags EXCLUDE_INACCESSIBLE, EXCLUDE_ACCESSIBLE_ONLY). 


Note that in the case of single-shot requests (with requestWayfindingRoute method) the tags  are only used from the destination parameter.


Note. A Perquisite for using accessible wayfinding and any other tag based wayfinding routes is to define the tags in the wayfinding graph using IndoorAtlas Web App. See Creating Wayfinding Graphs.



Accessible Wayfinding Routes


IndoorAtlas SDK contains 2 built-in tags:


  • EXCLUDE_INACCESSIBLE == use accessible i.e. wheel chair compatible routes
  • EXCLUDE_ACCESSIBLE_ONLY == avoid accessible i.e. wheel chair compatible routes (special elevators or such)


Android Example


Here's how to request continuous updates from current location to a destination using an accessible route on Android:


IAWayfindingRequest req = new IAWayfindingRequest.Builder()
  .withDestination(dst)
  .withTags(IAWayfindingTags.EXCLUDE_INACCESSIBLE)
  .build();
iaLocationManager.requestWayfindingUpdates(req, mWayfindingListener);

Here's example for the single shot request A to B :


// only tags specified in "to" i.e. destination parameter are applied
iaLocationManager.requestWayfindingRoute(from, req, listener);


iOS (Swift) Example


Here's how to request continuous updates from current location to a destination using an accessible route on iOS:


let req = IAWayfindingRequest(destination: dst, andTags: IAWayfindingTags.excludeInaccessible())
iaLocationManager.startMonitoring(forWayfinding: req)

Here's example for the single shot request A to B :


// only tags specified in "to"/destination parameter are applied
iaLocationManager.requestWayfindingRoute(from: from, to: req, callback)