mobility-toolbox-js
Version:
Toolbox for JavaScript applications in the domains of mobility and logistics.
48 lines (47 loc) • 1.54 kB
TypeScript
import HttpAPI from './HttpAPI';
import type { RoutingParameters, RoutingResponse } from '../types';
export interface RoutingAPIOptions {
apiKey?: string;
url?: string;
}
/**
* This class provides convenience methods to use to the [geOps Routing API](https://developer.geops.io/apis/routing).
*
* @example
* import { RoutingAPI } from 'mobility-toolbox-js/api';
*
* const api = new RoutingAPI({
* apiKey: [yourApiKey],
* // url: 'https://api.geops.io/routing/v1/',
* });
*
* const route = await api.route({
* via: "freiburg|basel%20sbb|bern",
* mot: "rail"
* });
*
* console.log('Log route:', JSON.stringify(route));
*
* @public
*/
declare class RoutingAPI extends HttpAPI {
/**
* Constructor
*
* @param {Object} options Options.
* @param {string} options.apiKey Access key for [geOps services](https://developer.geops.io/).
* @param {string} [options.url='https://api.geops.io/routing/v1/'] Service url.
* @public
*/
constructor(options?: RoutingAPIOptions);
/**
* Calculate a route.
*
* @param {RoutingParameters} params Request parameters. See [geOps Routing API](https://developer.geops.io/apis/routing/).
* @param {FetchOptions} config Options for the fetch request.
* @return {Promise<RoutingResponse>} An GeoJSON feature collection with coordinates in [EPSG:4326](http://epsg.io/4326).
* @public
*/
route(params: RoutingParameters, config: RequestInit): Promise<RoutingResponse>;
}
export default RoutingAPI;