Developer

VisioWeb multi-floor Routes

Arrow navigation

Go back

VisioWeb multi-floor Routes

From VisioWeb 1.9.6, we made several improvements in the API to enable developers to tweak the view in the context of displaying a route.

In this particular situation, we received feedback telling us that users (especially interactive kiosks users) would appreciate seeing the whole route across all the floors that it traverses but only those ones, hence the "multi-floor routes" we introduced.

Screenshot from 2019-12-10 11-52-47

We are aware that it might be confusing so to avoid mixing this up with other concepts, whether you are an experienced VisioWeb user or a new one.

To activate this functionality, all you need to do is add a new option when instantiating the Route object, called "floorFilter".

It can take 3 different values:

  • all - default behavior, the floors are not filtered, the route is displayed as before VisioWeb 1.9.6 (see multibuilding and multifloor cases below)
Screenshot from 2019-12-06 11-10-52

   

Screenshot from 2019-12-10 12-00-02

  • involved - only the floors that are involved in the route display are shown
Screenshot from 2019-12-10 11-55-25

  • traversed - same as involved but the intermediate floors are also shown
Screenshot from 2019-12-10 11-57-07

Adjustments:

This changes the way the map is shown in many ways, so here are a few best pratices to make the most of this feature:

initialize the view

Right after calling Route#show:

go to previous/next instruction

By default, calling Navigation#displayPrevInstruction or Navigation#displayNextInstruction will animate the camera and call MultiBuildingView#goTo in floor mode.

This will break the experience proposed by the multi-floor routes, so we recommend disabling the default behavior by calling these methods with animateCamera argument as false and tailor manually how the camera should be animated when stepping through instructions.

Here is our suggestion for previous instruction:

And for next instruction:

stackGap

Depending on the view type you chose, enabling these multi-floor routes will require a larger gap between floors to better view the route.

To do that, you can override the default gap values defined for each floor by using MultiBuildingView's public property stackGap:

Don't forget to restore it to 0 (its default value) when clearing the route, to make sure the floor per floor gap values will then be used when no route is displayed: