@deck.gl/mapbox 8.7.0-alpha.2 → 8.7.0-alpha.9
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/dist.dev.js +82 -70
- package/dist/es5/deck-utils.js +58 -45
- package/dist/es5/deck-utils.js.map +1 -1
- package/dist/es5/index.js +1 -1
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/mapbox-layer.js +43 -29
- package/dist/es5/mapbox-layer.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist.min.js +1 -1
- package/package.json +2 -2
- /package/src/{index.js → index.ts} +0 -0
package/dist/dist.dev.js
CHANGED
|
@@ -91,32 +91,28 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
|
91
91
|
/******/
|
|
92
92
|
/******/
|
|
93
93
|
/******/ // Load entry module and return exports
|
|
94
|
-
/******/ return __webpack_require__(__webpack_require__.s = "./bundle.
|
|
94
|
+
/******/ return __webpack_require__(__webpack_require__.s = "./bundle.ts");
|
|
95
95
|
/******/ })
|
|
96
96
|
/************************************************************************/
|
|
97
97
|
/******/ ({
|
|
98
98
|
|
|
99
|
-
/***/ "./bundle.
|
|
99
|
+
/***/ "./bundle.ts":
|
|
100
100
|
/*!*******************!*\
|
|
101
|
-
!*** ./bundle.
|
|
101
|
+
!*** ./bundle.ts ***!
|
|
102
102
|
\*******************/
|
|
103
103
|
/*! no static exports found */
|
|
104
104
|
/***/ (function(module, exports, __webpack_require__) {
|
|
105
105
|
|
|
106
|
-
const MapboxUtils = __webpack_require__(/*! ./src */ "./src/index.
|
|
106
|
+
const MapboxUtils = __webpack_require__(/*! ./src */ "./src/index.ts");
|
|
107
107
|
|
|
108
|
-
|
|
109
|
-
const _global = typeof window === 'undefined' ? global : window;
|
|
110
|
-
const deck = _global.deck || {};
|
|
108
|
+
const deck = globalThis.deck || {}; // Check if peer dependencies are included
|
|
111
109
|
|
|
112
|
-
// Check if peer dependencies are included
|
|
113
110
|
if (!deck.Layer) {
|
|
114
111
|
throw new Error('@deck.gl/core is not found');
|
|
115
112
|
}
|
|
116
113
|
|
|
117
114
|
module.exports = Object.assign(deck, MapboxUtils);
|
|
118
115
|
|
|
119
|
-
|
|
120
116
|
/***/ }),
|
|
121
117
|
|
|
122
118
|
/***/ "./src/deck-utils.js":
|
|
@@ -136,19 +132,22 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
136
132
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
|
|
137
133
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
|
|
138
134
|
|
|
139
|
-
|
|
140
|
-
|
|
135
|
+
function getDeckInstance({
|
|
136
|
+
map,
|
|
137
|
+
gl,
|
|
138
|
+
deck
|
|
139
|
+
}) {
|
|
141
140
|
// Only create one deck instance per context
|
|
142
141
|
if (map.__deck) {
|
|
143
142
|
return map.__deck;
|
|
144
143
|
}
|
|
145
144
|
|
|
146
145
|
const customRender = deck && deck.props._customRender;
|
|
147
|
-
|
|
148
146
|
const deckProps = {
|
|
149
147
|
useDevicePixels: true,
|
|
150
148
|
_customRender: () => {
|
|
151
149
|
map.triggerRepaint();
|
|
150
|
+
|
|
152
151
|
if (customRender) {
|
|
153
152
|
// customRender may be subscribed by DeckGL React component to update child props
|
|
154
153
|
// make sure it is still called
|
|
@@ -180,60 +179,65 @@ function getDeckInstance({map, gl, deck}) {
|
|
|
180
179
|
touchAction: 'unset',
|
|
181
180
|
viewState: getViewState(map)
|
|
182
181
|
});
|
|
183
|
-
deck = new _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["Deck"](deckProps);
|
|
184
|
-
|
|
185
|
-
// If deck is externally provided (React use case), we use deck's viewState to
|
|
182
|
+
deck = new _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["Deck"](deckProps); // If deck is externally provided (React use case), we use deck's viewState to
|
|
186
183
|
// drive the map.
|
|
187
184
|
// Otherwise (pure JS use case), we use the map's viewState to drive deck.
|
|
185
|
+
|
|
188
186
|
map.on('move', () => onMapMove(deck, map));
|
|
189
187
|
map.on('remove', () => {
|
|
190
188
|
deck.finalize();
|
|
191
189
|
map.__deck = null;
|
|
192
190
|
});
|
|
193
191
|
}
|
|
192
|
+
|
|
194
193
|
deck.props.userData.mapboxVersion = getMapboxVersion(map);
|
|
195
194
|
map.__deck = deck;
|
|
196
195
|
map.on('render', () => {
|
|
197
196
|
if (deck.layerManager) afterRender(deck, map);
|
|
198
197
|
});
|
|
199
|
-
|
|
200
198
|
return deck;
|
|
201
199
|
}
|
|
202
|
-
|
|
203
200
|
function addLayer(deck, layer) {
|
|
204
201
|
deck.props.userData.mapboxLayers.add(layer);
|
|
205
202
|
updateLayers(deck);
|
|
206
203
|
}
|
|
207
|
-
|
|
208
204
|
function removeLayer(deck, layer) {
|
|
209
205
|
deck.props.userData.mapboxLayers.delete(layer);
|
|
210
206
|
updateLayers(deck);
|
|
211
207
|
}
|
|
212
|
-
|
|
213
208
|
function updateLayer(deck, layer) {
|
|
214
209
|
updateLayers(deck);
|
|
215
210
|
}
|
|
216
|
-
|
|
217
211
|
function drawLayer(deck, map, layer) {
|
|
218
|
-
let {
|
|
212
|
+
let {
|
|
213
|
+
currentViewport
|
|
214
|
+
} = deck.props.userData;
|
|
215
|
+
|
|
219
216
|
if (!currentViewport) {
|
|
220
217
|
// This is the first layer drawn in this render cycle.
|
|
221
218
|
// Generate viewport from the current map state.
|
|
222
219
|
currentViewport = getViewport(deck, map, true);
|
|
223
220
|
deck.props.userData.currentViewport = currentViewport;
|
|
224
221
|
}
|
|
222
|
+
|
|
225
223
|
if (!deck.layerManager) {
|
|
226
224
|
return;
|
|
227
225
|
}
|
|
226
|
+
|
|
228
227
|
deck._drawLayers('mapbox-repaint', {
|
|
229
228
|
viewports: [currentViewport],
|
|
230
|
-
layerFilter: ({
|
|
229
|
+
layerFilter: ({
|
|
230
|
+
layer: deckLayer
|
|
231
|
+
}) => layer.id === deckLayer.id,
|
|
231
232
|
clearCanvas: false
|
|
232
233
|
});
|
|
233
234
|
}
|
|
234
235
|
|
|
235
236
|
function getViewState(map) {
|
|
236
|
-
const {
|
|
237
|
+
const {
|
|
238
|
+
lng,
|
|
239
|
+
lat
|
|
240
|
+
} = map.getCenter();
|
|
237
241
|
return {
|
|
238
242
|
longitude: lng,
|
|
239
243
|
latitude: lat,
|
|
@@ -247,71 +251,74 @@ function getMapboxVersion(map) {
|
|
|
247
251
|
// parse mapbox version string
|
|
248
252
|
let major = 0;
|
|
249
253
|
let minor = 0;
|
|
254
|
+
|
|
250
255
|
if (map.version) {
|
|
251
256
|
[major, minor] = map.version.split('.').slice(0, 2).map(Number);
|
|
252
257
|
}
|
|
253
|
-
|
|
258
|
+
|
|
259
|
+
return {
|
|
260
|
+
major,
|
|
261
|
+
minor
|
|
262
|
+
};
|
|
254
263
|
}
|
|
255
264
|
|
|
256
265
|
function getViewport(deck, map, useMapboxProjection = true) {
|
|
257
|
-
const {
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
(mapboxVersion.major === 1 && mapboxVersion.minor >= 3) || mapboxVersion.major >= 2
|
|
276
|
-
? 0.02
|
|
277
|
-
: 1 / (deck.height || 1)
|
|
278
|
-
}
|
|
279
|
-
: {
|
|
280
|
-
// use deck.gl's own default
|
|
281
|
-
nearZMultiplier: 0.1
|
|
282
|
-
}
|
|
283
|
-
)
|
|
284
|
-
);
|
|
266
|
+
const {
|
|
267
|
+
mapboxVersion
|
|
268
|
+
} = deck.props.userData;
|
|
269
|
+
return new _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["WebMercatorViewport"](Object.assign({
|
|
270
|
+
x: 0,
|
|
271
|
+
y: 0,
|
|
272
|
+
width: deck.width,
|
|
273
|
+
height: deck.height,
|
|
274
|
+
repeat: true
|
|
275
|
+
}, getViewState(map), useMapboxProjection ? {
|
|
276
|
+
// match mapbox's projection matrix
|
|
277
|
+
// A change of near plane was made in 1.3.0
|
|
278
|
+
// https://github.com/mapbox/mapbox-gl-js/pull/8502
|
|
279
|
+
nearZMultiplier: mapboxVersion.major === 1 && mapboxVersion.minor >= 3 || mapboxVersion.major >= 2 ? 0.02 : 1 / (deck.height || 1)
|
|
280
|
+
} : {
|
|
281
|
+
// use deck.gl's own default
|
|
282
|
+
nearZMultiplier: 0.1
|
|
283
|
+
}));
|
|
285
284
|
}
|
|
286
285
|
|
|
287
286
|
function afterRender(deck, map) {
|
|
288
|
-
const {
|
|
287
|
+
const {
|
|
288
|
+
mapboxLayers,
|
|
289
|
+
isExternal
|
|
290
|
+
} = deck.props.userData;
|
|
289
291
|
|
|
290
292
|
if (isExternal) {
|
|
291
293
|
// Draw non-Mapbox layers
|
|
292
294
|
const mapboxLayerIds = Array.from(mapboxLayers, layer => layer.id);
|
|
293
295
|
const hasNonMapboxLayers = deck.props.layers.some(layer => !mapboxLayerIds.includes(layer.id));
|
|
296
|
+
|
|
294
297
|
if (hasNonMapboxLayers) {
|
|
295
298
|
deck._drawLayers('mapbox-repaint', {
|
|
296
299
|
viewports: [getViewport(deck, map, false)],
|
|
297
|
-
layerFilter: ({
|
|
300
|
+
layerFilter: ({
|
|
301
|
+
layer
|
|
302
|
+
}) => !mapboxLayerIds.includes(layer.id),
|
|
298
303
|
clearCanvas: false
|
|
299
304
|
});
|
|
300
305
|
}
|
|
301
|
-
}
|
|
306
|
+
} // End of render cycle, clear generated viewport
|
|
307
|
+
|
|
302
308
|
|
|
303
|
-
// End of render cycle, clear generated viewport
|
|
304
309
|
deck.props.userData.currentViewport = null;
|
|
305
310
|
}
|
|
306
311
|
|
|
307
312
|
function onMapMove(deck, map) {
|
|
308
313
|
deck.setProps({
|
|
309
314
|
viewState: getViewState(map)
|
|
310
|
-
});
|
|
311
|
-
// Camera changed, will trigger a map repaint right after this
|
|
315
|
+
}); // Camera changed, will trigger a map repaint right after this
|
|
312
316
|
// Clear any change flag triggered by setting viewState so that deck does not request
|
|
313
317
|
// a second repaint
|
|
314
|
-
|
|
318
|
+
|
|
319
|
+
deck.needsRedraw({
|
|
320
|
+
clearRedrawFlags: true
|
|
321
|
+
});
|
|
315
322
|
}
|
|
316
323
|
|
|
317
324
|
function updateLayers(deck) {
|
|
@@ -325,15 +332,16 @@ function updateLayers(deck) {
|
|
|
325
332
|
const layer = new LayerType(deckLayer.props);
|
|
326
333
|
layers.push(layer);
|
|
327
334
|
});
|
|
328
|
-
deck.setProps({
|
|
335
|
+
deck.setProps({
|
|
336
|
+
layers
|
|
337
|
+
});
|
|
329
338
|
}
|
|
330
339
|
|
|
331
|
-
|
|
332
340
|
/***/ }),
|
|
333
341
|
|
|
334
|
-
/***/ "./src/index.
|
|
342
|
+
/***/ "./src/index.ts":
|
|
335
343
|
/*!**********************!*\
|
|
336
|
-
!*** ./src/index.
|
|
344
|
+
!*** ./src/index.ts ***!
|
|
337
345
|
\**********************/
|
|
338
346
|
/*! exports provided: MapboxLayer */
|
|
339
347
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
@@ -345,7 +353,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
345
353
|
|
|
346
354
|
|
|
347
355
|
|
|
348
|
-
|
|
349
356
|
/***/ }),
|
|
350
357
|
|
|
351
358
|
/***/ "./src/mapbox-layer.js":
|
|
@@ -360,7 +367,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
360
367
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return MapboxLayer; });
|
|
361
368
|
/* harmony import */ var _deck_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./deck-utils */ "./src/deck-utils.js");
|
|
362
369
|
|
|
363
|
-
|
|
364
370
|
class MapboxLayer {
|
|
365
371
|
/* eslint-disable no-this-before-super */
|
|
366
372
|
constructor(props) {
|
|
@@ -375,12 +381,16 @@ class MapboxLayer {
|
|
|
375
381
|
this.deck = null;
|
|
376
382
|
this.props = props;
|
|
377
383
|
}
|
|
378
|
-
|
|
379
384
|
/* Mapbox custom layer methods */
|
|
380
385
|
|
|
386
|
+
|
|
381
387
|
onAdd(map, gl) {
|
|
382
388
|
this.map = map;
|
|
383
|
-
this.deck = Object(_deck_utils__WEBPACK_IMPORTED_MODULE_0__["getDeckInstance"])({
|
|
389
|
+
this.deck = Object(_deck_utils__WEBPACK_IMPORTED_MODULE_0__["getDeckInstance"])({
|
|
390
|
+
map,
|
|
391
|
+
gl,
|
|
392
|
+
deck: this.props.deck
|
|
393
|
+
});
|
|
384
394
|
Object(_deck_utils__WEBPACK_IMPORTED_MODULE_0__["addLayer"])(this.deck, this);
|
|
385
395
|
}
|
|
386
396
|
|
|
@@ -390,8 +400,10 @@ class MapboxLayer {
|
|
|
390
400
|
|
|
391
401
|
setProps(props) {
|
|
392
402
|
// id cannot be changed
|
|
393
|
-
Object.assign(this.props, props, {
|
|
394
|
-
|
|
403
|
+
Object.assign(this.props, props, {
|
|
404
|
+
id: this.id
|
|
405
|
+
}); // safe guard in case setProps is called before onAdd
|
|
406
|
+
|
|
395
407
|
if (this.deck) {
|
|
396
408
|
Object(_deck_utils__WEBPACK_IMPORTED_MODULE_0__["updateLayer"])(this.deck, this);
|
|
397
409
|
}
|
|
@@ -400,8 +412,8 @@ class MapboxLayer {
|
|
|
400
412
|
render(gl, matrix) {
|
|
401
413
|
Object(_deck_utils__WEBPACK_IMPORTED_MODULE_0__["drawLayer"])(this.deck, this.map, this);
|
|
402
414
|
}
|
|
403
|
-
}
|
|
404
415
|
|
|
416
|
+
}
|
|
405
417
|
|
|
406
418
|
/***/ }),
|
|
407
419
|
|
package/dist/es5/deck-utils.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
@@ -9,21 +11,23 @@ exports.removeLayer = removeLayer;
|
|
|
9
11
|
exports.updateLayer = updateLayer;
|
|
10
12
|
exports.drawLayer = drawLayer;
|
|
11
13
|
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
12
16
|
var _core = require("@deck.gl/core");
|
|
13
17
|
|
|
14
|
-
function getDeckInstance({
|
|
15
|
-
map,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
function getDeckInstance(_ref) {
|
|
19
|
+
var map = _ref.map,
|
|
20
|
+
gl = _ref.gl,
|
|
21
|
+
deck = _ref.deck;
|
|
22
|
+
|
|
19
23
|
if (map.__deck) {
|
|
20
24
|
return map.__deck;
|
|
21
25
|
}
|
|
22
26
|
|
|
23
|
-
|
|
24
|
-
|
|
27
|
+
var customRender = deck && deck.props._customRender;
|
|
28
|
+
var deckProps = {
|
|
25
29
|
useDevicePixels: true,
|
|
26
|
-
_customRender: ()
|
|
30
|
+
_customRender: function _customRender() {
|
|
27
31
|
map.triggerRepaint();
|
|
28
32
|
|
|
29
33
|
if (customRender) {
|
|
@@ -47,15 +51,17 @@ function getDeckInstance({
|
|
|
47
51
|
deck.props.userData.isExternal = true;
|
|
48
52
|
} else {
|
|
49
53
|
Object.assign(deckProps, {
|
|
50
|
-
gl,
|
|
54
|
+
gl: gl,
|
|
51
55
|
width: false,
|
|
52
56
|
height: false,
|
|
53
57
|
touchAction: 'unset',
|
|
54
58
|
viewState: getViewState(map)
|
|
55
59
|
});
|
|
56
60
|
deck = new _core.Deck(deckProps);
|
|
57
|
-
map.on('move', ()
|
|
58
|
-
|
|
61
|
+
map.on('move', function () {
|
|
62
|
+
return onMapMove(deck, map);
|
|
63
|
+
});
|
|
64
|
+
map.on('remove', function () {
|
|
59
65
|
deck.finalize();
|
|
60
66
|
map.__deck = null;
|
|
61
67
|
});
|
|
@@ -63,7 +69,7 @@ function getDeckInstance({
|
|
|
63
69
|
|
|
64
70
|
deck.props.userData.mapboxVersion = getMapboxVersion(map);
|
|
65
71
|
map.__deck = deck;
|
|
66
|
-
map.on('render', ()
|
|
72
|
+
map.on('render', function () {
|
|
67
73
|
if (deck.layerManager) afterRender(deck, map);
|
|
68
74
|
});
|
|
69
75
|
return deck;
|
|
@@ -84,9 +90,7 @@ function updateLayer(deck, layer) {
|
|
|
84
90
|
}
|
|
85
91
|
|
|
86
92
|
function drawLayer(deck, map, layer) {
|
|
87
|
-
|
|
88
|
-
currentViewport
|
|
89
|
-
} = deck.props.userData;
|
|
93
|
+
var currentViewport = deck.props.userData.currentViewport;
|
|
90
94
|
|
|
91
95
|
if (!currentViewport) {
|
|
92
96
|
currentViewport = getViewport(deck, map, true);
|
|
@@ -99,18 +103,19 @@ function drawLayer(deck, map, layer) {
|
|
|
99
103
|
|
|
100
104
|
deck._drawLayers('mapbox-repaint', {
|
|
101
105
|
viewports: [currentViewport],
|
|
102
|
-
layerFilter: ({
|
|
103
|
-
|
|
104
|
-
|
|
106
|
+
layerFilter: function layerFilter(_ref2) {
|
|
107
|
+
var deckLayer = _ref2.layer;
|
|
108
|
+
return layer.id === deckLayer.id;
|
|
109
|
+
},
|
|
105
110
|
clearCanvas: false
|
|
106
111
|
});
|
|
107
112
|
}
|
|
108
113
|
|
|
109
114
|
function getViewState(map) {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
115
|
+
var _map$getCenter = map.getCenter(),
|
|
116
|
+
lng = _map$getCenter.lng,
|
|
117
|
+
lat = _map$getCenter.lat;
|
|
118
|
+
|
|
114
119
|
return {
|
|
115
120
|
longitude: lng,
|
|
116
121
|
latitude: lat,
|
|
@@ -121,23 +126,27 @@ function getViewState(map) {
|
|
|
121
126
|
}
|
|
122
127
|
|
|
123
128
|
function getMapboxVersion(map) {
|
|
124
|
-
|
|
125
|
-
|
|
129
|
+
var major = 0;
|
|
130
|
+
var minor = 0;
|
|
126
131
|
|
|
127
132
|
if (map.version) {
|
|
128
|
-
|
|
133
|
+
var _map$version$split$sl = map.version.split('.').slice(0, 2).map(Number);
|
|
134
|
+
|
|
135
|
+
var _map$version$split$sl2 = (0, _slicedToArray2.default)(_map$version$split$sl, 2);
|
|
136
|
+
|
|
137
|
+
major = _map$version$split$sl2[0];
|
|
138
|
+
minor = _map$version$split$sl2[1];
|
|
129
139
|
}
|
|
130
140
|
|
|
131
141
|
return {
|
|
132
|
-
major,
|
|
133
|
-
minor
|
|
142
|
+
major: major,
|
|
143
|
+
minor: minor
|
|
134
144
|
};
|
|
135
145
|
}
|
|
136
146
|
|
|
137
|
-
function getViewport(deck, map
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
} = deck.props.userData;
|
|
147
|
+
function getViewport(deck, map) {
|
|
148
|
+
var useMapboxProjection = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
149
|
+
var mapboxVersion = deck.props.userData.mapboxVersion;
|
|
141
150
|
return new _core.WebMercatorViewport(Object.assign({
|
|
142
151
|
x: 0,
|
|
143
152
|
y: 0,
|
|
@@ -152,21 +161,25 @@ function getViewport(deck, map, useMapboxProjection = true) {
|
|
|
152
161
|
}
|
|
153
162
|
|
|
154
163
|
function afterRender(deck, map) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
} = deck.props.userData;
|
|
164
|
+
var _deck$props$userData = deck.props.userData,
|
|
165
|
+
mapboxLayers = _deck$props$userData.mapboxLayers,
|
|
166
|
+
isExternal = _deck$props$userData.isExternal;
|
|
159
167
|
|
|
160
168
|
if (isExternal) {
|
|
161
|
-
|
|
162
|
-
|
|
169
|
+
var mapboxLayerIds = Array.from(mapboxLayers, function (layer) {
|
|
170
|
+
return layer.id;
|
|
171
|
+
});
|
|
172
|
+
var hasNonMapboxLayers = deck.props.layers.some(function (layer) {
|
|
173
|
+
return !mapboxLayerIds.includes(layer.id);
|
|
174
|
+
});
|
|
163
175
|
|
|
164
176
|
if (hasNonMapboxLayers) {
|
|
165
177
|
deck._drawLayers('mapbox-repaint', {
|
|
166
178
|
viewports: [getViewport(deck, map, false)],
|
|
167
|
-
layerFilter: ({
|
|
168
|
-
layer
|
|
169
|
-
|
|
179
|
+
layerFilter: function layerFilter(_ref3) {
|
|
180
|
+
var layer = _ref3.layer;
|
|
181
|
+
return !mapboxLayerIds.includes(layer.id);
|
|
182
|
+
},
|
|
170
183
|
clearCanvas: false
|
|
171
184
|
});
|
|
172
185
|
}
|
|
@@ -189,14 +202,14 @@ function updateLayers(deck) {
|
|
|
189
202
|
return;
|
|
190
203
|
}
|
|
191
204
|
|
|
192
|
-
|
|
193
|
-
deck.props.userData.mapboxLayers.forEach(deckLayer
|
|
194
|
-
|
|
195
|
-
|
|
205
|
+
var layers = [];
|
|
206
|
+
deck.props.userData.mapboxLayers.forEach(function (deckLayer) {
|
|
207
|
+
var LayerType = deckLayer.props.type;
|
|
208
|
+
var layer = new LayerType(deckLayer.props);
|
|
196
209
|
layers.push(layer);
|
|
197
210
|
});
|
|
198
211
|
deck.setProps({
|
|
199
|
-
layers
|
|
212
|
+
layers: layers
|
|
200
213
|
});
|
|
201
214
|
}
|
|
202
215
|
//# sourceMappingURL=deck-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/deck-utils.js"],"names":["getDeckInstance","map","gl","deck","__deck","customRender","props","_customRender","deckProps","useDevicePixels","triggerRepaint","parameters","depthMask","depthTest","blendFunc","blendEquation","userData","isExternal","mapboxLayers","Set","setProps","Object","assign","width","height","touchAction","viewState","getViewState","Deck","on","onMapMove","finalize","mapboxVersion","getMapboxVersion","layerManager","afterRender","addLayer","layer","add","updateLayers","removeLayer","delete","updateLayer","drawLayer","currentViewport","getViewport","_drawLayers","viewports","layerFilter","deckLayer","id","clearCanvas","lng","lat","getCenter","longitude","latitude","zoom","getZoom","bearing","getBearing","pitch","getPitch","major","minor","version","split","slice","Number","useMapboxProjection","WebMercatorViewport","x","y","repeat","nearZMultiplier","mapboxLayerIds","Array","from","hasNonMapboxLayers","layers","some","includes","needsRedraw","clearRedrawFlags","forEach","LayerType","type","push"],"mappings":"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","sourcesContent":["import {Deck, WebMercatorViewport} from '@deck.gl/core';\n\nexport function getDeckInstance({map, gl, deck}) {\n // Only create one deck instance per context\n if (map.__deck) {\n return map.__deck;\n }\n\n const customRender = deck && deck.props._customRender;\n\n const deckProps = {\n useDevicePixels: true,\n _customRender: () => {\n map.triggerRepaint();\n if (customRender) {\n // customRender may be subscribed by DeckGL React component to update child props\n // make sure it is still called\n customRender();\n }\n },\n // TODO: import these defaults from a single source of truth\n parameters: {\n depthMask: true,\n depthTest: true,\n blendFunc: [gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA],\n blendEquation: gl.FUNC_ADD\n },\n userData: {\n isExternal: false,\n mapboxLayers: new Set()\n }\n };\n\n if (deck) {\n deck.setProps(deckProps);\n deck.props.userData.isExternal = true;\n } else {\n // Using external gl context - do not set css size\n Object.assign(deckProps, {\n gl,\n width: false,\n height: false,\n touchAction: 'unset',\n viewState: getViewState(map)\n });\n deck = new Deck(deckProps);\n\n // If deck is externally provided (React use case), we use deck's viewState to\n // drive the map.\n // Otherwise (pure JS use case), we use the map's viewState to drive deck.\n map.on('move', () => onMapMove(deck, map));\n map.on('remove', () => {\n deck.finalize();\n map.__deck = null;\n });\n }\n deck.props.userData.mapboxVersion = getMapboxVersion(map);\n map.__deck = deck;\n map.on('render', () => {\n if (deck.layerManager) afterRender(deck, map);\n });\n\n return deck;\n}\n\nexport function addLayer(deck, layer) {\n deck.props.userData.mapboxLayers.add(layer);\n updateLayers(deck);\n}\n\nexport function removeLayer(deck, layer) {\n deck.props.userData.mapboxLayers.delete(layer);\n updateLayers(deck);\n}\n\nexport function updateLayer(deck, layer) {\n updateLayers(deck);\n}\n\nexport function drawLayer(deck, map, layer) {\n let {currentViewport} = deck.props.userData;\n if (!currentViewport) {\n // This is the first layer drawn in this render cycle.\n // Generate viewport from the current map state.\n currentViewport = getViewport(deck, map, true);\n deck.props.userData.currentViewport = currentViewport;\n }\n if (!deck.layerManager) {\n return;\n }\n deck._drawLayers('mapbox-repaint', {\n viewports: [currentViewport],\n layerFilter: ({layer: deckLayer}) => layer.id === deckLayer.id,\n clearCanvas: false\n });\n}\n\nfunction getViewState(map) {\n const {lng, lat} = map.getCenter();\n return {\n longitude: lng,\n latitude: lat,\n zoom: map.getZoom(),\n bearing: map.getBearing(),\n pitch: map.getPitch()\n };\n}\n\nfunction getMapboxVersion(map) {\n // parse mapbox version string\n let major = 0;\n let minor = 0;\n if (map.version) {\n [major, minor] = map.version.split('.').slice(0, 2).map(Number);\n }\n return {major, minor};\n}\n\nfunction getViewport(deck, map, useMapboxProjection = true) {\n const {mapboxVersion} = deck.props.userData;\n\n return new WebMercatorViewport(\n Object.assign(\n {\n x: 0,\n y: 0,\n width: deck.width,\n height: deck.height,\n repeat: true\n },\n getViewState(map),\n useMapboxProjection\n ? {\n // match mapbox's projection matrix\n // A change of near plane was made in 1.3.0\n // https://github.com/mapbox/mapbox-gl-js/pull/8502\n nearZMultiplier:\n (mapboxVersion.major === 1 && mapboxVersion.minor >= 3) || mapboxVersion.major >= 2\n ? 0.02\n : 1 / (deck.height || 1)\n }\n : {\n // use deck.gl's own default\n nearZMultiplier: 0.1\n }\n )\n );\n}\n\nfunction afterRender(deck, map) {\n const {mapboxLayers, isExternal} = deck.props.userData;\n\n if (isExternal) {\n // Draw non-Mapbox layers\n const mapboxLayerIds = Array.from(mapboxLayers, layer => layer.id);\n const hasNonMapboxLayers = deck.props.layers.some(layer => !mapboxLayerIds.includes(layer.id));\n if (hasNonMapboxLayers) {\n deck._drawLayers('mapbox-repaint', {\n viewports: [getViewport(deck, map, false)],\n layerFilter: ({layer}) => !mapboxLayerIds.includes(layer.id),\n clearCanvas: false\n });\n }\n }\n\n // End of render cycle, clear generated viewport\n deck.props.userData.currentViewport = null;\n}\n\nfunction onMapMove(deck, map) {\n deck.setProps({\n viewState: getViewState(map)\n });\n // Camera changed, will trigger a map repaint right after this\n // Clear any change flag triggered by setting viewState so that deck does not request\n // a second repaint\n deck.needsRedraw({clearRedrawFlags: true});\n}\n\nfunction updateLayers(deck) {\n if (deck.props.userData.isExternal) {\n return;\n }\n\n const layers = [];\n deck.props.userData.mapboxLayers.forEach(deckLayer => {\n const LayerType = deckLayer.props.type;\n const layer = new LayerType(deckLayer.props);\n layers.push(layer);\n });\n deck.setProps({layers});\n}\n"],"file":"deck-utils.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/deck-utils.js"],"names":["getDeckInstance","map","gl","deck","__deck","customRender","props","_customRender","deckProps","useDevicePixels","triggerRepaint","parameters","depthMask","depthTest","blendFunc","blendEquation","userData","isExternal","mapboxLayers","Set","setProps","Object","assign","width","height","touchAction","viewState","getViewState","Deck","on","onMapMove","finalize","mapboxVersion","getMapboxVersion","layerManager","afterRender","addLayer","layer","add","updateLayers","removeLayer","delete","updateLayer","drawLayer","currentViewport","getViewport","_drawLayers","viewports","layerFilter","deckLayer","id","clearCanvas","getCenter","lng","lat","longitude","latitude","zoom","getZoom","bearing","getBearing","pitch","getPitch","major","minor","version","split","slice","Number","useMapboxProjection","WebMercatorViewport","x","y","repeat","nearZMultiplier","mapboxLayerIds","Array","from","hasNonMapboxLayers","layers","some","includes","needsRedraw","clearRedrawFlags","forEach","LayerType","type","push"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAEO,SAASA,eAAT,OAA0C;AAAA,MAAhBC,GAAgB,QAAhBA,GAAgB;AAAA,MAAXC,EAAW,QAAXA,EAAW;AAAA,MAAPC,IAAO,QAAPA,IAAO;;AAE/C,MAAIF,GAAG,CAACG,MAAR,EAAgB;AACd,WAAOH,GAAG,CAACG,MAAX;AACD;;AAED,MAAMC,YAAY,GAAGF,IAAI,IAAIA,IAAI,CAACG,KAAL,CAAWC,aAAxC;AAEA,MAAMC,SAAS,GAAG;AAChBC,IAAAA,eAAe,EAAE,IADD;AAEhBF,IAAAA,aAAa,EAAE,yBAAM;AACnBN,MAAAA,GAAG,CAACS,cAAJ;;AACA,UAAIL,YAAJ,EAAkB;AAGhBA,QAAAA,YAAY;AACb;AACF,KATe;AAWhBM,IAAAA,UAAU,EAAE;AACVC,MAAAA,SAAS,EAAE,IADD;AAEVC,MAAAA,SAAS,EAAE,IAFD;AAGVC,MAAAA,SAAS,EAAE,kBAHD;AAIVC,MAAAA,aAAa;AAJH,KAXI;AAiBhBC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,UAAU,EAAE,KADJ;AAERC,MAAAA,YAAY,EAAE,IAAIC,GAAJ;AAFN;AAjBM,GAAlB;;AAuBA,MAAIhB,IAAJ,EAAU;AACRA,IAAAA,IAAI,CAACiB,QAAL,CAAcZ,SAAd;AACAL,IAAAA,IAAI,CAACG,KAAL,CAAWU,QAAX,CAAoBC,UAApB,GAAiC,IAAjC;AACD,GAHD,MAGO;AAELI,IAAAA,MAAM,CAACC,MAAP,CAAcd,SAAd,EAAyB;AACvBN,MAAAA,EAAE,EAAFA,EADuB;AAEvBqB,MAAAA,KAAK,EAAE,KAFgB;AAGvBC,MAAAA,MAAM,EAAE,KAHe;AAIvBC,MAAAA,WAAW,EAAE,OAJU;AAKvBC,MAAAA,SAAS,EAAEC,YAAY,CAAC1B,GAAD;AALA,KAAzB;AAOAE,IAAAA,IAAI,GAAG,IAAIyB,UAAJ,CAASpB,SAAT,CAAP;AAKAP,IAAAA,GAAG,CAAC4B,EAAJ,CAAO,MAAP,EAAe;AAAA,aAAMC,SAAS,CAAC3B,IAAD,EAAOF,GAAP,CAAf;AAAA,KAAf;AACAA,IAAAA,GAAG,CAAC4B,EAAJ,CAAO,QAAP,EAAiB,YAAM;AACrB1B,MAAAA,IAAI,CAAC4B,QAAL;AACA9B,MAAAA,GAAG,CAACG,MAAJ,GAAa,IAAb;AACD,KAHD;AAID;;AACDD,EAAAA,IAAI,CAACG,KAAL,CAAWU,QAAX,CAAoBgB,aAApB,GAAoCC,gBAAgB,CAAChC,GAAD,CAApD;AACAA,EAAAA,GAAG,CAACG,MAAJ,GAAaD,IAAb;AACAF,EAAAA,GAAG,CAAC4B,EAAJ,CAAO,QAAP,EAAiB,YAAM;AACrB,QAAI1B,IAAI,CAAC+B,YAAT,EAAuBC,WAAW,CAAChC,IAAD,EAAOF,GAAP,CAAX;AACxB,GAFD;AAIA,SAAOE,IAAP;AACD;;AAEM,SAASiC,QAAT,CAAkBjC,IAAlB,EAAwBkC,KAAxB,EAA+B;AACpClC,EAAAA,IAAI,CAACG,KAAL,CAAWU,QAAX,CAAoBE,YAApB,CAAiCoB,GAAjC,CAAqCD,KAArC;AACAE,EAAAA,YAAY,CAACpC,IAAD,CAAZ;AACD;;AAEM,SAASqC,WAAT,CAAqBrC,IAArB,EAA2BkC,KAA3B,EAAkC;AACvClC,EAAAA,IAAI,CAACG,KAAL,CAAWU,QAAX,CAAoBE,YAApB,CAAiCuB,MAAjC,CAAwCJ,KAAxC;AACAE,EAAAA,YAAY,CAACpC,IAAD,CAAZ;AACD;;AAEM,SAASuC,WAAT,CAAqBvC,IAArB,EAA2BkC,KAA3B,EAAkC;AACvCE,EAAAA,YAAY,CAACpC,IAAD,CAAZ;AACD;;AAEM,SAASwC,SAAT,CAAmBxC,IAAnB,EAAyBF,GAAzB,EAA8BoC,KAA9B,EAAqC;AAC1C,MAAKO,eAAL,GAAwBzC,IAAI,CAACG,KAAL,CAAWU,QAAnC,CAAK4B,eAAL;;AACA,MAAI,CAACA,eAAL,EAAsB;AAGpBA,IAAAA,eAAe,GAAGC,WAAW,CAAC1C,IAAD,EAAOF,GAAP,EAAY,IAAZ,CAA7B;AACAE,IAAAA,IAAI,CAACG,KAAL,CAAWU,QAAX,CAAoB4B,eAApB,GAAsCA,eAAtC;AACD;;AACD,MAAI,CAACzC,IAAI,CAAC+B,YAAV,EAAwB;AACtB;AACD;;AACD/B,EAAAA,IAAI,CAAC2C,WAAL,CAAiB,gBAAjB,EAAmC;AACjCC,IAAAA,SAAS,EAAE,CAACH,eAAD,CADsB;AAEjCI,IAAAA,WAAW,EAAE;AAAA,UAASC,SAAT,SAAEZ,KAAF;AAAA,aAAwBA,KAAK,CAACa,EAAN,KAAaD,SAAS,CAACC,EAA/C;AAAA,KAFoB;AAGjCC,IAAAA,WAAW,EAAE;AAHoB,GAAnC;AAKD;;AAED,SAASxB,YAAT,CAAsB1B,GAAtB,EAA2B;AACzB,uBAAmBA,GAAG,CAACmD,SAAJ,EAAnB;AAAA,MAAOC,GAAP,kBAAOA,GAAP;AAAA,MAAYC,GAAZ,kBAAYA,GAAZ;;AACA,SAAO;AACLC,IAAAA,SAAS,EAAEF,GADN;AAELG,IAAAA,QAAQ,EAAEF,GAFL;AAGLG,IAAAA,IAAI,EAAExD,GAAG,CAACyD,OAAJ,EAHD;AAILC,IAAAA,OAAO,EAAE1D,GAAG,CAAC2D,UAAJ,EAJJ;AAKLC,IAAAA,KAAK,EAAE5D,GAAG,CAAC6D,QAAJ;AALF,GAAP;AAOD;;AAED,SAAS7B,gBAAT,CAA0BhC,GAA1B,EAA+B;AAE7B,MAAI8D,KAAK,GAAG,CAAZ;AACA,MAAIC,KAAK,GAAG,CAAZ;;AACA,MAAI/D,GAAG,CAACgE,OAAR,EAAiB;AAAA,gCACEhE,GAAG,CAACgE,OAAJ,CAAYC,KAAZ,CAAkB,GAAlB,EAAuBC,KAAvB,CAA6B,CAA7B,EAAgC,CAAhC,EAAmClE,GAAnC,CAAuCmE,MAAvC,CADF;;AAAA;;AACdL,IAAAA,KADc;AACPC,IAAAA,KADO;AAEhB;;AACD,SAAO;AAACD,IAAAA,KAAK,EAALA,KAAD;AAAQC,IAAAA,KAAK,EAALA;AAAR,GAAP;AACD;;AAED,SAASnB,WAAT,CAAqB1C,IAArB,EAA2BF,GAA3B,EAA4D;AAAA,MAA5BoE,mBAA4B,uEAAN,IAAM;AAC1D,MAAOrC,aAAP,GAAwB7B,IAAI,CAACG,KAAL,CAAWU,QAAnC,CAAOgB,aAAP;AAEA,SAAO,IAAIsC,yBAAJ,CACLjD,MAAM,CAACC,MAAP,CACE;AACEiD,IAAAA,CAAC,EAAE,CADL;AAEEC,IAAAA,CAAC,EAAE,CAFL;AAGEjD,IAAAA,KAAK,EAAEpB,IAAI,CAACoB,KAHd;AAIEC,IAAAA,MAAM,EAAErB,IAAI,CAACqB,MAJf;AAKEiD,IAAAA,MAAM,EAAE;AALV,GADF,EAQE9C,YAAY,CAAC1B,GAAD,CARd,EASEoE,mBAAmB,GACf;AAIEK,IAAAA,eAAe,EACZ1C,aAAa,CAAC+B,KAAd,KAAwB,CAAxB,IAA6B/B,aAAa,CAACgC,KAAd,IAAuB,CAArD,IAA2DhC,aAAa,CAAC+B,KAAd,IAAuB,CAAlF,GACI,IADJ,GAEI,KAAK5D,IAAI,CAACqB,MAAL,IAAe,CAApB;AAPR,GADe,GAUf;AAEEkD,IAAAA,eAAe,EAAE;AAFnB,GAnBN,CADK,CAAP;AA0BD;;AAED,SAASvC,WAAT,CAAqBhC,IAArB,EAA2BF,GAA3B,EAAgC;AAC9B,6BAAmCE,IAAI,CAACG,KAAL,CAAWU,QAA9C;AAAA,MAAOE,YAAP,wBAAOA,YAAP;AAAA,MAAqBD,UAArB,wBAAqBA,UAArB;;AAEA,MAAIA,UAAJ,EAAgB;AAEd,QAAM0D,cAAc,GAAGC,KAAK,CAACC,IAAN,CAAW3D,YAAX,EAAyB,UAAAmB,KAAK;AAAA,aAAIA,KAAK,CAACa,EAAV;AAAA,KAA9B,CAAvB;AACA,QAAM4B,kBAAkB,GAAG3E,IAAI,CAACG,KAAL,CAAWyE,MAAX,CAAkBC,IAAlB,CAAuB,UAAA3C,KAAK;AAAA,aAAI,CAACsC,cAAc,CAACM,QAAf,CAAwB5C,KAAK,CAACa,EAA9B,CAAL;AAAA,KAA5B,CAA3B;;AACA,QAAI4B,kBAAJ,EAAwB;AACtB3E,MAAAA,IAAI,CAAC2C,WAAL,CAAiB,gBAAjB,EAAmC;AACjCC,QAAAA,SAAS,EAAE,CAACF,WAAW,CAAC1C,IAAD,EAAOF,GAAP,EAAY,KAAZ,CAAZ,CADsB;AAEjC+C,QAAAA,WAAW,EAAE;AAAA,cAAEX,KAAF,SAAEA,KAAF;AAAA,iBAAa,CAACsC,cAAc,CAACM,QAAf,CAAwB5C,KAAK,CAACa,EAA9B,CAAd;AAAA,SAFoB;AAGjCC,QAAAA,WAAW,EAAE;AAHoB,OAAnC;AAKD;AACF;;AAGDhD,EAAAA,IAAI,CAACG,KAAL,CAAWU,QAAX,CAAoB4B,eAApB,GAAsC,IAAtC;AACD;;AAED,SAASd,SAAT,CAAmB3B,IAAnB,EAAyBF,GAAzB,EAA8B;AAC5BE,EAAAA,IAAI,CAACiB,QAAL,CAAc;AACZM,IAAAA,SAAS,EAAEC,YAAY,CAAC1B,GAAD;AADX,GAAd;AAMAE,EAAAA,IAAI,CAAC+E,WAAL,CAAiB;AAACC,IAAAA,gBAAgB,EAAE;AAAnB,GAAjB;AACD;;AAED,SAAS5C,YAAT,CAAsBpC,IAAtB,EAA4B;AAC1B,MAAIA,IAAI,CAACG,KAAL,CAAWU,QAAX,CAAoBC,UAAxB,EAAoC;AAClC;AACD;;AAED,MAAM8D,MAAM,GAAG,EAAf;AACA5E,EAAAA,IAAI,CAACG,KAAL,CAAWU,QAAX,CAAoBE,YAApB,CAAiCkE,OAAjC,CAAyC,UAAAnC,SAAS,EAAI;AACpD,QAAMoC,SAAS,GAAGpC,SAAS,CAAC3C,KAAV,CAAgBgF,IAAlC;AACA,QAAMjD,KAAK,GAAG,IAAIgD,SAAJ,CAAcpC,SAAS,CAAC3C,KAAxB,CAAd;AACAyE,IAAAA,MAAM,CAACQ,IAAP,CAAYlD,KAAZ;AACD,GAJD;AAKAlC,EAAAA,IAAI,CAACiB,QAAL,CAAc;AAAC2D,IAAAA,MAAM,EAANA;AAAD,GAAd;AACD","sourcesContent":["import {Deck, WebMercatorViewport} from '@deck.gl/core';\n\nexport function getDeckInstance({map, gl, deck}) {\n // Only create one deck instance per context\n if (map.__deck) {\n return map.__deck;\n }\n\n const customRender = deck && deck.props._customRender;\n\n const deckProps = {\n useDevicePixels: true,\n _customRender: () => {\n map.triggerRepaint();\n if (customRender) {\n // customRender may be subscribed by DeckGL React component to update child props\n // make sure it is still called\n customRender();\n }\n },\n // TODO: import these defaults from a single source of truth\n parameters: {\n depthMask: true,\n depthTest: true,\n blendFunc: [gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA],\n blendEquation: gl.FUNC_ADD\n },\n userData: {\n isExternal: false,\n mapboxLayers: new Set()\n }\n };\n\n if (deck) {\n deck.setProps(deckProps);\n deck.props.userData.isExternal = true;\n } else {\n // Using external gl context - do not set css size\n Object.assign(deckProps, {\n gl,\n width: false,\n height: false,\n touchAction: 'unset',\n viewState: getViewState(map)\n });\n deck = new Deck(deckProps);\n\n // If deck is externally provided (React use case), we use deck's viewState to\n // drive the map.\n // Otherwise (pure JS use case), we use the map's viewState to drive deck.\n map.on('move', () => onMapMove(deck, map));\n map.on('remove', () => {\n deck.finalize();\n map.__deck = null;\n });\n }\n deck.props.userData.mapboxVersion = getMapboxVersion(map);\n map.__deck = deck;\n map.on('render', () => {\n if (deck.layerManager) afterRender(deck, map);\n });\n\n return deck;\n}\n\nexport function addLayer(deck, layer) {\n deck.props.userData.mapboxLayers.add(layer);\n updateLayers(deck);\n}\n\nexport function removeLayer(deck, layer) {\n deck.props.userData.mapboxLayers.delete(layer);\n updateLayers(deck);\n}\n\nexport function updateLayer(deck, layer) {\n updateLayers(deck);\n}\n\nexport function drawLayer(deck, map, layer) {\n let {currentViewport} = deck.props.userData;\n if (!currentViewport) {\n // This is the first layer drawn in this render cycle.\n // Generate viewport from the current map state.\n currentViewport = getViewport(deck, map, true);\n deck.props.userData.currentViewport = currentViewport;\n }\n if (!deck.layerManager) {\n return;\n }\n deck._drawLayers('mapbox-repaint', {\n viewports: [currentViewport],\n layerFilter: ({layer: deckLayer}) => layer.id === deckLayer.id,\n clearCanvas: false\n });\n}\n\nfunction getViewState(map) {\n const {lng, lat} = map.getCenter();\n return {\n longitude: lng,\n latitude: lat,\n zoom: map.getZoom(),\n bearing: map.getBearing(),\n pitch: map.getPitch()\n };\n}\n\nfunction getMapboxVersion(map) {\n // parse mapbox version string\n let major = 0;\n let minor = 0;\n if (map.version) {\n [major, minor] = map.version.split('.').slice(0, 2).map(Number);\n }\n return {major, minor};\n}\n\nfunction getViewport(deck, map, useMapboxProjection = true) {\n const {mapboxVersion} = deck.props.userData;\n\n return new WebMercatorViewport(\n Object.assign(\n {\n x: 0,\n y: 0,\n width: deck.width,\n height: deck.height,\n repeat: true\n },\n getViewState(map),\n useMapboxProjection\n ? {\n // match mapbox's projection matrix\n // A change of near plane was made in 1.3.0\n // https://github.com/mapbox/mapbox-gl-js/pull/8502\n nearZMultiplier:\n (mapboxVersion.major === 1 && mapboxVersion.minor >= 3) || mapboxVersion.major >= 2\n ? 0.02\n : 1 / (deck.height || 1)\n }\n : {\n // use deck.gl's own default\n nearZMultiplier: 0.1\n }\n )\n );\n}\n\nfunction afterRender(deck, map) {\n const {mapboxLayers, isExternal} = deck.props.userData;\n\n if (isExternal) {\n // Draw non-Mapbox layers\n const mapboxLayerIds = Array.from(mapboxLayers, layer => layer.id);\n const hasNonMapboxLayers = deck.props.layers.some(layer => !mapboxLayerIds.includes(layer.id));\n if (hasNonMapboxLayers) {\n deck._drawLayers('mapbox-repaint', {\n viewports: [getViewport(deck, map, false)],\n layerFilter: ({layer}) => !mapboxLayerIds.includes(layer.id),\n clearCanvas: false\n });\n }\n }\n\n // End of render cycle, clear generated viewport\n deck.props.userData.currentViewport = null;\n}\n\nfunction onMapMove(deck, map) {\n deck.setProps({\n viewState: getViewState(map)\n });\n // Camera changed, will trigger a map repaint right after this\n // Clear any change flag triggered by setting viewState so that deck does not request\n // a second repaint\n deck.needsRedraw({clearRedrawFlags: true});\n}\n\nfunction updateLayers(deck) {\n if (deck.props.userData.isExternal) {\n return;\n }\n\n const layers = [];\n deck.props.userData.mapboxLayers.forEach(deckLayer => {\n const LayerType = deckLayer.props.type;\n const layer = new LayerType(deckLayer.props);\n layers.push(layer);\n });\n deck.setProps({layers});\n}\n"],"file":"deck-utils.js"}
|
package/dist/es5/index.js
CHANGED
package/dist/es5/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA","sourcesContent":["export {default as MapboxLayer} from './mapbox-layer';\n"],"file":"index.js"}
|
package/dist/es5/mapbox-layer.js
CHANGED
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports.default = void 0;
|
|
7
9
|
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
8
14
|
var _deckUtils = require("./deck-utils");
|
|
9
15
|
|
|
10
|
-
|
|
11
|
-
|
|
16
|
+
var MapboxLayer = function () {
|
|
17
|
+
function MapboxLayer(props) {
|
|
18
|
+
(0, _classCallCheck2.default)(this, MapboxLayer);
|
|
19
|
+
|
|
12
20
|
if (!props.id) {
|
|
13
21
|
throw new Error('Layer must have an unique id');
|
|
14
22
|
}
|
|
@@ -21,35 +29,41 @@ class MapboxLayer {
|
|
|
21
29
|
this.props = props;
|
|
22
30
|
}
|
|
23
31
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
map
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
onRemove() {
|
|
35
|
-
(0, _deckUtils.removeLayer)(this.deck, this);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
setProps(props) {
|
|
39
|
-
Object.assign(this.props, props, {
|
|
40
|
-
id: this.id
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
if (this.deck) {
|
|
44
|
-
(0, _deckUtils.updateLayer)(this.deck, this);
|
|
32
|
+
(0, _createClass2.default)(MapboxLayer, [{
|
|
33
|
+
key: "onAdd",
|
|
34
|
+
value: function onAdd(map, gl) {
|
|
35
|
+
this.map = map;
|
|
36
|
+
this.deck = (0, _deckUtils.getDeckInstance)({
|
|
37
|
+
map: map,
|
|
38
|
+
gl: gl,
|
|
39
|
+
deck: this.props.deck
|
|
40
|
+
});
|
|
41
|
+
(0, _deckUtils.addLayer)(this.deck, this);
|
|
45
42
|
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
43
|
+
}, {
|
|
44
|
+
key: "onRemove",
|
|
45
|
+
value: function onRemove() {
|
|
46
|
+
(0, _deckUtils.removeLayer)(this.deck, this);
|
|
47
|
+
}
|
|
48
|
+
}, {
|
|
49
|
+
key: "setProps",
|
|
50
|
+
value: function setProps(props) {
|
|
51
|
+
Object.assign(this.props, props, {
|
|
52
|
+
id: this.id
|
|
53
|
+
});
|
|
51
54
|
|
|
52
|
-
|
|
55
|
+
if (this.deck) {
|
|
56
|
+
(0, _deckUtils.updateLayer)(this.deck, this);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}, {
|
|
60
|
+
key: "render",
|
|
61
|
+
value: function render(gl, matrix) {
|
|
62
|
+
(0, _deckUtils.drawLayer)(this.deck, this.map, this);
|
|
63
|
+
}
|
|
64
|
+
}]);
|
|
65
|
+
return MapboxLayer;
|
|
66
|
+
}();
|
|
53
67
|
|
|
54
68
|
exports.default = MapboxLayer;
|
|
55
69
|
//# sourceMappingURL=mapbox-layer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/mapbox-layer.js"],"names":["MapboxLayer","
|
|
1
|
+
{"version":3,"sources":["../../src/mapbox-layer.js"],"names":["MapboxLayer","props","id","Error","type","renderingMode","map","deck","gl","Object","assign","matrix"],"mappings":";;;;;;;;;;;;;AAAA;;IAEqBA,W;AAEnB,uBAAYC,KAAZ,EAAmB;AAAA;;AACjB,QAAI,CAACA,KAAK,CAACC,EAAX,EAAe;AACb,YAAM,IAAIC,KAAJ,CAAU,8BAAV,CAAN;AACD;;AAED,SAAKD,EAAL,GAAUD,KAAK,CAACC,EAAhB;AACA,SAAKE,IAAL,GAAY,QAAZ;AACA,SAAKC,aAAL,GAAqBJ,KAAK,CAACI,aAAN,IAAuB,IAA5C;AACA,SAAKC,GAAL,GAAW,IAAX;AACA,SAAKC,IAAL,GAAY,IAAZ;AACA,SAAKN,KAAL,GAAaA,KAAb;AACD;;;;WAID,eAAMK,GAAN,EAAWE,EAAX,EAAe;AACb,WAAKF,GAAL,GAAWA,GAAX;AACA,WAAKC,IAAL,GAAY,gCAAgB;AAACD,QAAAA,GAAG,EAAHA,GAAD;AAAME,QAAAA,EAAE,EAAFA,EAAN;AAAUD,QAAAA,IAAI,EAAE,KAAKN,KAAL,CAAWM;AAA3B,OAAhB,CAAZ;AACA,+BAAS,KAAKA,IAAd,EAAoB,IAApB;AACD;;;WAED,oBAAW;AACT,kCAAY,KAAKA,IAAjB,EAAuB,IAAvB;AACD;;;WAED,kBAASN,KAAT,EAAgB;AAEdQ,MAAAA,MAAM,CAACC,MAAP,CAAc,KAAKT,KAAnB,EAA0BA,KAA1B,EAAiC;AAACC,QAAAA,EAAE,EAAE,KAAKA;AAAV,OAAjC;;AAEA,UAAI,KAAKK,IAAT,EAAe;AACb,oCAAY,KAAKA,IAAjB,EAAuB,IAAvB;AACD;AACF;;;WAED,gBAAOC,EAAP,EAAWG,MAAX,EAAmB;AACjB,gCAAU,KAAKJ,IAAf,EAAqB,KAAKD,GAA1B,EAA+B,IAA/B;AACD","sourcesContent":["import {getDeckInstance, addLayer, removeLayer, updateLayer, drawLayer} from './deck-utils';\n\nexport default class MapboxLayer {\n /* eslint-disable no-this-before-super */\n constructor(props) {\n if (!props.id) {\n throw new Error('Layer must have an unique id');\n }\n\n this.id = props.id;\n this.type = 'custom';\n this.renderingMode = props.renderingMode || '3d';\n this.map = null;\n this.deck = null;\n this.props = props;\n }\n\n /* Mapbox custom layer methods */\n\n onAdd(map, gl) {\n this.map = map;\n this.deck = getDeckInstance({map, gl, deck: this.props.deck});\n addLayer(this.deck, this);\n }\n\n onRemove() {\n removeLayer(this.deck, this);\n }\n\n setProps(props) {\n // id cannot be changed\n Object.assign(this.props, props, {id: this.id});\n // safe guard in case setProps is called before onAdd\n if (this.deck) {\n updateLayer(this.deck, this);\n }\n }\n\n render(gl, matrix) {\n drawLayer(this.deck, this.map, this);\n }\n}\n"],"file":"mapbox-layer.js"}
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"names":["default","MapboxLayer"],"mappings":"AAAA,SAAQA,OAAO,IAAIC,WAAnB,QAAqC,gBAArC","sourcesContent":["export {default as MapboxLayer} from './mapbox-layer';\n"],"file":"index.js"}
|
package/dist.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r(require("deck")):"function"==typeof define&&define.amd?define(["deck"],r):"object"==typeof exports?exports.deck=r(require("deck")):e.deck=r(e.deck)}(window,(function(e){return function(e){var r={};function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)t.d(n,o,function(r){return e[r]}.bind(null,o));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=4)}([function(r,t){r.exports=e},function(e,r){e.exports=function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}},function(e,r){function t(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}},function(e,r,t){var n=t(5),o=t(6),i=t(7);e.exports=function(e,r){return n(e)||o(e,r)||i()}},function(e,r,t){var n=t(8),o=
|
|
1
|
+
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r(require("deck")):"function"==typeof define&&define.amd?define(["deck"],r):"object"==typeof exports?exports.deck=r(require("deck")):e.deck=r(e.deck)}(window,(function(e){return function(e){var r={};function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)t.d(n,o,function(r){return e[r]}.bind(null,o));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=4)}([function(r,t){r.exports=e},function(e,r){e.exports=function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}},function(e,r){function t(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}},function(e,r,t){var n=t(5),o=t(6),i=t(7);e.exports=function(e,r){return n(e)||o(e,r)||i()}},function(e,r,t){var n=t(8),o=globalThis.deck||{};if(!o.Layer)throw new Error("@deck.gl/core is not found");e.exports=Object.assign(o,n)},function(e,r){e.exports=function(e){if(Array.isArray(e))return e}},function(e,r){e.exports=function(e,r){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var t=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(t.push(a.value),!r||t.length!==r);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return t}}},function(e,r){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,r,t){"use strict";t.r(r);var n=t(1),o=t.n(n),i=t(2),a=t.n(i),u=t(3),s=t.n(u),c=t(0);function p(e){var r=e.map,t=e.gl,n=e.deck;if(r.__deck)return r.__deck;var o=n&&n.props._customRender,i={useDevicePixels:!0,_customRender:function(){r.triggerRepaint(),o&&o()},parameters:{depthMask:!0,depthTest:!0,blendFunc:[770,771,1,771],blendEquation:32774},userData:{isExternal:!1,mapboxLayers:new Set}};return n?(n.setProps(i),n.props.userData.isExternal=!0):(Object.assign(i,{gl:t,width:!1,height:!1,touchAction:"unset",viewState:l(r)}),n=new c.Deck(i),r.on("move",(function(){return function(e,r){e.setProps({viewState:l(r)}),e.needsRedraw({clearRedrawFlags:!0})}(n,r)})),r.on("remove",(function(){n.finalize(),r.__deck=null}))),n.props.userData.mapboxVersion=function(e){var r=0,t=0;if(e.version){var n=e.version.split(".").slice(0,2).map(Number),o=s()(n,2);r=o[0],t=o[1]}return{major:r,minor:t}}(r),r.__deck=n,r.on("render",(function(){n.layerManager&&function(e,r){var t=e.props.userData,n=t.mapboxLayers;if(t.isExternal){var o=Array.from(n,(function(e){return e.id}));e.props.layers.some((function(e){return!o.includes(e.id)}))&&e._drawLayers("mapbox-repaint",{viewports:[f(e,r,!1)],layerFilter:function(e){var r=e.layer;return!o.includes(r.id)},clearCanvas:!1})}e.props.userData.currentViewport=null}(n,r)})),n}function l(e){var r=e.getCenter();return{longitude:r.lng,latitude:r.lat,zoom:e.getZoom(),bearing:e.getBearing(),pitch:e.getPitch()}}function f(e,r){var t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=e.props.userData.mapboxVersion;return new c.WebMercatorViewport(Object.assign({x:0,y:0,width:e.width,height:e.height,repeat:!0},l(r),t?{nearZMultiplier:1===n.major&&n.minor>=3||n.major>=2?.02:1/(e.height||1)}:{nearZMultiplier:.1}))}function d(e){if(!e.props.userData.isExternal){var r=[];e.props.userData.mapboxLayers.forEach((function(e){var t=new(0,e.props.type)(e.props);r.push(t)})),e.setProps({layers:r})}}var y=function(){function e(r){if(o()(this,e),!r.id)throw new Error("Layer must have an unique id");this.id=r.id,this.type="custom",this.renderingMode=r.renderingMode||"3d",this.map=null,this.deck=null,this.props=r}return a()(e,[{key:"onAdd",value:function(e,r){var t,n;this.map=e,this.deck=p({map:e,gl:r,deck:this.props.deck}),t=this.deck,n=this,t.props.userData.mapboxLayers.add(n),d(t)}},{key:"onRemove",value:function(){var e,r;e=this.deck,r=this,e.props.userData.mapboxLayers.delete(r),d(e)}},{key:"setProps",value:function(e){Object.assign(this.props,e,{id:this.id}),this.deck&&d(this.deck)}},{key:"render",value:function(e,r){var t,n,o,i;t=this.deck,n=this.map,o=this,(i=t.props.userData.currentViewport)||(i=f(t,n,!0),t.props.userData.currentViewport=i),t.layerManager&&t._drawLayers("mapbox-repaint",{viewports:[i],layerFilter:function(e){var r=e.layer;return o.id===r.id},clearCanvas:!1})}}]),e}();t.d(r,"MapboxLayer",(function(){return y}))}])}));
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@deck.gl/mapbox",
|
|
3
3
|
"description": "Use deck.gl layers as custom mapbox-gl-js layers",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "8.7.0-alpha.
|
|
5
|
+
"version": "8.7.0-alpha.9",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
8
8
|
},
|
|
@@ -31,5 +31,5 @@
|
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"@deck.gl/core": "^8.0.0"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "495e0f2afb3449fe523190ab664c37c5e8976c5d"
|
|
35
35
|
}
|
|
File without changes
|