@deck.gl/mapbox 9.3.0-alpha.6 → 9.3.0-beta.1
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/dist/deck-utils.d.ts +1 -2
- package/dist/deck-utils.d.ts.map +1 -1
- package/dist/deck-utils.js +8 -30
- package/dist/deck-utils.js.map +1 -1
- package/dist/dist.dev.js +119 -229
- package/dist/index.cjs +116 -226
- package/dist/index.cjs.map +4 -4
- package/dist/mapbox-overlay.d.ts +1 -6
- package/dist/mapbox-overlay.d.ts.map +1 -1
- package/dist/mapbox-overlay.js +23 -14
- package/dist/mapbox-overlay.js.map +1 -1
- package/dist/resolve-layer-groups.d.ts +3 -2
- package/dist/resolve-layer-groups.d.ts.map +1 -1
- package/dist/resolve-layer-groups.js +1 -1
- package/dist/resolve-layer-groups.js.map +1 -1
- package/dist.min.js +1 -1
- package/package.json +2 -2
- package/src/deck-utils.ts +11 -42
- package/src/mapbox-overlay.ts +25 -20
- package/src/resolve-layer-groups.ts +1 -1
- package/dist/mapbox-layer.d.ts +0 -25
- package/dist/mapbox-layer.d.ts.map +0 -1
- package/dist/mapbox-layer.js +0 -35
- package/dist/mapbox-layer.js.map +0 -1
- package/dist/resolve-layers.d.ts +0 -5
- package/dist/resolve-layers.d.ts.map +0 -1
- package/dist/resolve-layers.js +0 -84
- package/dist/resolve-layers.js.map +0 -1
- package/src/mapbox-layer.ts +0 -61
- package/src/resolve-layers.ts +0 -104
package/dist/deck-utils.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Deck, MapView, _GlobeView as GlobeView } from '@deck.gl/core';
|
|
2
2
|
import type { MapViewState } from '@deck.gl/core';
|
|
3
3
|
import type { Parameters } from '@luma.gl/core';
|
|
4
|
-
import type MapboxLayer from "./mapbox-layer.js";
|
|
5
4
|
import type MapboxLayerGroup from "./mapbox-layer-group.js";
|
|
6
5
|
import type { Map } from "./types.js";
|
|
6
|
+
export declare const MAPBOX_VIEW_ID = "mapbox";
|
|
7
7
|
export declare function getDeckInstance({ map, deck }: {
|
|
8
8
|
map: Map & {
|
|
9
9
|
__deck?: Deck<any> | null;
|
|
@@ -14,7 +14,6 @@ export declare function removeDeckInstance(map: Map & {
|
|
|
14
14
|
__deck?: Deck | null;
|
|
15
15
|
}): void;
|
|
16
16
|
export declare function getDefaultParameters(map: Map, interleaved: boolean): Parameters;
|
|
17
|
-
export declare function drawLayer(deck: Deck, map: Map, layer: MapboxLayer<any>, renderParameters: any): void;
|
|
18
17
|
export declare function drawLayerGroup(deck: Deck, map: Map, group: MapboxLayerGroup, renderParameters: any): void;
|
|
19
18
|
export declare function getProjection(map: Map): 'mercator' | 'globe';
|
|
20
19
|
export declare function getDefaultView(map: Map): GlobeView | MapView;
|
package/dist/deck-utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deck-utils.d.ts","sourceRoot":"","sources":["../src/deck-utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,SAAS,EAAsB,MAAM,eAAe,CAAC;AAC1F,OAAO,KAAK,EAAW,YAAY,EAAQ,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"deck-utils.d.ts","sourceRoot":"","sources":["../src/deck-utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,SAAS,EAAsB,MAAM,eAAe,CAAC;AAC1F,OAAO,KAAK,EAAW,YAAY,EAAQ,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,gBAAgB,gCAA6B;AACzD,OAAO,KAAK,EAAoB,GAAG,EAAC,mBAAgB;AAKpD,eAAO,MAAM,cAAc,WAAW,CAAC;AAWvC,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,IAAI,EACL,EAAE;IACD,GAAG,EAAE,GAAG,GAAG;QAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;KAAC,CAAC;IACvC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;CACjB,GAAG,IAAI,CAAC,GAAG,CAAC,CAgDZ;AAeD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG;IAAC,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;CAAC,QAGnE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,GAAG,UAAU,CAmB/E;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,gBAAgB,EACvB,gBAAgB,EAAE,GAAG,GACpB,IAAI,CAmCN;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,GAAG,OAAO,CAc5D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,GAAG,OAAO,CAK5D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,GAAG;IACrD,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CA6BA"}
|
package/dist/deck-utils.js
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
import { MapView, _GlobeView as GlobeView, _flatten as flatten } from '@deck.gl/core';
|
|
5
|
+
import { getLayerGroupId } from "./resolve-layer-groups.js";
|
|
5
6
|
import { lngLatToWorld, unitsPerMeter } from '@math.gl/web-mercator';
|
|
6
|
-
const MAPBOX_VIEW_ID = 'mapbox';
|
|
7
|
+
export const MAPBOX_VIEW_ID = 'mapbox';
|
|
7
8
|
// Mercator constants
|
|
8
9
|
const TILE_SIZE = 512;
|
|
9
10
|
const DEGREES_TO_RADIANS = Math.PI / 180;
|
|
@@ -23,7 +24,7 @@ export function getDeckInstance({ map, deck }) {
|
|
|
23
24
|
// customRender may be subscribed by DeckGL React component to update child props
|
|
24
25
|
// make sure it is still called
|
|
25
26
|
// Hack - do not pass a redraw reason here to prevent the React component from clearing the context
|
|
26
|
-
// Rerender will be triggered by
|
|
27
|
+
// Rerender will be triggered by MapboxLayerGroup's render()
|
|
27
28
|
customRender?.('');
|
|
28
29
|
}
|
|
29
30
|
};
|
|
@@ -90,30 +91,6 @@ export function getDefaultParameters(map, interleaved) {
|
|
|
90
91
|
}
|
|
91
92
|
return result;
|
|
92
93
|
}
|
|
93
|
-
export function drawLayer(deck, map, layer, renderParameters) {
|
|
94
|
-
if (!deck.isInitialized) {
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
let { currentViewport } = deck.userData;
|
|
98
|
-
let clearStack = false;
|
|
99
|
-
if (!currentViewport) {
|
|
100
|
-
// This is the first layer drawn in this render cycle.
|
|
101
|
-
// Generate viewport from the current map state.
|
|
102
|
-
currentViewport = getViewport(deck, map, renderParameters);
|
|
103
|
-
deck.userData.currentViewport = currentViewport;
|
|
104
|
-
clearStack = true;
|
|
105
|
-
}
|
|
106
|
-
if (!currentViewport) {
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
deck._drawLayers('mapbox-repaint', {
|
|
110
|
-
viewports: [currentViewport],
|
|
111
|
-
layerFilter: params => (!deck.props.layerFilter || deck.props.layerFilter(params)) &&
|
|
112
|
-
(layer.id === params.layer.id || params.layer.props.operation.includes('terrain')),
|
|
113
|
-
clearStack,
|
|
114
|
-
clearCanvas: false
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
94
|
export function drawLayerGroup(deck, map, group, renderParameters) {
|
|
118
95
|
if (!deck.isInitialized) {
|
|
119
96
|
return;
|
|
@@ -228,7 +205,7 @@ function getViewport(deck, map, renderParameters) {
|
|
|
228
205
|
// View is always MapView or GlobeView in this context
|
|
229
206
|
const view = (deck.getView(MAPBOX_VIEW_ID) || getDefaultView(map));
|
|
230
207
|
if (renderParameters) {
|
|
231
|
-
// Called from
|
|
208
|
+
// Called from MapboxLayerGroup.render
|
|
232
209
|
// Magic number, matches mapbox-gl@>=1.3.0's projection matrix
|
|
233
210
|
view.props.nearZMultiplier = 0.2;
|
|
234
211
|
}
|
|
@@ -249,9 +226,9 @@ function getViewport(deck, map, renderParameters) {
|
|
|
249
226
|
});
|
|
250
227
|
}
|
|
251
228
|
function afterRender(deck, map) {
|
|
252
|
-
// Draw non-Mapbox layers (layers that don't have a corresponding
|
|
229
|
+
// Draw non-Mapbox layers (layers that don't have a corresponding MapboxLayerGroup on the map)
|
|
253
230
|
const deckLayers = flatten(deck.props.layers, Boolean);
|
|
254
|
-
const hasNonMapboxLayers = deckLayers.some(layer => layer && !map.getLayer(layer
|
|
231
|
+
const hasNonMapboxLayers = deckLayers.some(layer => layer && !map.getLayer(getLayerGroupId(layer)));
|
|
255
232
|
let viewports = deck.getViewports();
|
|
256
233
|
const mapboxViewportIdx = viewports.findIndex(vp => vp.id === MAPBOX_VIEW_ID);
|
|
257
234
|
const hasNonMapboxViews = viewports.length > 1 || mapboxViewportIdx < 0;
|
|
@@ -269,7 +246,8 @@ function afterRender(deck, map) {
|
|
|
269
246
|
deck._drawLayers('mapbox-repaint', {
|
|
270
247
|
viewports,
|
|
271
248
|
layerFilter: params => (!deck.props.layerFilter || deck.props.layerFilter(params)) &&
|
|
272
|
-
(params.viewport.id !== MAPBOX_VIEW_ID ||
|
|
249
|
+
(params.viewport.id !== MAPBOX_VIEW_ID ||
|
|
250
|
+
!map.getLayer(getLayerGroupId(params.layer))),
|
|
273
251
|
clearCanvas: false
|
|
274
252
|
});
|
|
275
253
|
}
|
package/dist/deck-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deck-utils.js","sourceRoot":"","sources":["../src/deck-utils.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAO,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,QAAQ,IAAI,OAAO,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"deck-utils.js","sourceRoot":"","sources":["../src/deck-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/dist.dev.js
CHANGED
|
@@ -63,13 +63,96 @@ var __exports__ = (() => {
|
|
|
63
63
|
__reExport(bundle_exports, peer_dependency_exports);
|
|
64
64
|
|
|
65
65
|
// src/mapbox-overlay.ts
|
|
66
|
-
var
|
|
66
|
+
var import_core5 = __toESM(require_core(), 1);
|
|
67
67
|
|
|
68
68
|
// src/deck-utils.ts
|
|
69
|
+
var import_core4 = __toESM(require_core(), 1);
|
|
70
|
+
|
|
71
|
+
// src/resolve-layer-groups.ts
|
|
72
|
+
var import_core3 = __toESM(require_core(), 1);
|
|
73
|
+
|
|
74
|
+
// src/mapbox-layer-group.ts
|
|
69
75
|
var import_core2 = __toESM(require_core(), 1);
|
|
76
|
+
var MapboxLayerGroup = class {
|
|
77
|
+
/* eslint-disable no-this-before-super */
|
|
78
|
+
constructor(props) {
|
|
79
|
+
(0, import_core2.assert)(props.id, "id is required");
|
|
80
|
+
this.id = props.id;
|
|
81
|
+
this.type = "custom";
|
|
82
|
+
this.renderingMode = props.renderingMode || "3d";
|
|
83
|
+
this.slot = props.slot;
|
|
84
|
+
this.beforeId = props.beforeId;
|
|
85
|
+
this.map = null;
|
|
86
|
+
}
|
|
87
|
+
/* Mapbox custom layer methods */
|
|
88
|
+
onAdd(map, gl) {
|
|
89
|
+
this.map = map;
|
|
90
|
+
}
|
|
91
|
+
render(gl, renderParameters) {
|
|
92
|
+
if (!this.map)
|
|
93
|
+
return;
|
|
94
|
+
drawLayerGroup(this.map.__deck, this.map, this, renderParameters);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
// src/resolve-layer-groups.ts
|
|
99
|
+
var UNDEFINED_BEFORE_ID = "__UNDEFINED__";
|
|
100
|
+
function getLayerGroupId(layer) {
|
|
101
|
+
if (layer.props.beforeId) {
|
|
102
|
+
return `deck-layer-group-before:${layer.props.beforeId}`;
|
|
103
|
+
} else if (layer.props.slot) {
|
|
104
|
+
return `deck-layer-group-slot:${layer.props.slot}`;
|
|
105
|
+
}
|
|
106
|
+
return "deck-layer-group-last";
|
|
107
|
+
}
|
|
108
|
+
function resolveLayerGroups(map, oldLayers, newLayers) {
|
|
109
|
+
if (!map || !map.style || !map.style._loaded) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const layers = (0, import_core3._flatten)(newLayers, Boolean);
|
|
113
|
+
if (oldLayers !== newLayers) {
|
|
114
|
+
const prevLayers = (0, import_core3._flatten)(oldLayers, Boolean);
|
|
115
|
+
const prevLayerGroupIds = new Set(prevLayers.map((l) => getLayerGroupId(l)));
|
|
116
|
+
const newLayerGroupIds = new Set(layers.map((l) => getLayerGroupId(l)));
|
|
117
|
+
for (const groupId of prevLayerGroupIds) {
|
|
118
|
+
if (!newLayerGroupIds.has(groupId)) {
|
|
119
|
+
if (map.getLayer(groupId)) {
|
|
120
|
+
map.removeLayer(groupId);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
const layerGroups = {};
|
|
126
|
+
for (const layer of layers) {
|
|
127
|
+
const groupId = getLayerGroupId(layer);
|
|
128
|
+
const mapboxGroup = map.getLayer(groupId);
|
|
129
|
+
if (mapboxGroup) {
|
|
130
|
+
const groupInstance = mapboxGroup.implementation || mapboxGroup;
|
|
131
|
+
layerGroups[groupId] = groupInstance;
|
|
132
|
+
} else {
|
|
133
|
+
const newGroup = new MapboxLayerGroup({
|
|
134
|
+
id: groupId,
|
|
135
|
+
slot: layer.props.slot,
|
|
136
|
+
beforeId: layer.props.beforeId
|
|
137
|
+
});
|
|
138
|
+
layerGroups[groupId] = newGroup;
|
|
139
|
+
map.addLayer(newGroup, layer.props.beforeId);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
const mapLayers = map.style._order;
|
|
143
|
+
for (const [groupId, group] of Object.entries(layerGroups)) {
|
|
144
|
+
const beforeId = group.beforeId || UNDEFINED_BEFORE_ID;
|
|
145
|
+
const expectedGroupIndex = beforeId === UNDEFINED_BEFORE_ID ? mapLayers.length : mapLayers.indexOf(beforeId);
|
|
146
|
+
const currentGropupIndex = mapLayers.indexOf(groupId);
|
|
147
|
+
if (currentGropupIndex !== expectedGroupIndex - 1) {
|
|
148
|
+
const moveBeforeId = beforeId === UNDEFINED_BEFORE_ID ? void 0 : beforeId;
|
|
149
|
+
map.moveLayer(groupId, moveBeforeId);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
70
153
|
|
|
71
154
|
// ../../node_modules/@math.gl/web-mercator/dist/assert.js
|
|
72
|
-
function
|
|
155
|
+
function assert2(condition, message) {
|
|
73
156
|
if (!condition) {
|
|
74
157
|
throw new Error(message || "@math.gl/web-mercator: assertion failed.");
|
|
75
158
|
}
|
|
@@ -84,8 +167,8 @@ var __exports__ = (() => {
|
|
|
84
167
|
var EARTH_CIRCUMFERENCE = 4003e4;
|
|
85
168
|
function lngLatToWorld(lngLat) {
|
|
86
169
|
const [lng, lat] = lngLat;
|
|
87
|
-
|
|
88
|
-
|
|
170
|
+
assert2(Number.isFinite(lng));
|
|
171
|
+
assert2(Number.isFinite(lat) && lat >= -90 && lat <= 90, "invalid latitude");
|
|
89
172
|
const lambda2 = lng * DEGREES_TO_RADIANS;
|
|
90
173
|
const phi2 = lat * DEGREES_TO_RADIANS;
|
|
91
174
|
const x = TILE_SIZE * (lambda2 + PI) / (2 * PI);
|
|
@@ -175,27 +258,6 @@ var __exports__ = (() => {
|
|
|
175
258
|
}
|
|
176
259
|
return result;
|
|
177
260
|
}
|
|
178
|
-
function drawLayer(deck, map, layer, renderParameters) {
|
|
179
|
-
if (!deck.isInitialized) {
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
let { currentViewport } = deck.userData;
|
|
183
|
-
let clearStack = false;
|
|
184
|
-
if (!currentViewport) {
|
|
185
|
-
currentViewport = getViewport(deck, map, renderParameters);
|
|
186
|
-
deck.userData.currentViewport = currentViewport;
|
|
187
|
-
clearStack = true;
|
|
188
|
-
}
|
|
189
|
-
if (!currentViewport) {
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
deck._drawLayers("mapbox-repaint", {
|
|
193
|
-
viewports: [currentViewport],
|
|
194
|
-
layerFilter: (params) => (!deck.props.layerFilter || deck.props.layerFilter(params)) && (layer.id === params.layer.id || params.layer.props.operation.includes("terrain")),
|
|
195
|
-
clearStack,
|
|
196
|
-
clearCanvas: false
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
261
|
function drawLayerGroup(deck, map, group, renderParameters) {
|
|
200
262
|
if (!deck.isInitialized) {
|
|
201
263
|
return;
|
|
@@ -243,9 +305,9 @@ var __exports__ = (() => {
|
|
|
243
305
|
}
|
|
244
306
|
function getDefaultView(map) {
|
|
245
307
|
if (getProjection(map) === "globe") {
|
|
246
|
-
return new
|
|
308
|
+
return new import_core4._GlobeView({ id: MAPBOX_VIEW_ID });
|
|
247
309
|
}
|
|
248
|
-
return new
|
|
310
|
+
return new import_core4.MapView({ id: MAPBOX_VIEW_ID });
|
|
249
311
|
}
|
|
250
312
|
function getViewState(map) {
|
|
251
313
|
const { lng, lat } = map.getCenter();
|
|
@@ -313,8 +375,10 @@ var __exports__ = (() => {
|
|
|
313
375
|
});
|
|
314
376
|
}
|
|
315
377
|
function afterRender(deck, map) {
|
|
316
|
-
const deckLayers = (0,
|
|
317
|
-
const hasNonMapboxLayers = deckLayers.some(
|
|
378
|
+
const deckLayers = (0, import_core4._flatten)(deck.props.layers, Boolean);
|
|
379
|
+
const hasNonMapboxLayers = deckLayers.some(
|
|
380
|
+
(layer) => layer && !map.getLayer(getLayerGroupId(layer))
|
|
381
|
+
);
|
|
318
382
|
let viewports = deck.getViewports();
|
|
319
383
|
const mapboxViewportIdx = viewports.findIndex((vp) => vp.id === MAPBOX_VIEW_ID);
|
|
320
384
|
const hasNonMapboxViews = viewports.length > 1 || mapboxViewportIdx < 0;
|
|
@@ -330,7 +394,7 @@ var __exports__ = (() => {
|
|
|
330
394
|
}
|
|
331
395
|
deck._drawLayers("mapbox-repaint", {
|
|
332
396
|
viewports,
|
|
333
|
-
layerFilter: (params) => (!deck.props.layerFilter || deck.props.layerFilter(params)) && (params.viewport.id !== MAPBOX_VIEW_ID || !map.getLayer(params.layer
|
|
397
|
+
layerFilter: (params) => (!deck.props.layerFilter || deck.props.layerFilter(params)) && (params.viewport.id !== MAPBOX_VIEW_ID || !map.getLayer(getLayerGroupId(params.layer))),
|
|
334
398
|
clearCanvas: false
|
|
335
399
|
});
|
|
336
400
|
} else {
|
|
@@ -348,188 +412,6 @@ var __exports__ = (() => {
|
|
|
348
412
|
deck.needsRedraw({ clearRedrawFlags: true });
|
|
349
413
|
}
|
|
350
414
|
|
|
351
|
-
// src/resolve-layers.ts
|
|
352
|
-
var import_core3 = __toESM(require_core(), 1);
|
|
353
|
-
|
|
354
|
-
// src/mapbox-layer.ts
|
|
355
|
-
var MapboxLayer = class {
|
|
356
|
-
/* eslint-disable no-this-before-super */
|
|
357
|
-
constructor(props) {
|
|
358
|
-
if (!props.id) {
|
|
359
|
-
throw new Error("Layer must have an unique id");
|
|
360
|
-
}
|
|
361
|
-
this.id = props.id;
|
|
362
|
-
this.type = "custom";
|
|
363
|
-
this.renderingMode = props.renderingMode || "3d";
|
|
364
|
-
this.slot = props.slot;
|
|
365
|
-
this.map = null;
|
|
366
|
-
this.props = props;
|
|
367
|
-
}
|
|
368
|
-
/* Mapbox custom layer methods */
|
|
369
|
-
onAdd(map, gl) {
|
|
370
|
-
this.map = map;
|
|
371
|
-
}
|
|
372
|
-
onRemove() {
|
|
373
|
-
this.map = null;
|
|
374
|
-
}
|
|
375
|
-
setProps(props) {
|
|
376
|
-
Object.assign(this.props, props, { id: this.id });
|
|
377
|
-
}
|
|
378
|
-
render(gl, renderParameters) {
|
|
379
|
-
if (!this.map)
|
|
380
|
-
return;
|
|
381
|
-
drawLayer(this.map.__deck, this.map, this, renderParameters);
|
|
382
|
-
}
|
|
383
|
-
};
|
|
384
|
-
|
|
385
|
-
// src/resolve-layers.ts
|
|
386
|
-
var UNDEFINED_BEFORE_ID = "__UNDEFINED__";
|
|
387
|
-
function resolveLayers(map, deck, oldLayers, newLayers) {
|
|
388
|
-
if (!map || !deck || !map.style || !map.style._loaded) {
|
|
389
|
-
return;
|
|
390
|
-
}
|
|
391
|
-
const layers = (0, import_core3._flatten)(newLayers, Boolean);
|
|
392
|
-
if (oldLayers !== newLayers) {
|
|
393
|
-
const prevLayers = (0, import_core3._flatten)(oldLayers, Boolean);
|
|
394
|
-
const prevLayerIds = new Set(prevLayers.map((l) => l.id));
|
|
395
|
-
for (const layer of layers) {
|
|
396
|
-
prevLayerIds.delete(layer.id);
|
|
397
|
-
}
|
|
398
|
-
for (const id of prevLayerIds) {
|
|
399
|
-
if (map.getLayer(id)) {
|
|
400
|
-
map.removeLayer(id);
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
for (const layer of layers) {
|
|
405
|
-
const mapboxLayer = map.getLayer(layer.id);
|
|
406
|
-
if (mapboxLayer) {
|
|
407
|
-
const layerInstance = mapboxLayer.implementation || mapboxLayer;
|
|
408
|
-
layerInstance.setProps(layer.props);
|
|
409
|
-
} else {
|
|
410
|
-
map.addLayer(
|
|
411
|
-
new MapboxLayer({
|
|
412
|
-
id: layer.id,
|
|
413
|
-
// @ts-expect-error slot is not defined in LayerProps
|
|
414
|
-
slot: layer.props.slot
|
|
415
|
-
}),
|
|
416
|
-
// @ts-expect-error beforeId is not defined in LayerProps
|
|
417
|
-
layer.props.beforeId
|
|
418
|
-
);
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
const mapLayers = map.style._order;
|
|
422
|
-
const layerGroups = {};
|
|
423
|
-
for (const layer of layers) {
|
|
424
|
-
let { beforeId } = layer.props;
|
|
425
|
-
if (!beforeId || !mapLayers.includes(beforeId)) {
|
|
426
|
-
beforeId = UNDEFINED_BEFORE_ID;
|
|
427
|
-
}
|
|
428
|
-
layerGroups[beforeId] = layerGroups[beforeId] || [];
|
|
429
|
-
layerGroups[beforeId].push(layer.id);
|
|
430
|
-
}
|
|
431
|
-
for (const beforeId in layerGroups) {
|
|
432
|
-
const layerGroup = layerGroups[beforeId];
|
|
433
|
-
let lastLayerIndex = beforeId === UNDEFINED_BEFORE_ID ? mapLayers.length : mapLayers.indexOf(beforeId);
|
|
434
|
-
let lastLayerId = beforeId === UNDEFINED_BEFORE_ID ? void 0 : beforeId;
|
|
435
|
-
for (let i = layerGroup.length - 1; i >= 0; i--) {
|
|
436
|
-
const layerId = layerGroup[i];
|
|
437
|
-
const layerIndex = mapLayers.indexOf(layerId);
|
|
438
|
-
if (layerIndex !== lastLayerIndex - 1) {
|
|
439
|
-
map.moveLayer(layerId, lastLayerId);
|
|
440
|
-
if (layerIndex > lastLayerIndex) {
|
|
441
|
-
lastLayerIndex++;
|
|
442
|
-
}
|
|
443
|
-
}
|
|
444
|
-
lastLayerIndex--;
|
|
445
|
-
lastLayerId = layerId;
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
// src/resolve-layer-groups.ts
|
|
451
|
-
var import_core5 = __toESM(require_core(), 1);
|
|
452
|
-
|
|
453
|
-
// src/mapbox-layer-group.ts
|
|
454
|
-
var import_core4 = __toESM(require_core(), 1);
|
|
455
|
-
var MapboxLayerGroup = class {
|
|
456
|
-
/* eslint-disable no-this-before-super */
|
|
457
|
-
constructor(props) {
|
|
458
|
-
(0, import_core4.assert)(props.id, "id is required");
|
|
459
|
-
this.id = props.id;
|
|
460
|
-
this.type = "custom";
|
|
461
|
-
this.renderingMode = props.renderingMode || "3d";
|
|
462
|
-
this.slot = props.slot;
|
|
463
|
-
this.beforeId = props.beforeId;
|
|
464
|
-
this.map = null;
|
|
465
|
-
}
|
|
466
|
-
/* Mapbox custom layer methods */
|
|
467
|
-
onAdd(map, gl) {
|
|
468
|
-
this.map = map;
|
|
469
|
-
}
|
|
470
|
-
render(gl, renderParameters) {
|
|
471
|
-
if (!this.map)
|
|
472
|
-
return;
|
|
473
|
-
drawLayerGroup(this.map.__deck, this.map, this, renderParameters);
|
|
474
|
-
}
|
|
475
|
-
};
|
|
476
|
-
|
|
477
|
-
// src/resolve-layer-groups.ts
|
|
478
|
-
var UNDEFINED_BEFORE_ID2 = "__UNDEFINED__";
|
|
479
|
-
function getLayerGroupId(layer) {
|
|
480
|
-
if (layer.props.beforeId) {
|
|
481
|
-
return `deck-layer-group-before:${layer.props.beforeId}`;
|
|
482
|
-
} else if (layer.props.slot) {
|
|
483
|
-
return `deck-layer-group-slot:${layer.props.slot}`;
|
|
484
|
-
}
|
|
485
|
-
return "deck-layer-group-last";
|
|
486
|
-
}
|
|
487
|
-
function resolveLayerGroups(map, oldLayers, newLayers) {
|
|
488
|
-
if (!map || !map.style || !map.style._loaded) {
|
|
489
|
-
return;
|
|
490
|
-
}
|
|
491
|
-
const layers = (0, import_core5._flatten)(newLayers, Boolean);
|
|
492
|
-
if (oldLayers !== newLayers) {
|
|
493
|
-
const prevLayers = (0, import_core5._flatten)(oldLayers, Boolean);
|
|
494
|
-
const prevLayerGroupIds = new Set(prevLayers.map((l) => getLayerGroupId(l)));
|
|
495
|
-
const newLayerGroupIds = new Set(layers.map((l) => getLayerGroupId(l)));
|
|
496
|
-
for (const groupId of prevLayerGroupIds) {
|
|
497
|
-
if (!newLayerGroupIds.has(groupId)) {
|
|
498
|
-
if (map.getLayer(groupId)) {
|
|
499
|
-
map.removeLayer(groupId);
|
|
500
|
-
}
|
|
501
|
-
}
|
|
502
|
-
}
|
|
503
|
-
}
|
|
504
|
-
const layerGroups = {};
|
|
505
|
-
for (const layer of layers) {
|
|
506
|
-
const groupId = getLayerGroupId(layer);
|
|
507
|
-
const mapboxGroup = map.getLayer(groupId);
|
|
508
|
-
if (mapboxGroup) {
|
|
509
|
-
const groupInstance = mapboxGroup.implementation || mapboxGroup;
|
|
510
|
-
layerGroups[groupId] = groupInstance;
|
|
511
|
-
} else {
|
|
512
|
-
const newGroup = new MapboxLayerGroup({
|
|
513
|
-
id: groupId,
|
|
514
|
-
slot: layer.props.slot,
|
|
515
|
-
beforeId: layer.props.beforeId
|
|
516
|
-
});
|
|
517
|
-
layerGroups[groupId] = newGroup;
|
|
518
|
-
map.addLayer(newGroup, layer.props.beforeId);
|
|
519
|
-
}
|
|
520
|
-
}
|
|
521
|
-
const mapLayers = map.style._order;
|
|
522
|
-
for (const [groupId, group] of Object.entries(layerGroups)) {
|
|
523
|
-
const beforeId = group.beforeId || UNDEFINED_BEFORE_ID2;
|
|
524
|
-
const expectedGroupIndex = beforeId === UNDEFINED_BEFORE_ID2 ? mapLayers.length : mapLayers.indexOf(beforeId);
|
|
525
|
-
const currentGropupIndex = mapLayers.indexOf(groupId);
|
|
526
|
-
if (currentGropupIndex !== expectedGroupIndex - 1) {
|
|
527
|
-
const moveBeforeId = beforeId === UNDEFINED_BEFORE_ID2 ? void 0 : beforeId;
|
|
528
|
-
map.moveLayer(groupId, moveBeforeId);
|
|
529
|
-
}
|
|
530
|
-
}
|
|
531
|
-
}
|
|
532
|
-
|
|
533
415
|
// src/mapbox-overlay.ts
|
|
534
416
|
var MapboxOverlay = class {
|
|
535
417
|
constructor(props) {
|
|
@@ -538,8 +420,8 @@ var __exports__ = (() => {
|
|
|
538
420
|
if (!this._map)
|
|
539
421
|
return;
|
|
540
422
|
const projection = getProjection(this._map);
|
|
541
|
-
if (projection
|
|
542
|
-
this._deck?.setProps({ views:
|
|
423
|
+
if (projection) {
|
|
424
|
+
this._deck?.setProps({ views: this._getViews(this._map) });
|
|
543
425
|
}
|
|
544
426
|
};
|
|
545
427
|
this._updateContainerSize = () => {
|
|
@@ -556,7 +438,7 @@ var __exports__ = (() => {
|
|
|
556
438
|
const map = this._map;
|
|
557
439
|
if (deck && map) {
|
|
558
440
|
deck.setProps({
|
|
559
|
-
views: this.
|
|
441
|
+
views: this._getViews(map),
|
|
560
442
|
viewState: getViewState(map)
|
|
561
443
|
});
|
|
562
444
|
if (deck.isInitialized) {
|
|
@@ -628,7 +510,6 @@ var __exports__ = (() => {
|
|
|
628
510
|
};
|
|
629
511
|
const { interleaved = false } = props;
|
|
630
512
|
this._interleaved = interleaved;
|
|
631
|
-
this._renderLayersInGroups = props._renderLayersInGroups || false;
|
|
632
513
|
this._props = this.filterProps(props);
|
|
633
514
|
}
|
|
634
515
|
/** Filter out props to pass to Deck **/
|
|
@@ -648,6 +529,7 @@ var __exports__ = (() => {
|
|
|
648
529
|
if (this._deck && this._map) {
|
|
649
530
|
this._deck.setProps({
|
|
650
531
|
...this._props,
|
|
532
|
+
views: this._getViews(this._map),
|
|
651
533
|
parameters: {
|
|
652
534
|
...getDefaultParameters(this._map, this._interleaved),
|
|
653
535
|
...this._props.parameters
|
|
@@ -672,11 +554,11 @@ var __exports__ = (() => {
|
|
|
672
554
|
pointerEvents: "none"
|
|
673
555
|
});
|
|
674
556
|
this._container = container;
|
|
675
|
-
this._deck = new
|
|
557
|
+
this._deck = new import_core5.Deck({
|
|
676
558
|
...this._props,
|
|
677
559
|
parent: container,
|
|
678
560
|
parameters: { ...getDefaultParameters(map, false), ...this._props.parameters },
|
|
679
|
-
views: this.
|
|
561
|
+
views: this._getViews(map),
|
|
680
562
|
viewState: getViewState(map)
|
|
681
563
|
});
|
|
682
564
|
map.on("resize", this._updateContainerSize);
|
|
@@ -695,14 +577,15 @@ var __exports__ = (() => {
|
|
|
695
577
|
_onAddInterleaved(map) {
|
|
696
578
|
const gl = map.painter.context.gl;
|
|
697
579
|
if (gl instanceof WebGLRenderingContext) {
|
|
698
|
-
|
|
580
|
+
import_core5.log.warn(
|
|
699
581
|
"Incompatible basemap library. See: https://deck.gl/docs/api-reference/mapbox/overview#compatibility"
|
|
700
582
|
)();
|
|
701
583
|
}
|
|
702
584
|
this._deck = getDeckInstance({
|
|
703
585
|
map,
|
|
704
|
-
deck: new
|
|
586
|
+
deck: new import_core5.Deck({
|
|
705
587
|
...this._props,
|
|
588
|
+
views: this._getViews(map),
|
|
706
589
|
gl,
|
|
707
590
|
parameters: { ...getDefaultParameters(map, true), ...this._props.parameters }
|
|
708
591
|
})
|
|
@@ -711,12 +594,8 @@ var __exports__ = (() => {
|
|
|
711
594
|
this._resolveLayers(map, this._deck, [], this._props.layers);
|
|
712
595
|
return document.createElement("div");
|
|
713
596
|
}
|
|
714
|
-
_resolveLayers(map,
|
|
715
|
-
|
|
716
|
-
resolveLayerGroups(map, prevLayers, newLayers);
|
|
717
|
-
} else {
|
|
718
|
-
resolveLayers(map, deck, prevLayers, newLayers);
|
|
719
|
-
}
|
|
597
|
+
_resolveLayers(map, _deck, prevLayers, newLayers) {
|
|
598
|
+
resolveLayerGroups(map, prevLayers, newLayers);
|
|
720
599
|
}
|
|
721
600
|
/** Called when the control is removed from a map */
|
|
722
601
|
onRemove() {
|
|
@@ -755,17 +634,17 @@ var __exports__ = (() => {
|
|
|
755
634
|
}
|
|
756
635
|
/** Forwards the Deck.pickObject method */
|
|
757
636
|
pickObject(params) {
|
|
758
|
-
(0,
|
|
637
|
+
(0, import_core5.assert)(this._deck);
|
|
759
638
|
return this._deck.pickObject(params);
|
|
760
639
|
}
|
|
761
640
|
/** Forwards the Deck.pickMultipleObjects method */
|
|
762
641
|
pickMultipleObjects(params) {
|
|
763
|
-
(0,
|
|
642
|
+
(0, import_core5.assert)(this._deck);
|
|
764
643
|
return this._deck.pickMultipleObjects(params);
|
|
765
644
|
}
|
|
766
645
|
/** Forwards the Deck.pickObjects method */
|
|
767
646
|
pickObjects(params) {
|
|
768
|
-
(0,
|
|
647
|
+
(0, import_core5.assert)(this._deck);
|
|
769
648
|
return this._deck.pickObjects(params);
|
|
770
649
|
}
|
|
771
650
|
/** Remove from map and releases all resources */
|
|
@@ -781,6 +660,17 @@ var __exports__ = (() => {
|
|
|
781
660
|
}
|
|
782
661
|
return this._interleaved ? this._map.getCanvas() : this._deck.getCanvas();
|
|
783
662
|
}
|
|
663
|
+
_getViews(map) {
|
|
664
|
+
if (!this._props.views) {
|
|
665
|
+
return getDefaultView(map);
|
|
666
|
+
}
|
|
667
|
+
const views = Array.isArray(this._props.views) ? this._props.views : [this._props.views];
|
|
668
|
+
const hasMapboxView = views.some((v) => v.id === MAPBOX_VIEW_ID);
|
|
669
|
+
if (hasMapboxView) {
|
|
670
|
+
return this._props.views;
|
|
671
|
+
}
|
|
672
|
+
return [getDefaultView(map), ...views];
|
|
673
|
+
}
|
|
784
674
|
};
|
|
785
675
|
return __toCommonJS(bundle_exports);
|
|
786
676
|
})();
|