UNPKG

libre-routing

Version:

This library was generated with [Nx](https://nx.dev).

94 lines (93 loc) 3.69 kB
import { FitBoundsOptions, IControl, Map } from 'maplibre-gl'; import { LibreRoutingDataProvider, LibreRoutingDataResponse } from './providers'; import { LibreRoutingPlugin } from './plugins'; export declare type LngLatPosition = [number, number]; export declare type InternalWaypoint = { originalPos: LngLatPosition; mappedPos?: LngLatPosition; properties?: Record<string, string | boolean | number>; }; export declare type Waypoint = { position: LngLatPosition; properties?: Record<string, string | boolean | number>; }; declare type LibreRoutingOptions = { dataProvider: LibreRoutingDataProvider; alternatives: number; skipAlternativesOnMultipleWaypoint: boolean; firstRouteCenter: boolean; plugins: Array<LibreRoutingPlugin | (new (...args: any[]) => LibreRoutingPlugin)>; routeSourceId: string; waypointsSourceId: string; uniqueKey?: string; }; export declare type LibreRoutingEvents = 'routesCalculated' | 'mainRouteCalculated' | 'waypointsChanged' | 'waypointChanged' | 'waypointDirtyChanged' | 'waypointAdded' | 'routeSelected' | 'routeError' | 'calculationStarted' | 'clearMap' | 'calculatePending'; export declare const resolveOptions: (options: LibreRoutingOptions) => { routeSourceId: string; waypointsSourceId: string; dataProvider: LibreRoutingDataProvider; alternatives: number; skipAlternativesOnMultipleWaypoint: boolean; firstRouteCenter: boolean; plugins: (LibreRoutingPlugin | (new (...args: any[]) => LibreRoutingPlugin))[]; uniqueKey?: string; }; export declare class LibreRouting<R extends LibreRoutingDataResponse = LibreRoutingDataResponse> implements IControl { private _map; private _options; private _selectedRouteId?; private dispatcher; private _data; private _waypoints; get map(): Map; get options(): LibreRoutingOptions; get data(): R; get selectedRouteId(): number | undefined; private set waypoints(value); private get waypoints(); constructor(options: Partial<LibreRoutingOptions>); onAdd(map: Map): HTMLDivElement; onRemove(): void; setWaypoints(waypoints: Waypoint[], opts?: { emitEvent: boolean; }): void; addWaypoint(waypoint: Waypoint, index: number, mappedPos?: LngLatPosition, opts?: { emitEvent: boolean; }): void; updateWaypoint(waypoint: Waypoint, index: number, mappedPos?: LngLatPosition, opts?: { emitEvent: boolean; }): boolean; removeWaypoint(index: number, opts?: { emitEvent: boolean; }): void; getWaypoint(waypointId: number): InternalWaypoint; recalculateRoute({ skipCenter, clearMap, dropPendingRequests, dragMode, }?: { skipCenter?: boolean; clearMap?: boolean; dropPendingRequests?: boolean; dragMode?: boolean; }): Promise<R | undefined>; zoomToData(opts?: FitBoundsOptions): void; on(...args: [LibreRoutingEvents, (...args: any[]) => void | Promise<void>]): void; off(...args: [LibreRoutingEvents, (...args: any[]) => void | Promise<void>]): void; enable(): void; disable(): void; selectRoute(routeId: number): void; showAllRoutes(): void; clearMap(): void; getUniqueName(name: string): string; syncWaypointsPositions(opts?: { emitEvent: boolean; }): void; emitWaypointsChanged(): void; emitWaypointChanged(waypointId: number): void; emitWaypointDirtyChanged(waypointId: number): void; emitWaypointAdded(waypointId: number): void; private updateWaypointsSource; private initPlugins; private detachPlugins; private setupMapSources; private resolvePlugin; private setSource; } export {};