mobility-toolbox-js 3.0.0-beta.9 → 3.0.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.
Files changed (105) hide show
  1. package/README.md +11 -3
  2. package/api/HttpAPI.d.ts +5 -16
  3. package/api/HttpAPI.js +1 -14
  4. package/api/RealtimeAPI.d.ts +188 -143
  5. package/api/RealtimeAPI.js +265 -206
  6. package/api/RoutingAPI.d.ts +21 -11
  7. package/api/RoutingAPI.js +17 -7
  8. package/api/StopsAPI.d.ts +20 -14
  9. package/api/StopsAPI.js +17 -11
  10. package/api/WebSocketAPI.d.ts +60 -66
  11. package/api/WebSocketAPI.js +164 -165
  12. package/api/index.js +1 -1
  13. package/api/typedefs.d.ts +0 -102
  14. package/api/typedefs.js +27 -42
  15. package/common/controls/StopFinderControlCommon.d.ts +13 -13
  16. package/common/controls/StopFinderControlCommon.js +32 -32
  17. package/common/index.d.ts +1 -1
  18. package/common/index.js +1 -1
  19. package/common/styles/realtimeDefaultStyle.js +6 -11
  20. package/common/styles/realtimeHeadingStyle.js +5 -10
  21. package/common/styles/realtimeSimpleStyle.d.ts +0 -1
  22. package/common/styles/realtimeSimpleStyle.js +0 -1
  23. package/common/typedefs.d.ts +11 -121
  24. package/common/typedefs.js +6 -31
  25. package/common/utils/RealtimeEngine.d.ts +214 -0
  26. package/common/utils/RealtimeEngine.js +554 -0
  27. package/common/utils/compareDepartures.d.ts +2 -2
  28. package/common/utils/compareDepartures.js +2 -2
  29. package/common/utils/debounceWebsocketMessages.d.ts +1 -1
  30. package/common/utils/getLayersAsFlatArray.d.ts +0 -1
  31. package/common/utils/getLayersAsFlatArray.js +0 -1
  32. package/common/utils/getMapGlCopyrights.d.ts +1 -1
  33. package/common/utils/getMapGlCopyrights.js +3 -3
  34. package/common/utils/getRealtimeModeSuffix.d.ts +1 -0
  35. package/common/utils/getRealtimeModeSuffix.js +1 -0
  36. package/common/utils/getVehiclePosition.d.ts +5 -4
  37. package/common/utils/getVehiclePosition.js +6 -3
  38. package/common/utils/realtimeConfig.d.ts +1 -1
  39. package/common/utils/realtimeConfig.js +0 -1
  40. package/common/utils/renderTrajectories.d.ts +2 -1
  41. package/common/utils/renderTrajectories.js +7 -6
  42. package/common/utils/sortAndFilterDepartures.d.ts +2 -1
  43. package/common/utils/sortAndFilterDepartures.js +2 -1
  44. package/common/utils/sortByDelay.d.ts +2 -2
  45. package/common/utils/sortByDelay.js +5 -1
  46. package/maplibre/controls/CopyrightControl.d.ts +9 -6
  47. package/maplibre/controls/CopyrightControl.js +11 -8
  48. package/maplibre/layers/Layer.d.ts +8 -7
  49. package/maplibre/layers/Layer.js +2 -3
  50. package/maplibre/layers/RealtimeLayer.d.ts +82 -118
  51. package/maplibre/layers/RealtimeLayer.js +154 -118
  52. package/maplibre/utils/getSourceCoordinates.d.ts +1 -0
  53. package/maplibre/utils/getSourceCoordinates.js +6 -5
  54. package/mbt.js +14611 -14591
  55. package/mbt.js.map +4 -4
  56. package/mbt.min.js +75 -75
  57. package/mbt.min.js.map +4 -4
  58. package/ol/controls/CopyrightControl.d.ts +13 -5
  59. package/ol/controls/CopyrightControl.js +13 -5
  60. package/ol/controls/RoutingControl.d.ts +105 -101
  61. package/ol/controls/RoutingControl.js +250 -264
  62. package/ol/controls/StopFinderControl.d.ts +24 -5
  63. package/ol/controls/StopFinderControl.js +24 -5
  64. package/ol/layers/Layer.d.ts +26 -0
  65. package/ol/layers/Layer.js +39 -0
  66. package/ol/layers/MaplibreLayer.d.ts +56 -28
  67. package/ol/layers/MaplibreLayer.js +154 -31
  68. package/ol/layers/MaplibreStyleLayer.d.ts +71 -149
  69. package/ol/layers/MaplibreStyleLayer.js +281 -210
  70. package/ol/layers/RealtimeLayer.d.ts +95 -230
  71. package/ol/layers/RealtimeLayer.js +209 -211
  72. package/ol/layers/VectorLayer.d.ts +17 -0
  73. package/ol/layers/VectorLayer.js +33 -0
  74. package/ol/layers/index.d.ts +2 -0
  75. package/ol/layers/index.js +3 -0
  76. package/ol/renderers/MaplibreLayerRenderer.d.ts +0 -20
  77. package/ol/renderers/MaplibreLayerRenderer.js +142 -114
  78. package/ol/renderers/MaplibreStyleLayerRenderer.d.ts +6 -6
  79. package/ol/renderers/MaplibreStyleLayerRenderer.js +20 -23
  80. package/ol/renderers/RealtimeLayerRenderer.d.ts +7 -7
  81. package/ol/renderers/RealtimeLayerRenderer.js +46 -66
  82. package/ol/styles/fullTrajectoryDelayStyle.js +5 -7
  83. package/ol/styles/fullTrajectoryStyle.d.ts +1 -2
  84. package/ol/styles/fullTrajectoryStyle.js +5 -7
  85. package/ol/styles/routingStyle.d.ts +0 -1
  86. package/ol/styles/routingStyle.js +13 -10
  87. package/ol/utils/defineDeprecatedProperties.d.ts +10 -0
  88. package/ol/utils/defineDeprecatedProperties.js +180 -0
  89. package/ol/utils/getFeatureInfoAtCoordinate.d.ts +1 -1
  90. package/ol/utils/getFeatureInfoAtCoordinate.js +11 -17
  91. package/package.json +44 -44
  92. package/setupTests.js +17 -4
  93. package/types/common.d.ts +53 -69
  94. package/types/index.d.ts +1 -1
  95. package/types/realtime.d.ts +98 -95
  96. package/types/routing.d.ts +60 -60
  97. package/types/stops.d.ts +62 -62
  98. package/common/mixins/RealtimeLayerMixin.d.ts +0 -273
  99. package/common/mixins/RealtimeLayerMixin.js +0 -743
  100. package/ol/layers/MapGlLayer.d.ts +0 -144
  101. package/ol/layers/MapGlLayer.js +0 -144
  102. package/ol/mixins/MobilityLayerMixin.d.ts +0 -98
  103. package/ol/mixins/MobilityLayerMixin.js +0 -6
  104. package/ol/mixins/PropertiesLayerMixin.d.ts +0 -127
  105. package/ol/mixins/PropertiesLayerMixin.js +0 -143
@@ -1,186 +1,25 @@
1
- import GeoJSON from 'ol/format/GeoJSON';
2
- import Source from 'ol/source/Source';
3
- import Feature, { FeatureLike } from 'ol/Feature';
1
+ import { DebouncedFunc } from 'lodash';
4
2
  import { Map, MapEvent } from 'ol';
5
- import { ObjectEvent } from 'ol/Object';
3
+ import { EventsKey } from 'ol/events';
4
+ import Feature, { FeatureLike } from 'ol/Feature';
6
5
  import Layer from 'ol/layer/Layer';
7
- import { RealtimeLayerMixinOptions } from '../../common/mixins/RealtimeLayerMixin';
8
- import { RealtimeFullTrajectory, RealtimeTrainId, ViewState } from '../../types';
9
- import { RealtimeTrajectory } from '../../api/typedefs';
6
+ import VectorLayer from 'ol/layer/Vector';
7
+ import { ObjectEvent } from 'ol/Object';
8
+ import { Vector as VectorSource } from 'ol/source';
9
+ import { State } from 'ol/View';
10
10
  import { WebSocketAPIMessageEventData } from '../../api/WebSocketAPI';
11
+ import { FilterFunction, SortFunction } from '../../common/typedefs';
12
+ import RealtimeEngine, { RealtimeEngineOptions } from '../../common/utils/RealtimeEngine';
13
+ import { RealtimeAPI } from '../../maplibre';
14
+ import { RealtimeFullTrajectory, RealtimeMode, RealtimeRenderState, RealtimeTrainId, ViewState } from '../../types';
11
15
  import RealtimeLayerRenderer from '../renderers/RealtimeLayerRenderer';
12
- export type RealtimeLayerOptions = RealtimeLayerMixinOptions & {
13
- fullTrajectoryStyle?: (feature: FeatureLike, resolution: number, options: any) => void;
16
+ export type RealtimeLayerOptions = {
14
17
  allowRenderWhenAnimating?: boolean;
15
- };
16
- declare const RealtimeLayer_base: {
17
- new (options: RealtimeLayerMixinOptions): {
18
- [x: string]: any;
19
- debug: boolean;
20
- trajectories?: {
21
- [key: string]: GeoJSONFeature;
22
- } | undefined;
23
- canvas?: import("../../types").AnyCanvas | undefined;
24
- mode: import("../../types").RealtimeMode;
25
- api: import("../../api/RealtimeAPI").default;
26
- tenant: string;
27
- bboxParameters?: {
28
- [index: string]: string | number | boolean | string[] | number[] | boolean[];
29
- } | undefined;
30
- time?: Date | undefined;
31
- live?: boolean | undefined;
32
- speed?: number | undefined;
33
- filter?: Function | undefined;
34
- sort?: Function | undefined;
35
- style?: import("../../types").RealtimeStyleFunction | undefined;
36
- styleOptions?: import("../../types").RealtimeStyleOptions | undefined;
37
- pixelRatio?: number | undefined;
38
- minZoomInterpolation: number;
39
- isUpdateBboxOnMoveEnd: boolean;
40
- hoverVehicleId?: string | undefined;
41
- selectedVehicleId?: string | undefined;
42
- renderState?: import("../../types").RealtimeRenderState | undefined;
43
- useRequestAnimationFrame?: boolean | undefined;
44
- useDebounce?: boolean | undefined;
45
- useThrottle?: boolean | undefined;
46
- mots?: import("../../types").RealtimeMot[] | undefined;
47
- motsByZoom: import("../../types").RealtimeMot[][];
48
- generalizationLevel?: import("../../types").RealtimeGeneralizationLevel | undefined;
49
- generalizationLevelByZoom: import("../../types").RealtimeGeneralizationLevel[];
50
- renderTimeIntervalByZoom: number[];
51
- format: GeoJSON<typeof Feature>;
52
- requestId?: number | undefined;
53
- updateTimeInterval?: number | undefined;
54
- updateTimeDelay?: number | undefined;
55
- visibilityRef: import("ol/events").EventsKey;
56
- selectedVehicle: GeoJSONFeature;
57
- getMotsByZoom: (zoom: number) => import("../../types").RealtimeMot[];
58
- getGeneralizationLevelByZoom: (zoom: number) => import("../../types").RealtimeGeneralizationLevel;
59
- getRenderTimeIntervalByZoom: (zoom: number) => number;
60
- throttleRenderTrajectories: (viewState: ViewState, noInterpolate?: boolean | undefined) => void;
61
- debounceRenderTrajectories: (viewState: ViewState, noInterpolate?: boolean | undefined) => void;
62
- onStart?: ((realtimeLayer: any) => void) | undefined;
63
- onStop?: ((realtimeLayer: any) => void) | undefined;
64
- defineProperties(options: RealtimeLayerMixinOptions): void;
65
- attachToMap(map: any): void;
66
- detachFromMap(): void;
67
- start(): void;
68
- startUpdateTime(): void;
69
- stop(): void;
70
- stopUpdateTime(): void;
71
- renderTrajectoriesInternal(viewState: ViewState, noInterpolate?: boolean): boolean;
72
- renderTrajectories(viewState: ViewState | undefined, noInterpolate: boolean | undefined): void;
73
- setBbox(extent: [number, number, number, number], zoom: number): void;
74
- getRefreshTimeInMs(zoom?: number | undefined): number;
75
- getVehicle(filterFc: Function): GeoJSONFeature[];
76
- getFeatureInfoAtCoordinate(coordinate: import("ol/coordinate").Coordinate, options: import("../../types").LayerGetFeatureInfoOptions): Promise<import("../../types").LayerGetFeatureInfoResponse>;
77
- getTrajectoryInfos(id: string): Promise<{
78
- stopSequence: WebSocketAPIMessageEventData<RealtimeFullTrajectory> | WebSocketAPIMessageEventData<GeoJSONFeature[]>;
79
- fullTrajectory: WebSocketAPIMessageEventData<RealtimeFullTrajectory> | WebSocketAPIMessageEventData<GeoJSONFeature[]>;
80
- }>;
81
- purgeOutOfDateTrajectories(): void;
82
- purgeTrajectory(trajectory: GeoJSONFeature, extent: [number, number, number, number], zoom: number): boolean;
83
- addTrajectory(trajectory: GeoJSONFeature): void;
84
- removeTrajectory(trajectoryOrId: any): void;
85
- onZoomEnd(): void;
86
- onDocumentVisibilityChange(): void;
87
- onTrajectoryMessage(data: WebSocketAPIMessageEventData<GeoJSONFeature>): void;
88
- onDeleteTrajectoryMessage(data: WebSocketAPIMessageEventData<string>): void;
89
- highlightVehicle(id: string): void;
90
- selectVehicle(id: string): void;
91
- };
92
- } & {
93
- new (...args: any[]): {
94
- options?: import("../mixins/PropertiesLayerMixin").PropertiesLayerMixinOptions | undefined;
95
- olListenersKeys: import("ol/events").EventsKey[];
96
- children: Layer<Source, import("ol/renderer/Layer").default<any>>[];
97
- get copyrights(): string;
98
- set copyrights(newCopyrights: string | string[]);
99
- disabled: boolean;
100
- readonly group: string;
101
- readonly hitTolerance: boolean;
102
- readonly key: string;
103
- readonly map: Map;
104
- readonly name: string;
105
- olLayer: Layer<Source, import("ol/renderer/Layer").default<any>>;
106
- parent: Layer<Source, import("ol/renderer/Layer").default<any>>;
107
- visible: boolean;
108
- setMapInternal: ((map: Map) => void) & ((map: Map | null) => void);
109
- onChildrenChange(oldValue: Layer<Source, import("ol/renderer/Layer").default<any>>[]): void;
110
- attachToMap(map: Map): void;
111
- detachFromMap(): void;
112
- flat(): any[];
113
- addEventListener: (type: string, listener: import("ol/events").Listener) => void;
114
- removeEventListener: (type: string, listener: import("ol/events").Listener) => void;
115
- on: import("ol/layer/Layer").LayerOnSignature<import("ol/events").EventsKey>;
116
- render: (frameState: import("ol/Map").FrameState | null, target: HTMLElement) => HTMLElement | null;
117
- once: import("ol/layer/Layer").LayerOnSignature<import("ol/events").EventsKey>;
118
- un: import("ol/layer/Layer").LayerOnSignature<void>;
119
- getSource: () => Source | null;
120
- getRenderSource: () => Source | null;
121
- getFeatures: (pixel: import("ol/pixel").Pixel) => Promise<FeatureLike[]>;
122
- getData: (pixel: import("ol/pixel").Pixel) => Float32Array | Uint8ClampedArray | Uint8Array | DataView | null;
123
- isVisible: (view?: import("ol/View").default | import("ol/View").ViewStateLayerStateExtent | undefined) => boolean;
124
- getAttributions: (view?: import("ol/View").default | import("ol/View").ViewStateLayerStateExtent | undefined) => string[];
125
- unrender: () => void;
126
- getDeclutter: () => string;
127
- renderDeclutter: (frameState: import("ol/Map").FrameState, layerState: import("ol/layer/Layer").State) => void;
128
- renderDeferred: (frameState: import("ol/Map").FrameState) => void;
129
- getMapInternal: () => Map | null;
130
- setMap: (map: Map | null) => void;
131
- setSource: (source: Source | null) => void;
132
- getRenderer: () => import("ol/renderer/Layer").default<any> | null;
133
- hasRenderer: () => boolean;
134
- getBackground: () => false | import("ol/layer/Base").BackgroundColor;
135
- getClassName: () => string;
136
- getLayerState: (managed?: boolean | undefined) => import("ol/layer/Layer").State;
137
- getLayersArray: (array?: Layer<Source, import("ol/renderer/Layer").default<any>>[] | undefined) => Layer<Source, import("ol/renderer/Layer").default<any>>[];
138
- getLayerStatesArray: (states?: import("ol/layer/Layer").State[] | undefined) => import("ol/layer/Layer").State[];
139
- getExtent: () => import("ol/extent").Extent | undefined;
140
- getMaxResolution: () => number;
141
- getMinResolution: () => number;
142
- getMinZoom: () => number;
143
- getMaxZoom: () => number;
144
- getOpacity: () => number;
145
- getSourceState: () => import("ol/source/Source").State;
146
- getVisible: () => boolean;
147
- getZIndex: () => number | undefined;
148
- setBackground: (background?: import("ol/layer/Base").BackgroundColor | undefined) => void;
149
- setExtent: (extent: import("ol/extent").Extent | undefined) => void;
150
- setMaxResolution: (maxResolution: number) => void;
151
- setMinResolution: (minResolution: number) => void;
152
- setMaxZoom: (maxZoom: number) => void;
153
- setMinZoom: (minZoom: number) => void;
154
- setOpacity: (opacity: number) => void;
155
- setVisible: (visible: boolean) => void;
156
- setZIndex: (zindex: number) => void;
157
- get: (key: string) => any;
158
- getKeys: () => string[];
159
- getProperties: () => {
160
- [x: string]: any;
161
- };
162
- getPropertiesInternal: () => {
163
- [x: string]: any;
164
- } | null;
165
- hasProperties: () => boolean;
166
- notify: (key: string, oldValue: any) => void;
167
- addChangeListener: (key: string, listener: import("ol/events").Listener) => void;
168
- removeChangeListener: (key: string, listener: import("ol/events").Listener) => void;
169
- set: (key: string, value: any, silent?: boolean | undefined) => void;
170
- setProperties: (values: {
171
- [x: string]: any;
172
- }, silent?: boolean | undefined) => void;
173
- unset: (key: string, silent?: boolean | undefined) => void;
174
- changed: () => void;
175
- getRevision: () => number;
176
- dispatchEvent: (event: string | import("ol/events/Event").default) => boolean | undefined;
177
- getListeners: (type: string) => import("ol/events").Listener[] | undefined;
178
- hasListener: (type?: string | undefined) => boolean;
179
- dispose: () => void;
180
- };
181
- } & typeof Layer;
18
+ fullTrajectoryStyle?: (feature: FeatureLike, resolution: number, options: any) => void;
19
+ maxNbFeaturesRequested?: number;
20
+ } & RealtimeEngineOptions;
182
21
  /**
183
- * Responsible for loading and display data from the geOps realtime API.
22
+ * An OpenLayers layer able to display data from the [geOps Realtime API](https://developer.geops.io/apis/realtime/).
184
23
  *
185
24
  * @example
186
25
  * import { RealtimeLayer } from 'mobility-toolbox-js/ol';
@@ -193,93 +32,119 @@ declare const RealtimeLayer_base: {
193
32
  *
194
33
  *
195
34
  * @see <a href="/api/class/src/api/RealtimeAPI%20js~RealtimeAPI%20html">RealtimeAPI</a>
35
+ * @see <a href="/example/ol-realtime">OpenLayers Realtime layer example</a>
36
+ *
196
37
  *
197
38
  * @extends {ol/layer/Layer~Layer}
198
39
  *
40
+ *
199
41
  * @classproperty {boolean} allowRenderWhenAnimating - Allow rendering of the layer when the map is animating.
200
42
  * @public
201
43
  */
202
- declare class RealtimeLayer extends RealtimeLayer_base {
203
- /** @private */
44
+ declare class RealtimeLayer extends Layer {
204
45
  allowRenderWhenAnimating?: boolean;
46
+ currentZoom?: number;
47
+ engine: RealtimeEngine;
48
+ maxNbFeaturesRequested: number;
49
+ olEventsKeys: EventsKey[];
50
+ onMoveEndDebounced: DebouncedFunc<(evt: MapEvent | ObjectEvent) => void>;
51
+ onZoomEndDebounced: DebouncedFunc<(evt: MapEvent | ObjectEvent) => void>;
52
+ renderedViewState: State | undefined;
53
+ vectorLayer: VectorLayer<VectorSource>;
54
+ get api(): RealtimeAPI;
55
+ set api(api: RealtimeAPI);
56
+ get canvas(): import("../../types").AnyCanvas | undefined;
57
+ get filter(): FilterFunction | undefined;
58
+ set filter(filter: FilterFunction);
59
+ get hoverVehicleId(): RealtimeTrainId | undefined;
60
+ set hoverVehicleId(id: RealtimeTrainId);
61
+ get mode(): RealtimeMode;
62
+ set mode(mode: RealtimeMode);
63
+ get pixelRatio(): number | undefined;
64
+ get selectedVehicleId(): RealtimeTrainId | undefined;
65
+ set selectedVehicleId(id: RealtimeTrainId);
66
+ get sort(): SortFunction | undefined;
67
+ set sort(sort: SortFunction);
68
+ get trajectories(): Record<string, import("../../types").RealtimeTrajectory> | undefined;
205
69
  /**
206
70
  * Constructor.
207
71
  *
208
72
  * @param {RealtimeLayerOptions} options
209
73
  * @param {boolean} [options.allowRenderWhenAnimating=false] Allow rendering of the layer when the map is animating.
210
- * @param {string} options.apiKey Access key for [geOps apis](https://developer.geops.io/).
211
- * @param {string} [options.url="wss://api.geops.io/tracker-ws/v1/"] The geOps realtime API url.
212
- *
74
+ * @param {string} options.apiKey Access key for [geOps APIs](https://developer.geops.io/).
75
+ * @param {string} [options.url="wss://api.geops.io/tracker-ws/v1/"] The [geOps Realtime API](https://developer.geops.io/apis/realtime/) url.
76
+ * @public
213
77
  */
214
78
  constructor(options: RealtimeLayerOptions);
79
+ attachToMap(): void;
215
80
  /**
216
- * @private
81
+ * Create a copy of the RealtimeLayer.
82
+ *
83
+ * @param {Object} newOptions Options to override. See constructor.
84
+ * @return {RealtimeLayer} A RealtimeLayer
85
+ * @public
217
86
  */
87
+ clone(newOptions: RealtimeLayerOptions): RealtimeLayer;
218
88
  createRenderer(): RealtimeLayerRenderer;
219
- /** @private */
220
- attachToMap(map: Map): void;
221
89
  /**
222
90
  * Destroy the container of the tracker.
223
- * @private
224
91
  */
225
92
  detachFromMap(): void;
226
93
  /**
227
- * Render the trajectories using current map's size, resolution and rotation.
228
- * @param {boolean} noInterpolate if true, renders the vehicles without interpolating theirs positions.
229
- * @overrides
230
- * @private
231
- */
232
- renderTrajectories(noInterpolate: boolean): void;
233
- /**
234
- * Launch renderTrajectories. it avoids duplicating code in renderTrajectories methhod.
235
- * @private
236
- * @override
237
- */
238
- renderTrajectoriesInternal(viewState: ViewState, noInterpolate: boolean): boolean;
239
- /**
240
- * Return the delay in ms before the next rendering.
241
- * @private
94
+ * Get some informations about a trajectory.
95
+ *
96
+ * @param {RealtimeTrainId} id A vehicle's id.
97
+ * @returns
242
98
  */
243
- getRefreshTimeInMs(): number;
99
+ getTrajectoryInfos(id: RealtimeTrainId): Promise<{
100
+ fullTrajectory: WebSocketAPIMessageEventData<RealtimeFullTrajectory> | WebSocketAPIMessageEventData<import("../../types").RealtimeStopSequence[]>;
101
+ stopSequence: WebSocketAPIMessageEventData<RealtimeFullTrajectory> | WebSocketAPIMessageEventData<import("../../types").RealtimeStopSequence[]>;
102
+ }>;
103
+ getVehicles(filterFunc: FilterFunction): import("../../types").RealtimeTrajectory[];
104
+ getViewState(): {
105
+ center?: undefined;
106
+ extent?: undefined;
107
+ pixelRatio?: undefined;
108
+ resolution?: undefined;
109
+ rotation?: undefined;
110
+ size?: undefined;
111
+ visible?: undefined;
112
+ zoom?: undefined;
113
+ } | {
114
+ center: import("ol/coordinate").Coordinate | undefined;
115
+ extent: import("ol/extent").Extent;
116
+ pixelRatio: number | undefined;
117
+ resolution: number | undefined;
118
+ rotation: number;
119
+ size: import("ol/size").Size | undefined;
120
+ visible: boolean;
121
+ zoom: number | undefined;
122
+ };
123
+ highlight(feature: Feature): void;
244
124
  /**
245
- * On move end we update the websocket with the new bbox.
246
- *
247
- * @private
248
- * @override
125
+ * Highlight the trajectory of journey.
249
126
  */
250
- onMoveEnd(evt: MapEvent | ObjectEvent): void;
127
+ highlightTrajectory(id: RealtimeTrainId): Promise<Feature[] | undefined>;
128
+ onMoveEnd(): void;
251
129
  /**
252
- * Function called on moveend event only when the zoom has changed.
253
- *
254
- * @param {ol/MapEvent~MapEvent} evt Moveend event.
255
- * @private
256
- * @override
130
+ * Callback when the RealtimeEngine has rendered successfully.
257
131
  */
132
+ onRealtimeEngineRender(renderState: RealtimeRenderState, viewState: ViewState): void;
258
133
  onZoomEnd(): void;
259
- highlight(feature: Feature): void;
260
134
  select(feature: Feature): void;
135
+ setMapInternal(map: Map): void;
136
+ shouldRender(): boolean | undefined;
261
137
  /**
262
- * Remove the trajectory form the list if necessary.
138
+ * Start the rendering.
263
139
  *
264
- * @private
140
+ * @public
265
141
  */
266
- purgeTrajectory(trajectory: RealtimeTrajectory, extent: [number, number, number, number], zoom: number): boolean;
142
+ start(): void;
267
143
  /**
268
- * Send the current bbox to the websocket
144
+ * Stop the rendering.
269
145
  *
270
- * @private
146
+ * @public
271
147
  */
272
- setBbox(extent?: [number, number, number, number], zoom?: number): void;
273
- /**
274
- * Highlight the trajectory of journey.
275
- * @private
276
- */
277
- highlightTrajectory(id: RealtimeTrainId): Promise<Feature[] | undefined>;
278
- /**
279
- * Create a copy of the RealtimeLayer.
280
- * @param {Object} newOptions Options to override
281
- * @return {RealtimeLayer} A RealtimeLayer
282
- */
283
- clone(newOptions: RealtimeLayerOptions): RealtimeLayer;
148
+ stop(): void;
284
149
  }
285
150
  export default RealtimeLayer;