Skip to main content

Router

wemap-sdk-js


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, lng: 2.3522 },
{ lat: 48.8606, lng: 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​

LatLngLike

Starting coordinates

destination​

LatLngLike

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, lng: 2.3522, alt: 0 },
{ lat: 48.8606, lng: 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`);