@deck.gl/geo-layers 8.6.1 → 8.6.5
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 +1469 -1449
- package/dist/es5/mvt-layer/mvt-layer.js +23 -0
- package/dist/es5/mvt-layer/mvt-layer.js.map +1 -1
- package/dist/es5/terrain-layer/terrain-layer.js +5 -9
- package/dist/es5/terrain-layer/terrain-layer.js.map +1 -1
- package/dist/es5/tile-layer/tile-layer.js +11 -12
- package/dist/es5/tile-layer/tile-layer.js.map +1 -1
- package/dist/esm/mvt-layer/mvt-layer.js +26 -0
- package/dist/esm/mvt-layer/mvt-layer.js.map +1 -1
- package/dist/esm/terrain-layer/terrain-layer.js +8 -10
- package/dist/esm/terrain-layer/terrain-layer.js.map +1 -1
- package/dist/esm/tile-3d-layer/tile-3d-layer.js.map +1 -1
- package/dist/esm/tile-layer/tile-2d-header.js.map +1 -1
- package/dist/esm/tile-layer/tile-2d-traversal.js.map +1 -1
- package/dist/esm/tile-layer/tile-layer.js +6 -8
- package/dist/esm/tile-layer/tile-layer.js.map +1 -1
- package/dist/esm/tile-layer/tileset-2d.js.map +1 -1
- package/dist.min.js +1 -1
- package/package.json +2 -2
- package/src/mvt-layer/mvt-layer.js +16 -0
- package/src/terrain-layer/terrain-layer.js +10 -9
- package/src/tile-layer/tile-layer.js +9 -6
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@deck.gl/geo-layers",
|
|
3
3
|
"description": "deck.gl layers supporting geospatial use cases and GIS formats",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "8.6.
|
|
5
|
+
"version": "8.6.5",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
8
8
|
},
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"@deck.gl/mesh-layers": "^8.0.0",
|
|
50
50
|
"@loaders.gl/core": "^3.0.0"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "62726f0bd67091a673f3dca276515199276e83bd"
|
|
53
53
|
}
|
|
@@ -43,6 +43,10 @@ export default class MVTLayer extends TileLayer {
|
|
|
43
43
|
super.updateState({props, oldProps, context, changeFlags});
|
|
44
44
|
this._setWGS84PropertyForTiles();
|
|
45
45
|
}
|
|
46
|
+
const {highlightColor} = props;
|
|
47
|
+
if (highlightColor !== oldProps.highlightColor && Array.isArray(highlightColor)) {
|
|
48
|
+
this.setState({highlightColor});
|
|
49
|
+
}
|
|
46
50
|
}
|
|
47
51
|
|
|
48
52
|
/* eslint-disable complexity */
|
|
@@ -167,12 +171,17 @@ export default class MVTLayer extends TileLayer {
|
|
|
167
171
|
newHoveredFeatureId = getFeatureUniqueId(hoveredFeature, uniqueIdProperty);
|
|
168
172
|
newHoveredFeatureLayerName = getFeatureLayerName(hoveredFeature);
|
|
169
173
|
}
|
|
174
|
+
let {highlightColor} = this.props;
|
|
175
|
+
if (typeof highlightColor === 'function') {
|
|
176
|
+
highlightColor = highlightColor(info);
|
|
177
|
+
}
|
|
170
178
|
|
|
171
179
|
if (
|
|
172
180
|
hoveredFeatureId !== newHoveredFeatureId ||
|
|
173
181
|
hoveredFeatureLayerName !== newHoveredFeatureLayerName
|
|
174
182
|
) {
|
|
175
183
|
this.setState({
|
|
184
|
+
highlightColor,
|
|
176
185
|
hoveredFeatureId: newHoveredFeatureId,
|
|
177
186
|
hoveredFeatureLayerName: newHoveredFeatureLayerName
|
|
178
187
|
});
|
|
@@ -195,6 +204,13 @@ export default class MVTLayer extends TileLayer {
|
|
|
195
204
|
return info;
|
|
196
205
|
}
|
|
197
206
|
|
|
207
|
+
getSubLayerPropsByTile(tile) {
|
|
208
|
+
return {
|
|
209
|
+
highlightedObjectIndex: this.getHighlightedObjectIndex(tile),
|
|
210
|
+
highlightColor: this.state.highlightColor
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
|
|
198
214
|
getHighlightedObjectIndex(tile) {
|
|
199
215
|
const {hoveredFeatureId, hoveredFeatureLayerName} = this.state;
|
|
200
216
|
const {uniqueIdProperty, highlightedFeatureId, binary} = this.props;
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
import {CompositeLayer, log} from '@deck.gl/core';
|
|
22
22
|
import {SimpleMeshLayer} from '@deck.gl/mesh-layers';
|
|
23
|
-
import {
|
|
23
|
+
import {COORDINATE_SYSTEM} from '@deck.gl/core';
|
|
24
24
|
import {TerrainWorkerLoader} from '@loaders.gl/terrain';
|
|
25
25
|
import TileLayer from '../tile-layer/tile-layer';
|
|
26
26
|
import {urlType, getURLFromTemplate} from '../tile-layer/utils';
|
|
@@ -123,17 +123,17 @@ export default class TerrainLayer extends CompositeLayer {
|
|
|
123
123
|
|
|
124
124
|
getTiledTerrainData(tile) {
|
|
125
125
|
const {elevationData, fetch, texture, elevationDecoder, meshMaxError} = this.props;
|
|
126
|
+
const {viewport} = this.context;
|
|
126
127
|
const dataUrl = getURLFromTemplate(elevationData, tile);
|
|
127
128
|
const textureUrl = getURLFromTemplate(texture, tile);
|
|
128
129
|
|
|
129
|
-
const {bbox, signal
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
const topRight = viewport.projectFlat([bbox.east, bbox.north]);
|
|
130
|
+
const {bbox, signal} = tile;
|
|
131
|
+
const bottomLeft = viewport.isGeospatial
|
|
132
|
+
? viewport.projectFlat([bbox.west, bbox.south])
|
|
133
|
+
: [bbox.left, bbox.bottom];
|
|
134
|
+
const topRight = viewport.isGeospatial
|
|
135
|
+
? viewport.projectFlat([bbox.east, bbox.north])
|
|
136
|
+
: [bbox.right, bbox.top];
|
|
137
137
|
const bounds = [bottomLeft[0], bottomLeft[1], topRight[0], topRight[1]];
|
|
138
138
|
|
|
139
139
|
const terrain = this.loadTerrain({
|
|
@@ -165,6 +165,7 @@ export default class TerrainLayer extends CompositeLayer {
|
|
|
165
165
|
data: DUMMY_DATA,
|
|
166
166
|
mesh,
|
|
167
167
|
texture,
|
|
168
|
+
_instanced: false,
|
|
168
169
|
coordinateSystem: COORDINATE_SYSTEM.CARTESIAN,
|
|
169
170
|
getPosition: d => [0, 0, 0],
|
|
170
171
|
getColor: color
|
|
@@ -183,8 +183,8 @@ export default class TileLayer extends CompositeLayer {
|
|
|
183
183
|
return this.props.renderSubLayers(props);
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
-
|
|
187
|
-
return
|
|
186
|
+
getSubLayerPropsByTile(tile) {
|
|
187
|
+
return null;
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
getPickingInfo({info, sourceLayer}) {
|
|
@@ -200,7 +200,7 @@ export default class TileLayer extends CompositeLayer {
|
|
|
200
200
|
|
|
201
201
|
renderLayers() {
|
|
202
202
|
return this.state.tileset.tiles.map(tile => {
|
|
203
|
-
const
|
|
203
|
+
const subLayerProps = this.getSubLayerPropsByTile(tile);
|
|
204
204
|
// cache the rendered layer in the tile
|
|
205
205
|
if (!tile.isLoaded && !tile.content) {
|
|
206
206
|
// nothing to show
|
|
@@ -215,14 +215,17 @@ export default class TileLayer extends CompositeLayer {
|
|
|
215
215
|
tile.layers = flatten(layers, Boolean).map(layer =>
|
|
216
216
|
layer.clone({
|
|
217
217
|
tile,
|
|
218
|
-
|
|
218
|
+
...subLayerProps
|
|
219
219
|
})
|
|
220
220
|
);
|
|
221
221
|
} else if (
|
|
222
|
+
subLayerProps &&
|
|
222
223
|
tile.layers[0] &&
|
|
223
|
-
|
|
224
|
+
Object.keys(subLayerProps).some(
|
|
225
|
+
propName => tile.layers[0].props[propName] !== subLayerProps[propName]
|
|
226
|
+
)
|
|
224
227
|
) {
|
|
225
|
-
tile.layers = tile.layers.map(layer => layer.clone(
|
|
228
|
+
tile.layers = tile.layers.map(layer => layer.clone(subLayerProps));
|
|
226
229
|
}
|
|
227
230
|
return tile.layers;
|
|
228
231
|
});
|