mobility-toolbox-js 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/RealtimeAPI.d.ts +279 -0
- package/api/RealtimeAPI.d.ts.map +1 -0
- package/api/RealtimeAPI.js +466 -0
- package/api/RoutingAPI.d.ts +37 -0
- package/api/RoutingAPI.d.ts.map +1 -0
- package/api/RoutingAPI.js +35 -0
- package/api/StopsAPI.d.ts +38 -0
- package/api/StopsAPI.d.ts.map +1 -0
- package/api/StopsAPI.js +36 -0
- package/api/index.d.ts +4 -0
- package/api/index.d.ts.map +1 -0
- package/api/index.js +3 -3
- package/api/typedefs.d.ts +179 -0
- package/api/typedefs.d.ts.map +1 -0
- package/api/{tralis/typedefs.js → typedefs.js} +4 -10
- package/common/api/HttpAPI.d.ts +31 -0
- package/common/api/HttpAPI.d.ts.map +1 -0
- package/common/api/HttpAPI.js +57 -0
- package/common/api/WebSocketAPI.d.ts +153 -0
- package/common/api/WebSocketAPI.d.ts.map +1 -0
- package/common/api/WebSocketAPI.js +341 -0
- package/common/controls/ControlCommon.d.ts +76 -0
- package/common/controls/ControlCommon.d.ts.map +1 -0
- package/common/controls/ControlCommon.js +150 -0
- package/common/controls/CopyrightControlCommon.d.ts +13 -0
- package/common/controls/CopyrightControlCommon.d.ts.map +1 -0
- package/common/controls/CopyrightControlCommon.js +34 -0
- package/common/controls/StopFinderControlCommon.d.ts +55 -0
- package/common/controls/StopFinderControlCommon.d.ts.map +1 -0
- package/common/controls/StopFinderControlCommon.js +144 -0
- package/common/index.d.ts +3 -0
- package/common/index.d.ts.map +1 -0
- package/common/index.js +2 -0
- package/common/layers/LayerCommon.d.ts +94 -0
- package/common/layers/LayerCommon.d.ts.map +1 -0
- package/common/layers/LayerCommon.js +244 -0
- package/common/mixins/RealtimeLayerMixin.d.ts +286 -0
- package/common/mixins/RealtimeLayerMixin.d.ts.map +1 -0
- package/common/mixins/RealtimeLayerMixin.js +776 -0
- package/common/mixins/UserInteractionsLayerMixin.d.ts +60 -0
- package/common/mixins/UserInteractionsLayerMixin.d.ts.map +1 -0
- package/common/mixins/UserInteractionsLayerMixin.js +241 -0
- package/common/styles/index.d.ts +5 -0
- package/common/styles/index.d.ts.map +1 -0
- package/common/styles/index.js +4 -4
- package/common/styles/realtimeDefaultStyle.d.ts +36 -0
- package/common/styles/realtimeDefaultStyle.d.ts.map +1 -0
- package/common/styles/realtimeDefaultStyle.js +275 -0
- package/common/styles/{trackerDelayStyle.js → realtimeDelayStyle.d.ts} +4 -9
- package/common/styles/realtimeDelayStyle.d.ts.map +1 -0
- package/common/styles/realtimeDelayStyle.js +13 -0
- package/common/styles/realtimeHeadingStyle.d.ts +12 -0
- package/common/styles/realtimeHeadingStyle.d.ts.map +1 -0
- package/common/styles/realtimeHeadingStyle.js +85 -0
- package/common/styles/realtimeSimpleStyle.d.ts +4 -0
- package/common/styles/realtimeSimpleStyle.d.ts.map +1 -0
- package/common/styles/realtimeSimpleStyle.js +23 -0
- package/common/typedefs.d.ts +111 -0
- package/common/typedefs.d.ts.map +1 -0
- package/common/typedefs.js +35 -6
- package/common/utils/compareDepartures.d.ts +11 -0
- package/common/utils/compareDepartures.d.ts.map +1 -0
- package/common/utils/compareDepartures.js +35 -0
- package/common/utils/createCanvas.d.ts +10 -0
- package/common/utils/createCanvas.d.ts.map +1 -0
- package/common/utils/createCanvas.js +27 -0
- package/common/utils/createRealtimeFilters.d.ts +13 -0
- package/common/utils/createRealtimeFilters.d.ts.map +1 -0
- package/common/utils/createRealtimeFilters.js +74 -0
- package/common/utils/debounceDeparturesMessages.d.ts +12 -0
- package/common/utils/debounceDeparturesMessages.d.ts.map +1 -0
- package/common/utils/debounceDeparturesMessages.js +24 -0
- package/common/utils/debounceWebsocketMessages.d.ts +11 -0
- package/common/utils/debounceWebsocketMessages.d.ts.map +1 -0
- package/common/utils/debounceWebsocketMessages.js +29 -0
- package/common/utils/getLayersAsFlatArray.d.ts +3 -0
- package/common/utils/getLayersAsFlatArray.d.ts.map +1 -0
- package/common/utils/getLayersAsFlatArray.js +15 -0
- package/common/utils/getMapboxMapCopyrights.d.ts +18 -0
- package/common/utils/getMapboxMapCopyrights.d.ts.map +1 -0
- package/common/utils/getMapboxMapCopyrights.js +21 -23
- package/common/utils/getMapboxRender.d.ts +7 -0
- package/common/utils/getMapboxRender.d.ts.map +1 -0
- package/common/utils/getMapboxRender.js +87 -0
- package/common/utils/getMaplibreRender.d.ts +7 -0
- package/common/utils/getMaplibreRender.d.ts.map +1 -0
- package/common/utils/getMaplibreRender.js +38 -0
- package/common/utils/getRealtimeModeSuffix.d.ts +10 -0
- package/common/utils/getRealtimeModeSuffix.d.ts.map +1 -0
- package/common/utils/getRealtimeModeSuffix.js +7 -0
- package/common/utils/getUrlWithParams.d.ts +9 -0
- package/common/utils/getUrlWithParams.d.ts.map +1 -0
- package/common/utils/getUrlWithParams.js +18 -0
- package/common/utils/getVehiclePosition.d.ts +16 -0
- package/common/utils/getVehiclePosition.d.ts.map +1 -0
- package/common/utils/getVehiclePosition.js +60 -60
- package/common/utils/index.d.ts +17 -0
- package/common/utils/index.d.ts.map +1 -0
- package/common/utils/index.js +13 -2
- package/common/utils/realtimeConfig.d.ts +49 -0
- package/common/utils/realtimeConfig.d.ts.map +1 -0
- package/common/utils/realtimeConfig.js +173 -0
- package/common/utils/removeDuplicate.d.ts +10 -0
- package/common/utils/removeDuplicate.d.ts.map +1 -0
- package/common/utils/removeDuplicate.js +5 -12
- package/common/utils/renderTrajectories.d.ts +17 -0
- package/common/utils/renderTrajectories.d.ts.map +1 -0
- package/common/utils/renderTrajectories.js +110 -0
- package/common/utils/sortAndFilterDepartures.d.ts +16 -0
- package/common/utils/sortAndFilterDepartures.d.ts.map +1 -0
- package/common/utils/sortAndFilterDepartures.js +58 -0
- package/common/utils/sortByDelay.d.ts +3 -0
- package/common/utils/sortByDelay.d.ts.map +1 -0
- package/common/utils/sortByDelay.js +17 -20
- package/common/utils/timeUtils.d.ts +24 -0
- package/common/utils/timeUtils.d.ts.map +1 -0
- package/common/utils/timeUtils.js +13 -18
- package/iife.d.ts +3 -0
- package/iife.d.ts.map +1 -0
- package/iife.js +5 -0
- package/index.d.ts +10 -0
- package/index.d.ts.map +1 -0
- package/index.js +10 -2
- package/mapbox/controls/CopyrightControl.d.ts +29 -0
- package/mapbox/controls/CopyrightControl.d.ts.map +1 -0
- package/mapbox/controls/CopyrightControl.js +25 -35
- package/mapbox/controls/index.d.ts +2 -0
- package/mapbox/controls/index.d.ts.map +1 -0
- package/mapbox/controls/index.js +2 -0
- package/mapbox/index.d.ts +6 -0
- package/mapbox/index.d.ts.map +1 -0
- package/mapbox/index.js +5 -3
- package/mapbox/layers/Layer.d.ts +59 -0
- package/mapbox/layers/Layer.d.ts.map +1 -0
- package/mapbox/layers/Layer.js +78 -95
- package/mapbox/layers/RealtimeLayer.d.ts +181 -0
- package/mapbox/layers/RealtimeLayer.d.ts.map +1 -0
- package/mapbox/layers/RealtimeLayer.js +276 -0
- package/mapbox/layers/index.d.ts +3 -0
- package/mapbox/layers/index.d.ts.map +1 -0
- package/mapbox/layers/index.js +2 -0
- package/mapbox/utils/getMercatorResolution.d.ts +9 -0
- package/mapbox/utils/getMercatorResolution.d.ts.map +1 -0
- package/mapbox/utils/getMercatorResolution.js +18 -0
- package/mapbox/utils/getSourceCoordinates.d.ts +9 -0
- package/mapbox/utils/getSourceCoordinates.d.ts.map +1 -0
- package/mapbox/utils/getSourceCoordinates.js +27 -0
- package/mapbox/utils/index.d.ts +3 -0
- package/mapbox/utils/index.d.ts.map +1 -0
- package/mapbox/utils/index.js +2 -0
- package/mbt.js +60005 -0
- package/mbt.js.map +7 -0
- package/mbt.min.js +1084 -0
- package/mbt.min.js.map +7 -0
- package/ol/controls/CopyrightControl.d.ts +31 -0
- package/ol/controls/CopyrightControl.d.ts.map +1 -0
- package/ol/controls/CopyrightControl.js +44 -56
- package/ol/controls/RoutingControl.d.ts +193 -0
- package/ol/controls/RoutingControl.d.ts.map +1 -0
- package/ol/controls/RoutingControl.js +546 -667
- package/ol/controls/StopFinderControl.d.ts +30 -0
- package/ol/controls/StopFinderControl.d.ts.map +1 -0
- package/ol/controls/StopFinderControl.js +10 -16
- package/ol/controls/index.d.ts +4 -0
- package/ol/controls/index.d.ts.map +1 -0
- package/ol/controls/index.js +3 -0
- package/ol/index.d.ts +6 -0
- package/ol/index.d.ts.map +1 -0
- package/ol/index.js +4 -12
- package/ol/layers/Layer.d.ts +86 -0
- package/ol/layers/Layer.d.ts.map +1 -0
- package/ol/layers/Layer.js +147 -166
- package/ol/layers/MapGlLayer.d.ts +67 -0
- package/ol/layers/MapGlLayer.d.ts.map +1 -0
- package/ol/layers/MapGlLayer.js +218 -0
- package/ol/layers/MapboxLayer.d.ts +50 -0
- package/ol/layers/MapboxLayer.d.ts.map +1 -0
- package/ol/layers/MapboxLayer.js +79 -348
- package/ol/layers/MapboxStyleLayer.d.ts +129 -0
- package/ol/layers/MapboxStyleLayer.d.ts.map +1 -0
- package/ol/layers/MapboxStyleLayer.js +329 -368
- package/ol/layers/MaplibreLayer.d.ts +28 -0
- package/ol/layers/MaplibreLayer.d.ts.map +1 -0
- package/ol/layers/MaplibreLayer.js +13 -259
- package/ol/layers/RealtimeLayer.d.ts +202 -0
- package/ol/layers/RealtimeLayer.d.ts.map +1 -0
- package/ol/layers/RealtimeLayer.js +340 -0
- package/ol/layers/RoutingLayer.d.ts +34 -0
- package/ol/layers/RoutingLayer.d.ts.map +1 -0
- package/ol/layers/RoutingLayer.js +62 -68
- package/ol/layers/VectorLayer.d.ts +25 -0
- package/ol/layers/VectorLayer.d.ts.map +1 -0
- package/ol/layers/VectorLayer.js +27 -32
- package/ol/layers/WMSLayer.d.ts +42 -0
- package/ol/layers/WMSLayer.d.ts.map +1 -0
- package/ol/layers/WMSLayer.js +74 -66
- package/ol/layers/index.d.ts +9 -0
- package/ol/layers/index.d.ts.map +1 -0
- package/ol/layers/index.js +8 -0
- package/ol/styles/fullTrajectoryDelayStyle.d.ts +4 -0
- package/ol/styles/fullTrajectoryDelayStyle.d.ts.map +1 -0
- package/ol/styles/fullTrajectoryDelayStyle.js +23 -25
- package/ol/styles/fullTrajectoryStyle.d.ts +5 -0
- package/ol/styles/fullTrajectoryStyle.d.ts.map +1 -0
- package/ol/styles/fullTrajectoryStyle.js +37 -44
- package/ol/styles/index.d.ts +3 -0
- package/ol/styles/index.d.ts.map +1 -0
- package/package.json +98 -177
- package/setupTests.d.ts +2 -0
- package/setupTests.d.ts.map +1 -0
- package/setupTests.js +26 -0
- package/types/common.d.ts +122 -0
- package/types/index.d.ts +11 -0
- package/types/realtime.d.ts +320 -0
- package/types/routing.d.ts +206 -0
- package/types/stops.d.ts +143 -0
- package/README.md +0 -23
- package/api/routing/RoutingAPI.js +0 -44
- package/api/routing/RoutingAPI.test.js +0 -41
- package/api/stops/StopsAPI.js +0 -41
- package/api/stops/StopsAPI.test.js +0 -34
- package/api/tralis/TralisAPI.js +0 -731
- package/api/tralis/TralisAPI.test.js +0 -75
- package/api/tralis/TralisAPIUtils.js +0 -73
- package/api/tralis/WebSocketConnector.js +0 -338
- package/api/tralis/WebSocketConnector.test.js +0 -356
- package/common/Tracker.js +0 -197
- package/common/api/api.js +0 -64
- package/common/api/api.test.js +0 -68
- package/common/controls/Control.js +0 -146
- package/common/controls/Control.test.js +0 -98
- package/common/layers/Layer.js +0 -404
- package/common/layers/Layer.test.js +0 -585
- package/common/mixins/CopyrightMixin.js +0 -48
- package/common/mixins/SearchMixin.js +0 -176
- package/common/mixins/TralisLayerMixin.js +0 -930
- package/common/styles/trackerDefaultStyle.js +0 -333
- package/common/styles/trackerSimpleStyle.js +0 -22
- package/common/trackerConfig.js +0 -190
- package/common/trackerConfig.test.js +0 -25
- package/common/utils/createTrackerFilters.js +0 -87
- package/common/utils/createTrackerFilters.test.js +0 -95
- package/common/utils/getMapboxMapCopyrights.test.js +0 -47
- package/common/utils/getMapboxStyleUrl.js +0 -32
- package/common/utils/removeDuplicate.test.js +0 -22
- package/common/utils/timeUtils.test.js +0 -16
- package/index.js.map +0 -1
- package/mapbox/layers/Layer.test.js +0 -202
- package/mapbox/layers/TralisLayer.js +0 -329
- package/mapbox/layers/TralisLayer.test.js +0 -40
- package/mapbox/utils.js +0 -46
- package/module.js +0 -23
- package/ol/README.md +0 -0
- package/ol/controls/CopyrightControl.test.js +0 -211
- package/ol/controls/RoutingControl.test.js +0 -216
- package/ol/controls/StopFinderControl.test.js +0 -59
- package/ol/controls/snapshots/RoutingControlRouteGen10.json +0 -58
- package/ol/controls/snapshots/RoutingControlRouteGen100.json +0 -292
- package/ol/controls/snapshots/RoutingControlRouteGen30.json +0 -69
- package/ol/controls/snapshots/RoutingControlRouteGen5.json +0 -58
- package/ol/controls/snapshots/RoutingControlRouteOSM.json +0 -759
- package/ol/controls/snapshots/RoutingControlStation1.json +0 -60
- package/ol/controls/snapshots/RoutingControlStation2.json +0 -49
- package/ol/layers/Layer.test.js +0 -197
- package/ol/layers/MapboxLayer.test.js +0 -186
- package/ol/layers/MapboxStyleLayer.test.js +0 -262
- package/ol/layers/RoutingLayer.test.js +0 -49
- package/ol/layers/TralisLayer.js +0 -359
- package/ol/layers/TralisLayer.test.js +0 -97
- package/ol/layers/VectorLayer.test.js +0 -98
- package/ol/layers/WMSLayer.test.js +0 -84
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { MapEvent } from 'ol';
|
|
2
|
+
import type { FrameState } from 'ol/Map';
|
|
3
|
+
import CopyrightControlCommon from '../../common/controls/CopyrightControlCommon';
|
|
4
|
+
/**
|
|
5
|
+
* Display layer's copyrights.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* import { Map } from 'ol';
|
|
9
|
+
* import { CopyrightControl } from 'mobility-toolbox-js/ol';
|
|
10
|
+
*
|
|
11
|
+
* const map = new Map({
|
|
12
|
+
* target: 'map',
|
|
13
|
+
* });
|
|
14
|
+
* const control = new CopyrightControl();
|
|
15
|
+
* control.attachToMap(map)
|
|
16
|
+
*
|
|
17
|
+
*
|
|
18
|
+
* @see <a href="/example/ol-copyright">Openlayers copyright example</a>
|
|
19
|
+
*
|
|
20
|
+
* @extends {CopyrightControlCommon}
|
|
21
|
+
*/
|
|
22
|
+
declare class CopyrightControl extends CopyrightControlCommon {
|
|
23
|
+
frameState?: FrameState;
|
|
24
|
+
constructor(options: any);
|
|
25
|
+
getCopyrights(): any[];
|
|
26
|
+
activate(): void;
|
|
27
|
+
deactivate(): void;
|
|
28
|
+
onPostRender(evt: MapEvent): void;
|
|
29
|
+
}
|
|
30
|
+
export default CopyrightControl;
|
|
31
|
+
//# sourceMappingURL=CopyrightControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CopyrightControl.d.ts","sourceRoot":"","sources":["../../../src/ol/controls/CopyrightControl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAE9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,sBAAsB,MAAM,8CAA8C,CAAC;AAGlF;;;;;;;;;;;;;;;;;GAiBG;AACH,cAAM,gBAAiB,SAAQ,sBAAsB;IACnD,UAAU,CAAC,EAAE,UAAU,CAAC;gBAEZ,OAAO,EAAE,GAAG;IAKxB,aAAa;IAyBb,QAAQ;IAOR,UAAU;IAMV,YAAY,CAAC,GAAG,EAAE,QAAQ;CAS3B;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { inView } from 'ol/layer/Layer';
|
|
2
|
-
import
|
|
3
|
-
import mixin from '../../common/mixins/CopyrightMixin';
|
|
2
|
+
import CopyrightControlCommon from '../../common/controls/CopyrightControlCommon';
|
|
4
3
|
import removeDuplicate from '../../common/utils/removeDuplicate';
|
|
5
|
-
|
|
6
4
|
/**
|
|
7
5
|
* Display layer's copyrights.
|
|
8
6
|
*
|
|
@@ -14,67 +12,57 @@ import removeDuplicate from '../../common/utils/removeDuplicate';
|
|
|
14
12
|
* target: 'map',
|
|
15
13
|
* });
|
|
16
14
|
* const control = new CopyrightControl();
|
|
17
|
-
* control.map
|
|
15
|
+
* control.attachToMap(map)
|
|
18
16
|
*
|
|
19
17
|
*
|
|
20
18
|
* @see <a href="/example/ol-copyright">Openlayers copyright example</a>
|
|
21
19
|
*
|
|
22
|
-
* @extends {
|
|
23
|
-
* @implements {CopyrightInterface}
|
|
20
|
+
* @extends {CopyrightControlCommon}
|
|
24
21
|
*/
|
|
25
|
-
class CopyrightControl extends
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
getCopyrights() {
|
|
32
|
-
if (!this.frameState) {
|
|
33
|
-
return [];
|
|
22
|
+
class CopyrightControl extends CopyrightControlCommon {
|
|
23
|
+
constructor(options) {
|
|
24
|
+
super(options);
|
|
25
|
+
this.onPostRender = this.onPostRender.bind(this);
|
|
34
26
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
activate() {
|
|
56
|
-
super.activate();
|
|
57
|
-
if (this.map) {
|
|
58
|
-
this.map.on('postrender', this.onPostRender);
|
|
27
|
+
getCopyrights() {
|
|
28
|
+
var _a;
|
|
29
|
+
if (!this.frameState) {
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
let copyrights = [];
|
|
33
|
+
// This code loop comes mainly from ol.
|
|
34
|
+
(_a = this.frameState) === null || _a === void 0 ? void 0 : _a.layerStatesArray.forEach((layerState) => {
|
|
35
|
+
const { layer } = layerState;
|
|
36
|
+
if (this.frameState &&
|
|
37
|
+
inView(layerState, this.frameState.viewState) &&
|
|
38
|
+
layer &&
|
|
39
|
+
layer.getSource &&
|
|
40
|
+
layer.getSource() &&
|
|
41
|
+
layer.getSource().getAttributions()) {
|
|
42
|
+
copyrights = copyrights.concat(layer.getSource().getAttributions()(this.frameState));
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
return removeDuplicate(copyrights);
|
|
59
46
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
47
|
+
activate() {
|
|
48
|
+
super.activate();
|
|
49
|
+
if (this.map) {
|
|
50
|
+
this.map.on('postrender', this.onPostRender);
|
|
51
|
+
}
|
|
65
52
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
53
|
+
deactivate() {
|
|
54
|
+
if (this.map) {
|
|
55
|
+
this.map.un('postrender', this.onPostRender);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
onPostRender(evt) {
|
|
59
|
+
if (this.map && this.element) {
|
|
60
|
+
/**
|
|
61
|
+
* @ignore
|
|
62
|
+
*/
|
|
63
|
+
this.frameState = evt.frameState || undefined;
|
|
64
|
+
this.render();
|
|
65
|
+
}
|
|
76
66
|
}
|
|
77
|
-
}
|
|
78
67
|
}
|
|
79
|
-
|
|
80
68
|
export default CopyrightControl;
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { Feature } from 'ol';
|
|
2
|
+
import type { Map, MapBrowserEvent } from 'ol';
|
|
3
|
+
import { Geometry, LineString, Point } from 'ol/geom';
|
|
4
|
+
import { Modify } from 'ol/interaction';
|
|
5
|
+
import { GeoJSON } from 'ol/format';
|
|
6
|
+
import type { Coordinate } from 'ol/coordinate';
|
|
7
|
+
import type { StyleLike } from 'ol/style/Style';
|
|
8
|
+
import { EventsKey } from 'ol/events';
|
|
9
|
+
import { ModifyEvent } from 'ol/interaction/Modify';
|
|
10
|
+
import { RoutingAPI } from '../../api';
|
|
11
|
+
import ControlCommon from '../../common/controls/ControlCommon';
|
|
12
|
+
import type { ControlCommonOptions } from '../../common/controls/ControlCommon';
|
|
13
|
+
import RoutingLayer from '../layers/RoutingLayer';
|
|
14
|
+
import type { RoutingGraph, RoutingMot, RoutingParameters, RoutingViaPoint } from '../../types';
|
|
15
|
+
export type RoutingControlOptions = ControlCommonOptions & {
|
|
16
|
+
apiKey?: string;
|
|
17
|
+
stopsApiKey?: string;
|
|
18
|
+
stopsApiUrl?: string;
|
|
19
|
+
routingLayer?: RoutingLayer;
|
|
20
|
+
graphs?: RoutingGraph[];
|
|
21
|
+
mot?: string;
|
|
22
|
+
modify?: boolean;
|
|
23
|
+
routingApiParams?: RoutingParameters;
|
|
24
|
+
useRawViaPoints?: boolean;
|
|
25
|
+
snapToClosestStation?: boolean;
|
|
26
|
+
style?: StyleLike;
|
|
27
|
+
onRouteError?: () => void;
|
|
28
|
+
};
|
|
29
|
+
export type AbotControllersByGraph = {
|
|
30
|
+
[key: string]: AbortController;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Display a route of a specified mean of transport.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* import { Map } from 'ol';
|
|
37
|
+
* import { RoutingControl } from 'mobility-toolbox-js/ol';
|
|
38
|
+
*
|
|
39
|
+
* const map = new Map({
|
|
40
|
+
* target: 'map'
|
|
41
|
+
* });
|
|
42
|
+
*
|
|
43
|
+
* const control = new RoutingControl();
|
|
44
|
+
*
|
|
45
|
+
* control.attachToMap(map)
|
|
46
|
+
*
|
|
47
|
+
* @classproperty {string} apiKey - Key used for RoutingApi requests.
|
|
48
|
+
* @classproperty {string} stopsApiKey - Key used for Stop lookup requests (defaults to apiKey).
|
|
49
|
+
* @classproperty {string} stopsApiUrl - Url used for Stop lookup requests (defaults to https://api.geops.io/stops/v1/lookup/).
|
|
50
|
+
* @classproperty {Array.<Array<graph="osm", minZoom=0, maxZoom=99>>} graphs - Array of routing graphs and min/max zoom levels. If you use the control in combination with the [geOps Maps API](https://developer.geops.io/apis/maps/), you may want to use the optimal level of generalizations: "[['gen4', 0, 8], ['gen3', 8, 9], ['gen2', 9, 11], ['gen1', 11, 13], ['osm', 13, 99]]"
|
|
51
|
+
* @classproperty {string} mot - Mean of transport to be used for routing.
|
|
52
|
+
* @classproperty {object} routingApiParams - object of additional parameters to pass to the routing api request.
|
|
53
|
+
* @classproperty {object} snapToClosestStation - If true, the routing will snap the coordinate to the closest station. Default to false.
|
|
54
|
+
* @classproperty {boolean} useRawViaPoints - Experimental property. Wen true, it allows the user to add via points using different kind of string. See "via" parameter defined by the [geOps Routing API](https://developer.geops.io/apis/routing/). Default to false, only array of coordinates and station's id are supported as via points.
|
|
55
|
+
* @classproperty {RoutingLayer|Layer} routingLayer - Layer for adding route features.
|
|
56
|
+
* @classproperty {function} onRouteError - Callback on error.
|
|
57
|
+
* @classproperty {boolean} loading - True if the control is requesting the backend.
|
|
58
|
+
* @see <a href="/example/ol-routing">Openlayers routing example</a>
|
|
59
|
+
*
|
|
60
|
+
* @extends {Control}
|
|
61
|
+
* @implements {RoutingInterface}
|
|
62
|
+
*/
|
|
63
|
+
declare class RoutingControl extends ControlCommon {
|
|
64
|
+
map?: Map;
|
|
65
|
+
viaPoints: RoutingViaPoint[];
|
|
66
|
+
routingLayer?: RoutingLayer;
|
|
67
|
+
loading: boolean;
|
|
68
|
+
graphs: RoutingGraph[];
|
|
69
|
+
mot?: RoutingMot;
|
|
70
|
+
modify: boolean;
|
|
71
|
+
routingApiParams?: RoutingParameters;
|
|
72
|
+
useRawViaPoints: boolean;
|
|
73
|
+
snapToClosestStation: boolean;
|
|
74
|
+
cacheStationData: {
|
|
75
|
+
[key: string]: Coordinate;
|
|
76
|
+
};
|
|
77
|
+
abortControllers: {
|
|
78
|
+
[key: string]: AbortController;
|
|
79
|
+
};
|
|
80
|
+
apiKey?: string;
|
|
81
|
+
stopsApiKey?: string;
|
|
82
|
+
segments: Feature<LineString>[];
|
|
83
|
+
stopsApiUrl?: string;
|
|
84
|
+
api?: RoutingAPI;
|
|
85
|
+
format: GeoJSON;
|
|
86
|
+
graphsResolutions?: [number, number][];
|
|
87
|
+
onRouteError: (error?: Error, control?: RoutingControl) => void;
|
|
88
|
+
onMapClickKey?: EventsKey;
|
|
89
|
+
modifyInteraction?: Modify;
|
|
90
|
+
initialRouteDrag?: {
|
|
91
|
+
viaPoint?: Feature<Point>;
|
|
92
|
+
oldRoute?: Feature<LineString>;
|
|
93
|
+
segmentIndex?: number;
|
|
94
|
+
};
|
|
95
|
+
constructor(options?: RoutingControlOptions);
|
|
96
|
+
/**
|
|
97
|
+
* Calculate at which resolutions corresponds each generalizations.
|
|
98
|
+
*
|
|
99
|
+
* @private
|
|
100
|
+
*/
|
|
101
|
+
static getGraphsResolutions(graphs: RoutingGraph[], map: Map): [number, number][];
|
|
102
|
+
/**
|
|
103
|
+
* Adds/Replaces a viaPoint to the viaPoints array and redraws route:
|
|
104
|
+
* Adds a viaPoint at end of array by default.
|
|
105
|
+
* If an index is passed a viaPoint is added at the specified index.
|
|
106
|
+
* If an index is passed and overwrite x is > 0, x viaPoints at the specified
|
|
107
|
+
* index are replaced with a single new viaPoint.
|
|
108
|
+
* @param {number[]|string} coordinates Array of coordinates
|
|
109
|
+
* @param {number} [index=-1] Integer representing the index of the added viaPoint. If not specified, the viaPoint is added at the end of the array.
|
|
110
|
+
* @param {number} [overwrite=0] Marks the number of viaPoints that are removed at the specified index on add.
|
|
111
|
+
*/
|
|
112
|
+
addViaPoint(coordinatesOrString: RoutingViaPoint, index?: number, overwrite?: number): void;
|
|
113
|
+
/**
|
|
114
|
+
* Removes a viaPoint at the passed array index and redraws route
|
|
115
|
+
* By default the last viaPoint is removed.
|
|
116
|
+
* @param {number} index Integer representing the index of the viaPoint to delete.
|
|
117
|
+
*/
|
|
118
|
+
removeViaPoint(index?: number): void;
|
|
119
|
+
/**
|
|
120
|
+
* Replaces the current viaPoints with a new coordinate array.
|
|
121
|
+
* @param {Array<Array<number>>} coordinateArray Array of nested coordinates
|
|
122
|
+
*/
|
|
123
|
+
setViaPoints(coordinateArray: Coordinate[]): void;
|
|
124
|
+
/**
|
|
125
|
+
* Removes all viaPoints, clears the source and triggers a change event
|
|
126
|
+
*/
|
|
127
|
+
reset(): void;
|
|
128
|
+
/**
|
|
129
|
+
* Aborts viapoint and route requests
|
|
130
|
+
* @private
|
|
131
|
+
*/
|
|
132
|
+
abortRequests(): void;
|
|
133
|
+
/**
|
|
134
|
+
* Draws route on map using an array of coordinates:
|
|
135
|
+
* If a single coordinate is passed a single point feature is added to map.
|
|
136
|
+
* If two or more coordinates are passed a request to the RoutingAPI fetches
|
|
137
|
+
* the route using the passed coordinates and the current mot.
|
|
138
|
+
* @private
|
|
139
|
+
*/
|
|
140
|
+
drawRoute(): Promise<void | Feature<Geometry>> | Promise<Feature<Geometry> | null> | Promise<(void | never[])[]> | null;
|
|
141
|
+
/**
|
|
142
|
+
* Draw a via point. This function can parse all the possibilitiies
|
|
143
|
+
*
|
|
144
|
+
* @private
|
|
145
|
+
*/
|
|
146
|
+
drawViaPoint(viaPoint: RoutingViaPoint, idx: number, abortController: AbortController): Promise<void | Feature<Geometry>> | Promise<Feature<Geometry> | null>;
|
|
147
|
+
/**
|
|
148
|
+
* Used on click on map while control is active:
|
|
149
|
+
* By default adds a viaPoint to the end of array.
|
|
150
|
+
* If an existing viaPoint is clicked removes the clicked viaPoint.
|
|
151
|
+
* @private
|
|
152
|
+
*/
|
|
153
|
+
onMapClick(evt: MapBrowserEvent<MouseEvent>): void;
|
|
154
|
+
/**
|
|
155
|
+
* Used on start of the modify interaction. Stores relevant data
|
|
156
|
+
* in this.initialRouteDrag object
|
|
157
|
+
* @private
|
|
158
|
+
*/
|
|
159
|
+
onModifyStart(evt: ModifyEvent): void;
|
|
160
|
+
/**
|
|
161
|
+
* Used on end of the modify interaction. Resolves feature modification:
|
|
162
|
+
* Line drag creates new viaPoint at the final coordinate of drag.
|
|
163
|
+
* Point drag replaces old viaPoint.
|
|
164
|
+
* @private
|
|
165
|
+
*/
|
|
166
|
+
onModifyEnd(evt: ModifyEvent): void | Promise<never>;
|
|
167
|
+
/**
|
|
168
|
+
* Define a default element.
|
|
169
|
+
*
|
|
170
|
+
* @private
|
|
171
|
+
*/
|
|
172
|
+
createDefaultElement(): void;
|
|
173
|
+
/**
|
|
174
|
+
* Create the interaction used to modify vertexes of features.
|
|
175
|
+
* @private
|
|
176
|
+
*/
|
|
177
|
+
createModifyInteraction(): void;
|
|
178
|
+
/**
|
|
179
|
+
* Add click listener to map.
|
|
180
|
+
* @private
|
|
181
|
+
*/
|
|
182
|
+
addListeners(): void;
|
|
183
|
+
/**
|
|
184
|
+
* Remove click listener from map.
|
|
185
|
+
* @private
|
|
186
|
+
*/
|
|
187
|
+
removeListeners(): void;
|
|
188
|
+
activate(): void;
|
|
189
|
+
deactivate(): void;
|
|
190
|
+
render(): void;
|
|
191
|
+
}
|
|
192
|
+
export default RoutingControl;
|
|
193
|
+
//# sourceMappingURL=RoutingControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoutingControl.d.ts","sourceRoot":"","sources":["../../../src/ol/controls/RoutingControl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,aAAa,MAAM,qCAAqC,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,GAAG;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IAExB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IAErC,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC;CAChC,CAAC;AA4CF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,cAAM,cAAe,SAAQ,aAAa;IACxC,GAAG,CAAC,EAAE,GAAG,CAAC;IAEV,SAAS,EAAE,eAAe,EAAE,CAAM;IAElC,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,OAAO,EAAE,OAAO,CAAS;IAEzB,MAAM,EAAE,YAAY,EAAE,CAAM;IAE5B,GAAG,CAAC,EAAE,UAAU,CAAC;IAEjB,MAAM,EAAE,OAAO,CAAQ;IAEvB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IAErC,eAAe,EAAE,OAAO,CAAS;IAEjC,oBAAoB,EAAE,OAAO,CAAS;IAEtC,gBAAgB,EAAE;QAChB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;KAC3B,CAAM;IAEP,gBAAgB,EAAE;QAChB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC;KAChC,CAAM;IAEP,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAM;IAErC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,GAAG,CAAC,EAAE,UAAU,CAAC;IAEjB,MAAM,EAAE,OAAO,CAAmD;IAElE,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAEvC,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAEhE,aAAa,CAAC,EAAE,SAAS,CAAC;IAE1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,gBAAgB,CAAC,EAAE;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAM;gBAEK,OAAO,GAAE,qBAA0B;IA+F/C;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CACzB,MAAM,EAAE,YAAY,EAAE,EACtB,GAAG,EAAE,GAAG,GACP,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;IAQrB;;;;;;;;;OASG;IACH,WAAW,CACT,mBAAmB,EAAE,eAAe,EACpC,KAAK,GAAE,MAAW,EAClB,SAAS,GAAE,MAAU;IAYvB;;;;OAIG;IACH,cAAc,CAAC,KAAK,SAAoC;IASxD;;;OAGG;IACH,YAAY,CAAC,eAAe,EAAE,UAAU,EAAE;IAM1C;;OAEG;IACH,KAAK;IAQL;;;OAGG;IACH,aAAa;IAkBb;;;;;;OAMG;IACH,SAAS;IA4IT;;;;OAIG;IACH,YAAY,CACV,QAAQ,EAAE,eAAe,EACzB,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,eAAe;IAqHlC;;;;;OAKG;IACH,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,UAAU,CAAC;IAmB3C;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,WAAW;IAwC9B;;;;;OAKG;IACH,WAAW,CAAC,GAAG,EAAE,WAAW;IAuB5B;;;;OAIG;IACH,oBAAoB;IAcpB;;;OAGG;IACH,uBAAuB;IA+BvB;;;OAGG;IACH,YAAY;IASZ;;;OAGG;IACH,eAAe;IAMf,QAAQ;IA6BR,UAAU;IAYV,MAAM;CACP;AAED,eAAe,cAAc,CAAC"}
|