UNPKG

mobility-toolbox-js

Version:

Toolbox for JavaScript applications in the domains of mobility and logistics.

47 lines (46 loc) 1.46 kB
import HttpAPI from './HttpAPI'; /** * 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 */ 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 = {}) { super(Object.assign({ url: 'https://api.geops.io/routing/v1/' }, options)); } /** * 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, config) { return this.fetch('', params, config); } } export default RoutingAPI;