Router
Class: Router
Router for calculating routes and directions
Provides route calculation capabilities using the Wemap routing API. Supports multiple travel modes and returns multiple itinerary options.
Example
import { Router } from '@wemap/routing';
import { core } from '@wemap/core';
// Initialize core SDK first
await core.init({ emmid: '...', token: '...' });
// Create router and calculate route
const router = new Router();
const itineraries = await router.directions(
{ lat: 48.8566, lon: 2.3522 },
{ lat: 48.8606, lon: 2.3376 },
'WALK',
{ isWheelchair: true }
);
console.log(`Found ${itineraries.length} route options`);
Constructors
Constructor
new Router():
Router
Create a new Router instance
The router uses the multi-routers API endpoint. Make sure the Core SDK is initialized before calculating routes.
Returns
Router
Methods
directions()
directions(
origin,destination,mode,options):Promise\<Itinerary[]>
Calculate route directions between two points
Calculates one or more route options between the origin and destination using the specified travel mode. Returns multiple itinerary options sorted by preference (usually fastest first).
Parameters
origin
Starting coordinates
destination
Destination coordinates
mode
TravelMode = 'WALK'
Travel mode (e.g., 'WALK', 'BIKE', 'CAR', 'TRANSIT')
options
RouteOptions = {}
Route calculation options
Returns
Promise\<Itinerary[]>
Promise resolving to an array of itinerary options
Throws
If Core SDK is not initialized
Throws
If the route calculation fails
Example
const itineraries = await router.directions(
{ lat: 48.8566, lon: 2.3522, alt: 0 },
{ lat: 48.8606, lon: 2.3376, alt: 0 },
'WALK',
{
isWheelchair: true,
departureDate: new Date()
}
);
// Use the first (usually best) itinerary
const bestRoute = itineraries[0];
console.log(`Route distance: ${bestRoute.distance}m`);
console.log(`Route duration: ${bestRoute.duration}s`);