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, 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

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, 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`);