NavigationInfoHandler
Computes NavigationInfo for a given user position along an itinerary.
It caches per-coordinate information from the itinerary on assignment so that each subsequent navigation-info request avoids recomputing the whole itinerary.