mobility-toolbox-js 3.0.0-beta.37 → 3.0.0-beta.38
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/common/typedefs.d.ts +0 -117
- package/common/typedefs.js +0 -31
- package/common/utils/RealtimeEngine.d.ts +5 -5
- package/common/utils/RealtimeEngine.js +0 -1
- package/common/utils/getVehiclePosition.js +1 -4
- package/mbt.js +280 -250
- package/mbt.js.map +3 -3
- package/mbt.min.js +10 -10
- package/mbt.min.js.map +4 -4
- package/ol/index.d.ts +0 -1
- package/ol/index.js +0 -1
- package/ol/layers/Layer.d.ts +15 -92
- package/ol/layers/Layer.js +4 -3
- package/ol/layers/MaplibreLayer.d.ts +8 -96
- package/ol/layers/MaplibreLayer.js +29 -15
- package/ol/layers/MaplibreStyleLayer.d.ts +4 -92
- package/ol/layers/MaplibreStyleLayer.js +25 -9
- package/ol/layers/RealtimeLayer.d.ts +6 -94
- package/ol/layers/RealtimeLayer.js +34 -19
- package/ol/layers/VectorLayer.d.ts +1 -2
- package/ol/layers/VectorLayer.js +7 -6
- package/ol/utils/defineDeprecatedProperties.d.ts +10 -0
- package/ol/utils/defineDeprecatedProperties.js +180 -0
- package/package.json +2 -2
- package/types/common.d.ts +2 -26
- package/types/realtime.d.ts +6 -1
- package/ol/mixins/MobilityLayerMixin.d.ts +0 -96
- package/ol/mixins/MobilityLayerMixin.js +0 -6
- package/ol/mixins/PropertiesLayerMixin.d.ts +0 -134
- package/ol/mixins/PropertiesLayerMixin.js +0 -181
- package/ol/mixins/index.d.ts +0 -1
- package/ol/mixins/index.js +0 -2
package/ol/index.d.ts
CHANGED
package/ol/index.js
CHANGED
package/ol/layers/Layer.d.ts
CHANGED
|
@@ -1,101 +1,24 @@
|
|
|
1
|
+
import { Map } from 'ol';
|
|
1
2
|
import OLLayer from 'ol/layer/Layer';
|
|
2
3
|
import LayerRenderer from 'ol/renderer/Layer';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
disabled: boolean;
|
|
17
|
-
readonly group: string;
|
|
18
|
-
hitTolerance: number;
|
|
19
|
-
readonly key: string;
|
|
20
|
-
readonly map: import("ol").Map;
|
|
21
|
-
readonly name: string;
|
|
22
|
-
olLayer: OLLayer;
|
|
23
|
-
parent: OLLayer<import("ol/source").Source, LayerRenderer<any>>;
|
|
24
|
-
visible: boolean;
|
|
25
|
-
on: import("ol/layer/Layer").LayerOnSignature<import("ol/events").EventsKey>;
|
|
26
|
-
once: import("ol/layer/Layer").LayerOnSignature<import("ol/events").EventsKey>;
|
|
27
|
-
un: import("ol/layer/Layer").LayerOnSignature<void>;
|
|
28
|
-
render: (frameState: import("ol/Map").FrameState | null, target: HTMLElement) => HTMLElement | null;
|
|
29
|
-
getSource: () => import("ol/source").Source | null;
|
|
30
|
-
getRenderSource: () => import("ol/source").Source | null;
|
|
31
|
-
getFeatures: (pixel: import("ol/pixel").Pixel) => Promise<Array<import("ol/Feature").FeatureLike>>;
|
|
32
|
-
getData: (pixel: import("ol/pixel").Pixel) => Uint8ClampedArray | Uint8Array | Float32Array | DataView | null;
|
|
33
|
-
isVisible: (view?: import("ol").View | import("ol/View").ViewStateLayerStateExtent | undefined) => boolean;
|
|
34
|
-
getAttributions: (view?: import("ol").View | import("ol/View").ViewStateLayerStateExtent | undefined) => Array<string>;
|
|
35
|
-
unrender: () => void;
|
|
36
|
-
getDeclutter: () => string;
|
|
37
|
-
renderDeclutter: (frameState: import("ol/Map").FrameState, layerState: import("ol/layer/Layer").State) => void;
|
|
38
|
-
renderDeferred: (frameState: import("ol/Map").FrameState) => void;
|
|
39
|
-
getMapInternal: () => import("ol").default | null;
|
|
40
|
-
setMap: (map: import("ol").default | null) => void;
|
|
41
|
-
setSource: (source: import("ol/source").Source | null) => void;
|
|
42
|
-
getRenderer: () => LayerRenderer<any> | null;
|
|
43
|
-
hasRenderer: () => boolean;
|
|
44
|
-
getBackground: () => import("ol/layer/Base").BackgroundColor | false;
|
|
45
|
-
getClassName: () => string;
|
|
46
|
-
getLayerState: (managed?: boolean | undefined) => import("ol/layer/Layer").State;
|
|
47
|
-
getLayersArray: (array?: import("ol/layer/Layer").default<import("ol/source").default, import("ol/renderer/Layer").default<any>>[] | undefined) => Array<import("ol/layer/Layer").default>;
|
|
48
|
-
getLayerStatesArray: (states?: import("ol/layer/Layer").State[] | undefined) => Array<import("ol/layer/Layer").State>;
|
|
49
|
-
getExtent: () => import("ol/extent").Extent | undefined;
|
|
50
|
-
getMaxResolution: () => number;
|
|
51
|
-
getMinResolution: () => number;
|
|
52
|
-
getMinZoom: () => number;
|
|
53
|
-
getMaxZoom: () => number;
|
|
54
|
-
getOpacity: () => number;
|
|
55
|
-
getSourceState: () => import("ol/source/Source").State;
|
|
56
|
-
getVisible: () => boolean;
|
|
57
|
-
getZIndex: () => number | undefined;
|
|
58
|
-
setBackground: (background?: import("ol/layer/Base").BackgroundColor | undefined) => void;
|
|
59
|
-
setExtent: (extent: import("ol/extent").Extent | undefined) => void;
|
|
60
|
-
setMaxResolution: (maxResolution: number) => void;
|
|
61
|
-
setMinResolution: (minResolution: number) => void;
|
|
62
|
-
setMaxZoom: (maxZoom: number) => void;
|
|
63
|
-
setMinZoom: (minZoom: number) => void;
|
|
64
|
-
setOpacity: (opacity: number) => void;
|
|
65
|
-
setVisible: (visible: boolean) => void;
|
|
66
|
-
setZIndex: (zindex: number) => void;
|
|
67
|
-
get: (key: string) => any;
|
|
68
|
-
getKeys: () => Array<string>;
|
|
69
|
-
getProperties: () => {
|
|
70
|
-
[x: string]: any;
|
|
71
|
-
};
|
|
72
|
-
getPropertiesInternal: () => {
|
|
73
|
-
[x: string]: any;
|
|
74
|
-
} | null;
|
|
75
|
-
hasProperties: () => boolean;
|
|
76
|
-
notify: (key: string, oldValue: any) => void;
|
|
77
|
-
addChangeListener: (key: string, listener: import("ol/events").Listener) => void;
|
|
78
|
-
removeChangeListener: (key: string, listener: import("ol/events").Listener) => void;
|
|
79
|
-
set: (key: string, value: any, silent?: boolean | undefined) => void;
|
|
80
|
-
setProperties: (values: {
|
|
81
|
-
[x: string]: any;
|
|
82
|
-
}, silent?: boolean | undefined) => void;
|
|
83
|
-
unset: (key: string, silent?: boolean | undefined) => void;
|
|
84
|
-
changed: () => void;
|
|
85
|
-
getRevision: () => number;
|
|
86
|
-
addEventListener: (type: string, listener: import("ol/events").Listener) => void;
|
|
87
|
-
dispatchEvent: (event: import("ol/events/Event").default | string) => boolean | undefined;
|
|
88
|
-
getListeners: (type: string) => Array<import("ol/events").Listener> | undefined;
|
|
89
|
-
hasListener: (type?: string | undefined) => boolean;
|
|
90
|
-
removeEventListener: (type: string, listener: import("ol/events").Listener) => void;
|
|
91
|
-
dispose: () => void;
|
|
92
|
-
};
|
|
93
|
-
} & typeof OLLayer;
|
|
4
|
+
import type { Options } from 'ol/layer/Layer';
|
|
5
|
+
export type MobilityLayerOptions = {
|
|
6
|
+
children?: any[];
|
|
7
|
+
copyrights?: string[];
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
group?: string;
|
|
10
|
+
hitTolerance?: number;
|
|
11
|
+
key?: string;
|
|
12
|
+
map?: Map;
|
|
13
|
+
name?: string;
|
|
14
|
+
properties?: Record<string, any>;
|
|
15
|
+
visible?: boolean;
|
|
16
|
+
} & Options & Record<string, any>;
|
|
94
17
|
/**
|
|
95
18
|
* An OpenLayers layer here only for backward compatibility v2.
|
|
96
19
|
* @deprecated Use an OpenLayers Layer instead.
|
|
97
20
|
*/
|
|
98
|
-
declare class Layer extends
|
|
21
|
+
declare class Layer extends OLLayer {
|
|
99
22
|
constructor(options: MobilityLayerOptions);
|
|
100
23
|
clone(newOptions: MobilityLayerOptions): Layer;
|
|
101
24
|
createRenderer(): LayerRenderer<OLLayer>;
|
package/ol/layers/Layer.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import debounce from 'lodash.debounce';
|
|
2
2
|
import OLLayer from 'ol/layer/Layer';
|
|
3
3
|
import LayerRenderer from 'ol/renderer/Layer';
|
|
4
|
-
import
|
|
4
|
+
import defineDeprecatedProperties from '../utils/defineDeprecatedProperties';
|
|
5
5
|
let deprecated = () => { };
|
|
6
6
|
if (typeof window !== 'undefined' &&
|
|
7
7
|
new URLSearchParams(window.location.search).get('deprecated')) {
|
|
@@ -22,13 +22,14 @@ class EmptyLayerRenderer extends LayerRenderer {
|
|
|
22
22
|
* An OpenLayers layer here only for backward compatibility v2.
|
|
23
23
|
* @deprecated Use an OpenLayers Layer instead.
|
|
24
24
|
*/
|
|
25
|
-
class Layer extends
|
|
25
|
+
class Layer extends OLLayer {
|
|
26
26
|
constructor(options) {
|
|
27
27
|
super(options);
|
|
28
|
+
defineDeprecatedProperties(this, options);
|
|
28
29
|
deprecated('Layer is deprecated. Use an OpenLayers Layer instead.');
|
|
29
30
|
}
|
|
30
31
|
clone(newOptions) {
|
|
31
|
-
return new Layer(Object.assign(Object.assign({}, (this.options || {})), (newOptions || {})));
|
|
32
|
+
return new Layer(Object.assign(Object.assign({}, (this.get('options') || {})), (newOptions || {})));
|
|
32
33
|
}
|
|
33
34
|
// ol does not like when it returns null.
|
|
34
35
|
createRenderer() {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MapLibreLayer } from '@geoblocks/ol-maplibre-layer';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import { EventsKey } from 'ol/events';
|
|
3
|
+
import Map from 'ol/Map';
|
|
4
|
+
import { MobilityLayerOptions } from './Layer';
|
|
4
5
|
import type { MapLibreLayerOptions, MapLibreOptions } from '@geoblocks/ol-maplibre-layer/lib/types/MapLibreLayer';
|
|
5
6
|
import type { QueryRenderedFeaturesOptions } from 'maplibre-gl';
|
|
6
7
|
export type MaplibreLayerOptions = {
|
|
@@ -11,96 +12,6 @@ export type MaplibreLayerOptions = {
|
|
|
11
12
|
style?: maplibregl.StyleSpecification | null | string;
|
|
12
13
|
url?: string;
|
|
13
14
|
} & MapLibreLayerOptions & MobilityLayerOptions;
|
|
14
|
-
declare const MaplibreLayer_base: {
|
|
15
|
-
new (...args: any[]): {
|
|
16
|
-
olEventsKeys: import("ol/events").EventsKey[];
|
|
17
|
-
options?: import("../mixins/PropertiesLayerMixin").PropertiesLayerMixinOptions;
|
|
18
|
-
attachToMap(map: OlMap): void;
|
|
19
|
-
detachFromMap(): void;
|
|
20
|
-
flat(): any[];
|
|
21
|
-
onChildrenChange(oldValue: import("ol/layer").Layer[]): void;
|
|
22
|
-
setMapInternal: ((map: OlMap) => void) & ((map: import("ol/Map").default | null) => void);
|
|
23
|
-
children: import("ol/layer").Layer<import("ol/source").Source, import("ol/renderer/Layer").default<any>>[];
|
|
24
|
-
get copyrights(): string;
|
|
25
|
-
set copyrights(newCopyrights: string | string[]);
|
|
26
|
-
disabled: boolean;
|
|
27
|
-
readonly group: string;
|
|
28
|
-
hitTolerance: number;
|
|
29
|
-
readonly key: string;
|
|
30
|
-
readonly map: OlMap;
|
|
31
|
-
readonly name: string;
|
|
32
|
-
olLayer: import("ol/layer").Layer;
|
|
33
|
-
parent: import("ol/layer").Layer<import("ol/source").Source, import("ol/renderer/Layer").default<any>>;
|
|
34
|
-
visible: boolean;
|
|
35
|
-
on: import("ol/layer/Layer").LayerOnSignature<import("ol/events").EventsKey>;
|
|
36
|
-
once: import("ol/layer/Layer").LayerOnSignature<import("ol/events").EventsKey>;
|
|
37
|
-
un: import("ol/layer/Layer").LayerOnSignature<void>;
|
|
38
|
-
render: (frameState: import("ol/Map").FrameState | null, target: HTMLElement) => HTMLElement | null;
|
|
39
|
-
getSource: () => import("ol/source").Source | null;
|
|
40
|
-
getRenderSource: () => import("ol/source").Source | null;
|
|
41
|
-
getFeatures: (pixel: import("ol/pixel").Pixel) => Promise<Array<import("ol/Feature").FeatureLike>>;
|
|
42
|
-
getData: (pixel: import("ol/pixel").Pixel) => Uint8ClampedArray | Uint8Array | Float32Array | DataView | null;
|
|
43
|
-
isVisible: (view?: import("ol").View | import("ol/View").ViewStateLayerStateExtent | undefined) => boolean;
|
|
44
|
-
getAttributions: (view?: import("ol").View | import("ol/View").ViewStateLayerStateExtent | undefined) => Array<string>;
|
|
45
|
-
unrender: () => void;
|
|
46
|
-
getDeclutter: () => string;
|
|
47
|
-
renderDeclutter: (frameState: import("ol/Map").FrameState, layerState: import("ol/layer/Layer").State) => void;
|
|
48
|
-
renderDeferred: (frameState: import("ol/Map").FrameState) => void;
|
|
49
|
-
getMapInternal: () => import("ol/Map").default | null;
|
|
50
|
-
setMap: (map: import("ol/Map").default | null) => void;
|
|
51
|
-
setSource: (source: import("ol/source").Source | null) => void;
|
|
52
|
-
getRenderer: () => import("ol/renderer/Layer").default<any> | null;
|
|
53
|
-
hasRenderer: () => boolean;
|
|
54
|
-
getBackground: () => import("ol/layer/Base").BackgroundColor | false;
|
|
55
|
-
getClassName: () => string;
|
|
56
|
-
getLayerState: (managed?: boolean | undefined) => import("ol/layer/Layer").State;
|
|
57
|
-
getLayersArray: (array?: import("ol/layer").default<import("ol/source").default, import("ol/renderer/Layer").default<any>>[] | undefined) => Array<import("ol/layer").default>;
|
|
58
|
-
getLayerStatesArray: (states?: import("ol/layer/Layer").State[] | undefined) => Array<import("ol/layer/Layer").State>;
|
|
59
|
-
getExtent: () => import("ol/extent").Extent | undefined;
|
|
60
|
-
getMaxResolution: () => number;
|
|
61
|
-
getMinResolution: () => number;
|
|
62
|
-
getMinZoom: () => number;
|
|
63
|
-
getMaxZoom: () => number;
|
|
64
|
-
getOpacity: () => number;
|
|
65
|
-
getSourceState: () => import("ol/source/Source").State;
|
|
66
|
-
getVisible: () => boolean;
|
|
67
|
-
getZIndex: () => number | undefined;
|
|
68
|
-
setBackground: (background?: import("ol/layer/Base").BackgroundColor | undefined) => void;
|
|
69
|
-
setExtent: (extent: import("ol/extent").Extent | undefined) => void;
|
|
70
|
-
setMaxResolution: (maxResolution: number) => void;
|
|
71
|
-
setMinResolution: (minResolution: number) => void;
|
|
72
|
-
setMaxZoom: (maxZoom: number) => void;
|
|
73
|
-
setMinZoom: (minZoom: number) => void;
|
|
74
|
-
setOpacity: (opacity: number) => void;
|
|
75
|
-
setVisible: (visible: boolean) => void;
|
|
76
|
-
setZIndex: (zindex: number) => void;
|
|
77
|
-
get: (key: string) => any;
|
|
78
|
-
getKeys: () => Array<string>;
|
|
79
|
-
getProperties: () => {
|
|
80
|
-
[x: string]: any;
|
|
81
|
-
};
|
|
82
|
-
getPropertiesInternal: () => {
|
|
83
|
-
[x: string]: any;
|
|
84
|
-
} | null;
|
|
85
|
-
hasProperties: () => boolean;
|
|
86
|
-
notify: (key: string, oldValue: any) => void;
|
|
87
|
-
addChangeListener: (key: string, listener: import("ol/events").Listener) => void;
|
|
88
|
-
removeChangeListener: (key: string, listener: import("ol/events").Listener) => void;
|
|
89
|
-
set: (key: string, value: any, silent?: boolean | undefined) => void;
|
|
90
|
-
setProperties: (values: {
|
|
91
|
-
[x: string]: any;
|
|
92
|
-
}, silent?: boolean | undefined) => void;
|
|
93
|
-
unset: (key: string, silent?: boolean | undefined) => void;
|
|
94
|
-
changed: () => void;
|
|
95
|
-
getRevision: () => number;
|
|
96
|
-
addEventListener: (type: string, listener: import("ol/events").Listener) => void;
|
|
97
|
-
dispatchEvent: (event: import("ol/events/Event").default | string) => boolean | undefined;
|
|
98
|
-
getListeners: (type: string) => Array<import("ol/events").Listener> | undefined;
|
|
99
|
-
hasListener: (type?: string | undefined) => boolean;
|
|
100
|
-
removeEventListener: (type: string, listener: import("ol/events").Listener) => void;
|
|
101
|
-
dispose: () => void;
|
|
102
|
-
};
|
|
103
|
-
} & typeof MapLibreLayer;
|
|
104
15
|
/**
|
|
105
16
|
* An OpenLayers layer able to display data from the [geOps Maps API](https://developer.geops.io/apis/maps).
|
|
106
17
|
*
|
|
@@ -128,11 +39,11 @@ declare const MaplibreLayer_base: {
|
|
|
128
39
|
*
|
|
129
40
|
* @see <a href="/example/ol-maplibre-layer">OpenLayers Maplibre layer example</a>
|
|
130
41
|
*
|
|
131
|
-
* @extends {ol/layer/Layer~Layer}
|
|
132
42
|
* @extends {geoblocks/ol-maplibre-layer/MapLibreLayer}
|
|
133
43
|
* @public
|
|
134
44
|
*/
|
|
135
|
-
declare class MaplibreLayer extends
|
|
45
|
+
declare class MaplibreLayer extends MapLibreLayer {
|
|
46
|
+
olEventsKeys: EventsKey[];
|
|
136
47
|
/**
|
|
137
48
|
* Constructor.
|
|
138
49
|
*
|
|
@@ -146,9 +57,8 @@ declare class MaplibreLayer extends MaplibreLayer_base {
|
|
|
146
57
|
constructor(options: MaplibreLayerOptions);
|
|
147
58
|
/**
|
|
148
59
|
* Initialize the layer and listen to feature clicks.
|
|
149
|
-
* @param {ol/Map~Map} map An OpenLayers map.
|
|
150
60
|
*/
|
|
151
|
-
attachToMap(
|
|
61
|
+
attachToMap(): void;
|
|
152
62
|
/**
|
|
153
63
|
* Create a copy of the MaplibreLayer.
|
|
154
64
|
*
|
|
@@ -157,7 +67,9 @@ declare class MaplibreLayer extends MaplibreLayer_base {
|
|
|
157
67
|
* @public
|
|
158
68
|
*/
|
|
159
69
|
clone(newOptions: MaplibreLayerOptions): MaplibreLayer;
|
|
70
|
+
detachFromMap(): void;
|
|
160
71
|
getStyle(): any;
|
|
72
|
+
setMapInternal(map: Map): void;
|
|
161
73
|
updateMaplibreMap(): void;
|
|
162
74
|
set apiKey(newValue: string);
|
|
163
75
|
get apiKey(): string;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { MapLibreLayer } from '@geoblocks/ol-maplibre-layer';
|
|
2
2
|
import debounce from 'lodash.debounce';
|
|
3
|
+
import { unByKey } from 'ol/Observable';
|
|
3
4
|
import { getUrlWithParams } from '../../common/utils';
|
|
4
|
-
import
|
|
5
|
+
import defineDeprecatedProperties from '../utils/defineDeprecatedProperties';
|
|
5
6
|
const buildStyleUrl = (url, style, apiKey, apiKeyName) => {
|
|
6
7
|
return getUrlWithParams(`${url}/styles/${style}/style.json`, {
|
|
7
8
|
[apiKeyName]: apiKey,
|
|
@@ -42,11 +43,10 @@ if (typeof window !== 'undefined' &&
|
|
|
42
43
|
*
|
|
43
44
|
* @see <a href="/example/ol-maplibre-layer">OpenLayers Maplibre layer example</a>
|
|
44
45
|
*
|
|
45
|
-
* @extends {ol/layer/Layer~Layer}
|
|
46
46
|
* @extends {geoblocks/ol-maplibre-layer/MapLibreLayer}
|
|
47
47
|
* @public
|
|
48
48
|
*/
|
|
49
|
-
class MaplibreLayer extends
|
|
49
|
+
class MaplibreLayer extends MapLibreLayer {
|
|
50
50
|
/**
|
|
51
51
|
* Constructor.
|
|
52
52
|
*
|
|
@@ -71,16 +71,17 @@ class MaplibreLayer extends MobilityLayerMixin(MapLibreLayer) {
|
|
|
71
71
|
newOptions.mapLibreOptions.style = buildStyleUrl(newOptions.url, newOptions.style, newOptions.apiKey, newOptions.apiKeyName);
|
|
72
72
|
}
|
|
73
73
|
super(newOptions);
|
|
74
|
+
this.olEventsKeys = [];
|
|
75
|
+
// For backward compatibility with v2
|
|
76
|
+
defineDeprecatedProperties(this, options);
|
|
74
77
|
// We save the options to be able to clone the layer.
|
|
75
78
|
// and to see if the style is defined by the maplibreOptions given by the user.
|
|
76
79
|
this.set('options', options);
|
|
77
80
|
}
|
|
78
81
|
/**
|
|
79
82
|
* Initialize the layer and listen to feature clicks.
|
|
80
|
-
* @param {ol/Map~Map} map An OpenLayers map.
|
|
81
83
|
*/
|
|
82
|
-
attachToMap(
|
|
83
|
-
super.attachToMap(map);
|
|
84
|
+
attachToMap() {
|
|
84
85
|
const updateMaplibreMapDebounced = debounce(this.updateMaplibreMap.bind(this), 150);
|
|
85
86
|
updateMaplibreMapDebounced();
|
|
86
87
|
this.olEventsKeys.push(this.on('propertychange', (evt) => {
|
|
@@ -89,14 +90,6 @@ class MaplibreLayer extends MobilityLayerMixin(MapLibreLayer) {
|
|
|
89
90
|
}
|
|
90
91
|
}));
|
|
91
92
|
}
|
|
92
|
-
// get queryRenderedFeaturesOptions(): maplibregl.QueryRenderedFeaturesOptions {
|
|
93
|
-
// return this.get('queryRenderedFeaturesOptions');
|
|
94
|
-
// }
|
|
95
|
-
// set queryRenderedFeaturesOptions(
|
|
96
|
-
// newValue: maplibregl.QueryRenderedFeaturesOptions,
|
|
97
|
-
// ) {
|
|
98
|
-
// this.set('queryRenderedFeaturesOptions', newValue);
|
|
99
|
-
// }
|
|
100
93
|
/**
|
|
101
94
|
* Create a copy of the MaplibreLayer.
|
|
102
95
|
*
|
|
@@ -105,7 +98,10 @@ class MaplibreLayer extends MobilityLayerMixin(MapLibreLayer) {
|
|
|
105
98
|
* @public
|
|
106
99
|
*/
|
|
107
100
|
clone(newOptions) {
|
|
108
|
-
return new MaplibreLayer(Object.assign(Object.assign({}, (this.options || {})), (newOptions || {})));
|
|
101
|
+
return new MaplibreLayer(Object.assign(Object.assign({}, (this.get('options') || {})), (newOptions || {})));
|
|
102
|
+
}
|
|
103
|
+
detachFromMap() {
|
|
104
|
+
unByKey(this.olEventsKeys);
|
|
109
105
|
}
|
|
110
106
|
getStyle() {
|
|
111
107
|
var _a, _b;
|
|
@@ -127,6 +123,24 @@ class MaplibreLayer extends MobilityLayerMixin(MapLibreLayer) {
|
|
|
127
123
|
/// Otherwise build the complete style url.
|
|
128
124
|
return buildStyleUrl(this.url, this.style, this.apiKey, this.apiKeyName);
|
|
129
125
|
}
|
|
126
|
+
// get queryRenderedFeaturesOptions(): maplibregl.QueryRenderedFeaturesOptions {
|
|
127
|
+
// return this.get('queryRenderedFeaturesOptions');
|
|
128
|
+
// }
|
|
129
|
+
// set queryRenderedFeaturesOptions(
|
|
130
|
+
// newValue: maplibregl.QueryRenderedFeaturesOptions,
|
|
131
|
+
// ) {
|
|
132
|
+
// this.set('queryRenderedFeaturesOptions', newValue);
|
|
133
|
+
// }
|
|
134
|
+
setMapInternal(map) {
|
|
135
|
+
if (map) {
|
|
136
|
+
super.setMapInternal(map);
|
|
137
|
+
this.attachToMap();
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
this.detachFromMap();
|
|
141
|
+
super.setMapInternal(map);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
130
144
|
updateMaplibreMap() {
|
|
131
145
|
var _a;
|
|
132
146
|
try {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { FeatureState } from 'maplibre-gl';
|
|
2
2
|
import { Feature, Map } from 'ol';
|
|
3
3
|
import { Coordinate } from 'ol/coordinate';
|
|
4
|
+
import { EventsKey } from 'ol/events';
|
|
4
5
|
import { Layer } from 'ol/layer';
|
|
5
6
|
import { ObjectEvent } from 'ol/Object';
|
|
6
|
-
import { Source } from 'ol/source';
|
|
7
7
|
import { FilterFunction } from '../../common/typedefs';
|
|
8
8
|
import { LayerGetFeatureInfoResponse } from '../../types';
|
|
9
9
|
import MaplibreStyleLayerRenderer from '../renderers/MaplibreStyleLayerRenderer';
|
|
@@ -15,96 +15,6 @@ export type MaplibreStyleLayerOptions = {
|
|
|
15
15
|
maplibreLayer?: MaplibreLayer;
|
|
16
16
|
queryRenderedLayersFilter?: FilterFunction;
|
|
17
17
|
} & MaplibreLayerOptions;
|
|
18
|
-
declare const MaplibreStyleLayer_base: {
|
|
19
|
-
new (...args: any[]): {
|
|
20
|
-
olEventsKeys: import("ol/events").EventsKey[];
|
|
21
|
-
options?: import("../mixins/PropertiesLayerMixin").PropertiesLayerMixinOptions;
|
|
22
|
-
attachToMap(map: Map): void;
|
|
23
|
-
detachFromMap(): void;
|
|
24
|
-
flat(): any[];
|
|
25
|
-
onChildrenChange(oldValue: Layer[]): void;
|
|
26
|
-
setMapInternal: ((map: Map) => void) & ((map: import("ol/Map").default | null) => void);
|
|
27
|
-
children: Layer<Source, import("ol/renderer/Layer").default<any>>[];
|
|
28
|
-
get copyrights(): string;
|
|
29
|
-
set copyrights(newCopyrights: string | string[]);
|
|
30
|
-
disabled: boolean;
|
|
31
|
-
readonly group: string;
|
|
32
|
-
hitTolerance: number;
|
|
33
|
-
readonly key: string;
|
|
34
|
-
readonly map: Map;
|
|
35
|
-
readonly name: string;
|
|
36
|
-
olLayer: Layer;
|
|
37
|
-
parent: Layer<Source, import("ol/renderer/Layer").default<any>>;
|
|
38
|
-
visible: boolean;
|
|
39
|
-
on: import("ol/layer/Layer").LayerOnSignature<import("ol/events").EventsKey>;
|
|
40
|
-
once: import("ol/layer/Layer").LayerOnSignature<import("ol/events").EventsKey>;
|
|
41
|
-
un: import("ol/layer/Layer").LayerOnSignature<void>;
|
|
42
|
-
render: (frameState: import("ol/Map").FrameState | null, target: HTMLElement) => HTMLElement | null;
|
|
43
|
-
getSource: () => Source | null;
|
|
44
|
-
getRenderSource: () => Source | null;
|
|
45
|
-
getFeatures: (pixel: import("ol/pixel").Pixel) => Promise<Array<import("ol/Feature").FeatureLike>>;
|
|
46
|
-
getData: (pixel: import("ol/pixel").Pixel) => Uint8ClampedArray | Uint8Array | Float32Array | DataView | null;
|
|
47
|
-
isVisible: (view?: import("ol").View | import("ol/View").ViewStateLayerStateExtent | undefined) => boolean;
|
|
48
|
-
getAttributions: (view?: import("ol").View | import("ol/View").ViewStateLayerStateExtent | undefined) => Array<string>;
|
|
49
|
-
unrender: () => void;
|
|
50
|
-
getDeclutter: () => string;
|
|
51
|
-
renderDeclutter: (frameState: import("ol/Map").FrameState, layerState: import("ol/layer/Layer").State) => void;
|
|
52
|
-
renderDeferred: (frameState: import("ol/Map").FrameState) => void;
|
|
53
|
-
getMapInternal: () => import("ol/Map").default | null;
|
|
54
|
-
setMap: (map: import("ol/Map").default | null) => void;
|
|
55
|
-
setSource: (source: Source | null) => void;
|
|
56
|
-
getRenderer: () => import("ol/renderer/Layer").default<any> | null;
|
|
57
|
-
hasRenderer: () => boolean;
|
|
58
|
-
getBackground: () => import("ol/layer/Base").BackgroundColor | false;
|
|
59
|
-
getClassName: () => string;
|
|
60
|
-
getLayerState: (managed?: boolean | undefined) => import("ol/layer/Layer").State;
|
|
61
|
-
getLayersArray: (array?: import("ol/layer/Layer").default<import("ol/source/Source").default, import("ol/renderer/Layer").default<any>>[] | undefined) => Array<import("ol/layer/Layer").default>;
|
|
62
|
-
getLayerStatesArray: (states?: import("ol/layer/Layer").State[] | undefined) => Array<import("ol/layer/Layer").State>;
|
|
63
|
-
getExtent: () => import("ol/extent").Extent | undefined;
|
|
64
|
-
getMaxResolution: () => number;
|
|
65
|
-
getMinResolution: () => number;
|
|
66
|
-
getMinZoom: () => number;
|
|
67
|
-
getMaxZoom: () => number;
|
|
68
|
-
getOpacity: () => number;
|
|
69
|
-
getSourceState: () => import("ol/source/Source").State;
|
|
70
|
-
getVisible: () => boolean;
|
|
71
|
-
getZIndex: () => number | undefined;
|
|
72
|
-
setBackground: (background?: import("ol/layer/Base").BackgroundColor | undefined) => void;
|
|
73
|
-
setExtent: (extent: import("ol/extent").Extent | undefined) => void;
|
|
74
|
-
setMaxResolution: (maxResolution: number) => void;
|
|
75
|
-
setMinResolution: (minResolution: number) => void;
|
|
76
|
-
setMaxZoom: (maxZoom: number) => void;
|
|
77
|
-
setMinZoom: (minZoom: number) => void;
|
|
78
|
-
setOpacity: (opacity: number) => void;
|
|
79
|
-
setVisible: (visible: boolean) => void;
|
|
80
|
-
setZIndex: (zindex: number) => void;
|
|
81
|
-
get: (key: string) => any;
|
|
82
|
-
getKeys: () => Array<string>;
|
|
83
|
-
getProperties: () => {
|
|
84
|
-
[x: string]: any;
|
|
85
|
-
};
|
|
86
|
-
getPropertiesInternal: () => {
|
|
87
|
-
[x: string]: any;
|
|
88
|
-
} | null;
|
|
89
|
-
hasProperties: () => boolean;
|
|
90
|
-
notify: (key: string, oldValue: any) => void;
|
|
91
|
-
addChangeListener: (key: string, listener: import("ol/events").Listener) => void;
|
|
92
|
-
removeChangeListener: (key: string, listener: import("ol/events").Listener) => void;
|
|
93
|
-
set: (key: string, value: any, silent?: boolean | undefined) => void;
|
|
94
|
-
setProperties: (values: {
|
|
95
|
-
[x: string]: any;
|
|
96
|
-
}, silent?: boolean | undefined) => void;
|
|
97
|
-
unset: (key: string, silent?: boolean | undefined) => void;
|
|
98
|
-
changed: () => void;
|
|
99
|
-
getRevision: () => number;
|
|
100
|
-
addEventListener: (type: string, listener: import("ol/events").Listener) => void;
|
|
101
|
-
dispatchEvent: (event: import("ol/events/Event").default | string) => boolean | undefined;
|
|
102
|
-
getListeners: (type: string) => Array<import("ol/events").Listener> | undefined;
|
|
103
|
-
hasListener: (type?: string | undefined) => boolean;
|
|
104
|
-
removeEventListener: (type: string, listener: import("ol/events").Listener) => void;
|
|
105
|
-
dispose: () => void;
|
|
106
|
-
};
|
|
107
|
-
} & typeof Layer;
|
|
108
18
|
/**
|
|
109
19
|
* Layer that helps show/hide a specific subset of style layers of a [MaplibreLayer](./MaplibreLayer.js~MaplibreLayer.html).
|
|
110
20
|
*
|
|
@@ -127,8 +37,9 @@ declare const MaplibreStyleLayer_base: {
|
|
|
127
37
|
* @extends {ol/layer/Layer~Layer}
|
|
128
38
|
* @public
|
|
129
39
|
*/
|
|
130
|
-
declare class MaplibreStyleLayer extends
|
|
40
|
+
declare class MaplibreStyleLayer extends Layer {
|
|
131
41
|
highlightedFeatures: Feature[];
|
|
42
|
+
olEventsKeys: EventsKey[];
|
|
132
43
|
selectedFeatures: Feature[];
|
|
133
44
|
/**
|
|
134
45
|
* Constructor.
|
|
@@ -206,6 +117,7 @@ declare class MaplibreStyleLayer extends MaplibreStyleLayer_base {
|
|
|
206
117
|
* @deprecated Use layer.setFeatureState(features, {hover: true|false}) instead.
|
|
207
118
|
*/
|
|
208
119
|
setHoverState(features: Feature[], state: boolean): void;
|
|
120
|
+
setMapInternal(map: Map): void;
|
|
209
121
|
get beforeId(): string;
|
|
210
122
|
set beforeId(newValue: string | undefined);
|
|
211
123
|
get layers(): maplibregl.AddLayerObject[];
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import debounce from 'lodash.debounce';
|
|
2
2
|
import { Layer } from 'ol/layer';
|
|
3
|
+
import { unByKey } from 'ol/Observable';
|
|
3
4
|
import { Source } from 'ol/source';
|
|
4
5
|
import { VECTOR_TILE_FEATURE_PROPERTY } from '../../common';
|
|
5
|
-
import MobilityLayerMixin from '../mixins/MobilityLayerMixin';
|
|
6
6
|
import MaplibreStyleLayerRenderer from '../renderers/MaplibreStyleLayerRenderer';
|
|
7
|
+
import defineDeprecatedProperties from '../utils/defineDeprecatedProperties';
|
|
7
8
|
let deprecated = () => { };
|
|
8
9
|
if (typeof window !== 'undefined' &&
|
|
9
10
|
new URLSearchParams(window.location.search).get('deprecated')) {
|
|
@@ -34,7 +35,7 @@ if (typeof window !== 'undefined' &&
|
|
|
34
35
|
* @extends {ol/layer/Layer~Layer}
|
|
35
36
|
* @public
|
|
36
37
|
*/
|
|
37
|
-
class MaplibreStyleLayer extends
|
|
38
|
+
class MaplibreStyleLayer extends Layer {
|
|
38
39
|
/**
|
|
39
40
|
* Constructor.
|
|
40
41
|
*
|
|
@@ -74,7 +75,12 @@ class MaplibreStyleLayer extends MobilityLayerMixin(Layer) {
|
|
|
74
75
|
}
|
|
75
76
|
super(Object.assign({ source: new Source({}) }, options));
|
|
76
77
|
this.highlightedFeatures = [];
|
|
78
|
+
this.olEventsKeys = [];
|
|
77
79
|
this.selectedFeatures = [];
|
|
80
|
+
// For backward compatibility with v2
|
|
81
|
+
defineDeprecatedProperties(this, options);
|
|
82
|
+
// For cloning
|
|
83
|
+
this.set('options', options);
|
|
78
84
|
this.beforeId = options.beforeId;
|
|
79
85
|
this.onLoad = this.onLoad.bind(this);
|
|
80
86
|
if (!this.layersFilter && this.layers) {
|
|
@@ -146,17 +152,17 @@ class MaplibreStyleLayer extends MobilityLayerMixin(Layer) {
|
|
|
146
152
|
* @override
|
|
147
153
|
*/
|
|
148
154
|
attachToMap(map) {
|
|
149
|
-
if (this.maplibreLayer && !this.maplibreLayer.
|
|
155
|
+
if (this.maplibreLayer && !this.maplibreLayer.getMapInternal()) {
|
|
150
156
|
map.addLayer(this.maplibreLayer);
|
|
151
157
|
}
|
|
152
|
-
|
|
153
|
-
if (!
|
|
158
|
+
const mapInternal = this.getMapInternal();
|
|
159
|
+
if (!mapInternal || !this.maplibreLayer) {
|
|
154
160
|
return;
|
|
155
161
|
}
|
|
156
|
-
if (!
|
|
162
|
+
if (!mapInternal.getTargetElement()) {
|
|
157
163
|
// If ther e is no target element the mapLibreMap is not yet created, we
|
|
158
164
|
// relaunch the initialisation when it's the case.
|
|
159
|
-
this.olEventsKeys.push(
|
|
165
|
+
this.olEventsKeys.push(mapInternal.on('change:target', () => {
|
|
160
166
|
this.attachToMap(map);
|
|
161
167
|
}));
|
|
162
168
|
return;
|
|
@@ -207,7 +213,7 @@ class MaplibreStyleLayer extends MobilityLayerMixin(Layer) {
|
|
|
207
213
|
* @public
|
|
208
214
|
*/
|
|
209
215
|
clone(newOptions) {
|
|
210
|
-
return new MaplibreStyleLayer(Object.assign(Object.assign({}, this.options), newOptions));
|
|
216
|
+
return new MaplibreStyleLayer(Object.assign(Object.assign({}, this.get('options')), newOptions));
|
|
211
217
|
}
|
|
212
218
|
createRenderer() {
|
|
213
219
|
return new MaplibreStyleLayerRenderer(this);
|
|
@@ -218,12 +224,12 @@ class MaplibreStyleLayer extends MobilityLayerMixin(Layer) {
|
|
|
218
224
|
*/
|
|
219
225
|
detachFromMap() {
|
|
220
226
|
var _a;
|
|
227
|
+
unByKey(this.olEventsKeys);
|
|
221
228
|
if ((_a = this.maplibreLayer) === null || _a === void 0 ? void 0 : _a.mapLibreMap) {
|
|
222
229
|
this.maplibreLayer.mapLibreMap.off('load', this.onLoad);
|
|
223
230
|
this.removeLayers();
|
|
224
231
|
this.removeSources();
|
|
225
232
|
}
|
|
226
|
-
super.detachFromMap();
|
|
227
233
|
}
|
|
228
234
|
/**
|
|
229
235
|
* Request feature information for a given coordinate.
|
|
@@ -392,6 +398,16 @@ class MaplibreStyleLayer extends MobilityLayerMixin(Layer) {
|
|
|
392
398
|
deprecated(`Deprecated. Use layer.setFeatureState(features, {hover: ${state}}) instead.`);
|
|
393
399
|
this.setFeatureState(features, { hover: state });
|
|
394
400
|
}
|
|
401
|
+
setMapInternal(map) {
|
|
402
|
+
if (map) {
|
|
403
|
+
super.setMapInternal(map);
|
|
404
|
+
this.attachToMap(map);
|
|
405
|
+
}
|
|
406
|
+
else {
|
|
407
|
+
this.detachFromMap();
|
|
408
|
+
super.setMapInternal(map);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
395
411
|
get beforeId() {
|
|
396
412
|
return this.get('beforeId');
|
|
397
413
|
}
|