/** * Service to provide access to a * [Open Source Routing Machine (OSRM) backend](https://github.com/Project-OSRM/osrm-backend) * of version 5.8 and higher and its features. * * @param {angular.IHttpService} $http Angular http service. * @param {import('ngeo/options').ngeoRoutingOptions} ngeoRoutingOptions The options. * @class * @ngdoc service * @ngname ngeoRoutingService * @hidden */ export function RoutingService($http: angular.IHttpService, ngeoRoutingOptions: import("ngeo/options").ngeoRoutingOptions): void; export class RoutingService { /** * Service to provide access to a * [Open Source Routing Machine (OSRM) backend](https://github.com/Project-OSRM/osrm-backend) * of version 5.8 and higher and its features. * * @param {angular.IHttpService} $http Angular http service. * @param {import('ngeo/options').ngeoRoutingOptions} ngeoRoutingOptions The options. * @class * @ngdoc service * @ngname ngeoRoutingService * @hidden */ constructor($http: angular.IHttpService, ngeoRoutingOptions: import("ngeo/options").ngeoRoutingOptions); /** * @type {angular.IHttpService} */ $http_: angular.IHttpService; /** * @type {import('ngeo/options').ngeoRoutingOptions} */ routingOptions_: import("ngeo/options").ngeoRoutingOptions; /** * URL for OSRM backend API. * Defaults to demo backend. * * @type {string} */ ngeoOsrmBackendUrl_: string; /** * Version of the protocol implemented by the service. * see: https://github.com/Project-OSRM/osrm-backend/blob/master/docs/http.md * * @type {string} */ protocolVersion_: string; /** * @typedef {Object} Config * @property {string} [service] * @property {string} [profile] * @property {string} [instance] * @property {Object} [options] */ /** * @typedef {Object} Routes * @property {Route[]} routes */ /** * @typedef {Object} Route * @property {Leg[]} [legs] * @property {string} [geometry] * @property {number} distance * @property {number} duration */ /** * @typedef {Object} Leg * @property {Step[]} steps */ /** * @typedef {Object} Step * @property {string} geometry */ /** * Route request * * @param {import('ol/coordinate').Coordinate[]} coordinates coordinates of the route (at least two!) * @param {?Config} config optional configuration * @returns {angular.IHttpPromise} promise of the OSRM API request */ getRoute(coordinates: import("ol/coordinate").Coordinate[], config: Config | null): angular.IHttpPromise; /** * Snaps a coordinate to the street network and returns the nearest match * * @param {import('ol/coordinate').Coordinate} coordinate coordinate to query * @param {?Config} config optional configuration * @returns {angular.IHttpPromise} promise of the OSRM API request * @see https://github.com/Project-OSRM/osrm-backend/blob/master/docs/http.md#nearest-service */ getNearest(coordinate: import("ol/coordinate").Coordinate, config: Config | null): angular.IHttpPromise; } export namespace RoutingService { let $inject: string[]; } export default myModule; export type Config = { service?: string; profile?: string; instance?: string; options?: { [x: string]: string | boolean; }; }; export type Routes = { routes: Route[]; }; export type Route = { legs?: Leg[]; geometry?: string; distance: number; duration: number; }; export type Leg = { steps: Step[]; }; export type Step = { geometry: string; }; import angular from 'angular'; /** * @type {angular.IModule} * @hidden */ declare const myModule: angular.IModule;