@deck.gl/carto 8.7.10 → 8.8.0-alpha.4
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 +33337 -40143
- package/dist/es5/api/layer-map.js +17 -5
- package/dist/es5/api/layer-map.js.map +1 -1
- package/dist/es5/api/maps-api-common.js +1 -0
- package/dist/es5/api/maps-api-common.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +9 -23
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/api/parseMap.js +14 -3
- package/dist/es5/api/parseMap.js.map +1 -1
- package/dist/es5/index.js +16 -0
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +38 -13
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/layers/h3-tile-layer.js +107 -0
- package/dist/es5/layers/h3-tile-layer.js.map +1 -0
- package/dist/es5/layers/h3-tileset-2d.js +175 -0
- package/dist/es5/layers/h3-tileset-2d.js.map +1 -0
- package/dist/es5/layers/quadkey-tile-layer.js +103 -0
- package/dist/es5/layers/quadkey-tile-layer.js.map +1 -0
- package/dist/es5/layers/quadkey-tileset-2d.js +89 -0
- package/dist/es5/layers/quadkey-tileset-2d.js.map +1 -0
- package/dist/es5/layers/spatial-index-tile-layer.js +92 -0
- package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -0
- package/dist/esm/api/layer-map.js +12 -4
- package/dist/esm/api/layer-map.js.map +1 -1
- package/dist/esm/api/maps-api-common.js +1 -0
- package/dist/esm/api/maps-api-common.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +2 -19
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/api/parseMap.js +15 -4
- package/dist/esm/api/parseMap.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/carto-layer.js +37 -8
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/layers/h3-tile-layer.js +69 -0
- package/dist/esm/layers/h3-tile-layer.js.map +1 -0
- package/dist/esm/layers/h3-tileset-2d.js +118 -0
- package/dist/esm/layers/h3-tileset-2d.js.map +1 -0
- package/dist/esm/layers/quadkey-tile-layer.js +63 -0
- package/dist/esm/layers/quadkey-tile-layer.js.map +1 -0
- package/dist/esm/layers/quadkey-tileset-2d.js +48 -0
- package/dist/esm/layers/quadkey-tileset-2d.js.map +1 -0
- package/dist/esm/layers/spatial-index-tile-layer.js +57 -0
- package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -0
- package/dist.min.js +14 -14
- package/package.json +9 -8
- package/src/api/layer-map.ts +14 -4
- package/src/api/maps-api-common.ts +4 -3
- package/src/api/maps-v3-client.ts +3 -19
- package/src/api/parseMap.ts +20 -5
- package/src/index.ts +4 -0
- package/src/layers/{carto-layer.js → carto-layer.ts} +162 -23
- package/src/layers/h3-tile-layer.js +52 -0
- package/src/layers/h3-tileset-2d.js +108 -0
- package/src/layers/quadkey-tile-layer.js +47 -0
- package/src/layers/quadkey-tileset-2d.js +36 -0
- package/src/layers/spatial-index-tile-layer.js +48 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { _Tileset2D as Tileset2D } from '@deck.gl/geo-layers';
|
|
2
|
+
|
|
3
|
+
function tileToQuadkey(tile) {
|
|
4
|
+
let index = '';
|
|
5
|
+
|
|
6
|
+
for (let z = tile.z; z > 0; z--) {
|
|
7
|
+
let b = 0;
|
|
8
|
+
const mask = 1 << z - 1;
|
|
9
|
+
if ((tile.x & mask) !== 0) b++;
|
|
10
|
+
if ((tile.y & mask) !== 0) b += 2;
|
|
11
|
+
index += b.toString();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
return {
|
|
15
|
+
i: index
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default class QuadkeyTileset2D extends Tileset2D {
|
|
20
|
+
getTileIndices(opts) {
|
|
21
|
+
return super.getTileIndices(opts).map(tileToQuadkey);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
getTileId({
|
|
25
|
+
i
|
|
26
|
+
}) {
|
|
27
|
+
return i;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
getTileMetadata() {
|
|
31
|
+
return {};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
getTileZoom({
|
|
35
|
+
i
|
|
36
|
+
}) {
|
|
37
|
+
return i.length;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
getParentIndex(index) {
|
|
41
|
+
const i = index.i.slice(0, -1);
|
|
42
|
+
return {
|
|
43
|
+
i
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=quadkey-tileset-2d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/quadkey-tileset-2d.js"],"names":["_Tileset2D","Tileset2D","tileToQuadkey","tile","index","z","b","mask","x","y","toString","i","QuadkeyTileset2D","getTileIndices","opts","map","getTileId","getTileMetadata","getTileZoom","length","getParentIndex","slice"],"mappings":"AAAA,SAAQA,UAAU,IAAIC,SAAtB,QAAsC,qBAAtC;;AAEA,SAASC,aAAT,CAAuBC,IAAvB,EAA6B;AAC3B,MAAIC,KAAK,GAAG,EAAZ;;AACA,OAAK,IAAIC,CAAC,GAAGF,IAAI,CAACE,CAAlB,EAAqBA,CAAC,GAAG,CAAzB,EAA4BA,CAAC,EAA7B,EAAiC;AAC/B,QAAIC,CAAC,GAAG,CAAR;AACA,UAAMC,IAAI,GAAG,KAAMF,CAAC,GAAG,CAAvB;AACA,QAAI,CAACF,IAAI,CAACK,CAAL,GAASD,IAAV,MAAoB,CAAxB,EAA2BD,CAAC;AAC5B,QAAI,CAACH,IAAI,CAACM,CAAL,GAASF,IAAV,MAAoB,CAAxB,EAA2BD,CAAC,IAAI,CAAL;AAC3BF,IAAAA,KAAK,IAAIE,CAAC,CAACI,QAAF,EAAT;AACD;;AACD,SAAO;AAACC,IAAAA,CAAC,EAAEP;AAAJ,GAAP;AACD;;AAED,eAAe,MAAMQ,gBAAN,SAA+BX,SAA/B,CAAyC;AACtDY,EAAAA,cAAc,CAACC,IAAD,EAAO;AACnB,WAAO,MAAMD,cAAN,CAAqBC,IAArB,EAA2BC,GAA3B,CAA+Bb,aAA/B,CAAP;AACD;;AAEDc,EAAAA,SAAS,CAAC;AAACL,IAAAA;AAAD,GAAD,EAAM;AACb,WAAOA,CAAP;AACD;;AAEDM,EAAAA,eAAe,GAAG;AAChB,WAAO,EAAP;AACD;;AAEDC,EAAAA,WAAW,CAAC;AAACP,IAAAA;AAAD,GAAD,EAAM;AACf,WAAOA,CAAC,CAACQ,MAAT;AACD;;AAEDC,EAAAA,cAAc,CAAChB,KAAD,EAAQ;AACpB,UAAMO,CAAC,GAAGP,KAAK,CAACO,CAAN,CAAQU,KAAR,CAAc,CAAd,EAAiB,CAAC,CAAlB,CAAV;AACA,WAAO;AAACV,MAAAA;AAAD,KAAP;AACD;;AApBqD","sourcesContent":["import {_Tileset2D as Tileset2D} from '@deck.gl/geo-layers';\n\nfunction tileToQuadkey(tile) {\n let index = '';\n for (let z = tile.z; z > 0; z--) {\n let b = 0;\n const mask = 1 << (z - 1);\n if ((tile.x & mask) !== 0) b++;\n if ((tile.y & mask) !== 0) b += 2;\n index += b.toString();\n }\n return {i: index};\n}\n\nexport default class QuadkeyTileset2D extends Tileset2D {\n getTileIndices(opts) {\n return super.getTileIndices(opts).map(tileToQuadkey);\n }\n\n getTileId({i}) {\n return i;\n }\n\n getTileMetadata() {\n return {};\n }\n\n getTileZoom({i}) {\n return i.length;\n }\n\n getParentIndex(index) {\n const i = index.i.slice(0, -1);\n return {i};\n }\n}\n"],"file":"quadkey-tileset-2d.js"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { TileLayer } from '@deck.gl/geo-layers';
|
|
2
|
+
|
|
3
|
+
function isFeatureIdDefined(value) {
|
|
4
|
+
return value !== undefined && value !== null && value !== '';
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export default class SpatialIndexTileLayer extends TileLayer {
|
|
8
|
+
_updateAutoHighlight(info) {
|
|
9
|
+
const {
|
|
10
|
+
hoveredFeatureId
|
|
11
|
+
} = this.state;
|
|
12
|
+
const hoveredFeature = info.object;
|
|
13
|
+
let newHoveredFeatureId;
|
|
14
|
+
|
|
15
|
+
if (hoveredFeature) {
|
|
16
|
+
newHoveredFeatureId = hoveredFeature.id;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
if (hoveredFeatureId !== newHoveredFeatureId) {
|
|
20
|
+
let {
|
|
21
|
+
highlightColor
|
|
22
|
+
} = this.props;
|
|
23
|
+
|
|
24
|
+
if (typeof highlightColor === 'function') {
|
|
25
|
+
highlightColor = highlightColor(info);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
this.setState({
|
|
29
|
+
highlightColor,
|
|
30
|
+
hoveredFeatureId: newHoveredFeatureId
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
getSubLayerPropsByTile(tile) {
|
|
36
|
+
return {
|
|
37
|
+
highlightedObjectIndex: this.getHighlightedObjectIndex(tile),
|
|
38
|
+
highlightColor: this.state.highlightColor
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
getHighlightedObjectIndex(tile) {
|
|
43
|
+
const {
|
|
44
|
+
hoveredFeatureId
|
|
45
|
+
} = this.state;
|
|
46
|
+
const data = tile.content;
|
|
47
|
+
const isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId);
|
|
48
|
+
|
|
49
|
+
if (!isFeatureIdPresent || !Array.isArray(data)) {
|
|
50
|
+
return -1;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return data.findIndex(feature => feature.id === hoveredFeatureId);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=spatial-index-tile-layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/spatial-index-tile-layer.js"],"names":["TileLayer","isFeatureIdDefined","value","undefined","SpatialIndexTileLayer","_updateAutoHighlight","info","hoveredFeatureId","state","hoveredFeature","object","newHoveredFeatureId","id","highlightColor","props","setState","getSubLayerPropsByTile","tile","highlightedObjectIndex","getHighlightedObjectIndex","data","content","isFeatureIdPresent","Array","isArray","findIndex","feature"],"mappings":"AAAA,SAAQA,SAAR,QAAwB,qBAAxB;;AAEA,SAASC,kBAAT,CAA4BC,KAA5B,EAAmC;AACjC,SAAOA,KAAK,KAAKC,SAAV,IAAuBD,KAAK,KAAK,IAAjC,IAAyCA,KAAK,KAAK,EAA1D;AACD;;AAED,eAAe,MAAME,qBAAN,SAAoCJ,SAApC,CAA8C;AAC3DK,EAAAA,oBAAoB,CAACC,IAAD,EAAO;AACzB,UAAM;AAACC,MAAAA;AAAD,QAAqB,KAAKC,KAAhC;AACA,UAAMC,cAAc,GAAGH,IAAI,CAACI,MAA5B;AACA,QAAIC,mBAAJ;;AAEA,QAAIF,cAAJ,EAAoB;AAClBE,MAAAA,mBAAmB,GAAGF,cAAc,CAACG,EAArC;AACD;;AAED,QAAIL,gBAAgB,KAAKI,mBAAzB,EAA8C;AAC5C,UAAI;AAACE,QAAAA;AAAD,UAAmB,KAAKC,KAA5B;;AACA,UAAI,OAAOD,cAAP,KAA0B,UAA9B,EAA0C;AACxCA,QAAAA,cAAc,GAAGA,cAAc,CAACP,IAAD,CAA/B;AACD;;AAED,WAAKS,QAAL,CAAc;AACZF,QAAAA,cADY;AAEZN,QAAAA,gBAAgB,EAAEI;AAFN,OAAd;AAID;AACF;;AAEDK,EAAAA,sBAAsB,CAACC,IAAD,EAAO;AAC3B,WAAO;AACLC,MAAAA,sBAAsB,EAAE,KAAKC,yBAAL,CAA+BF,IAA/B,CADnB;AAELJ,MAAAA,cAAc,EAAE,KAAKL,KAAL,CAAWK;AAFtB,KAAP;AAID;;AAEDM,EAAAA,yBAAyB,CAACF,IAAD,EAAO;AAC9B,UAAM;AAACV,MAAAA;AAAD,QAAqB,KAAKC,KAAhC;AACA,UAAMY,IAAI,GAAGH,IAAI,CAACI,OAAlB;AAEA,UAAMC,kBAAkB,GAAGrB,kBAAkB,CAACM,gBAAD,CAA7C;;AACA,QAAI,CAACe,kBAAD,IAAuB,CAACC,KAAK,CAACC,OAAN,CAAcJ,IAAd,CAA5B,EAAiD;AAC/C,aAAO,CAAC,CAAR;AACD;;AAED,WAAOA,IAAI,CAACK,SAAL,CAAeC,OAAO,IAAIA,OAAO,CAACd,EAAR,KAAeL,gBAAzC,CAAP;AACD;;AAxC0D","sourcesContent":["import {TileLayer} from '@deck.gl/geo-layers';\n\nfunction isFeatureIdDefined(value) {\n return value !== undefined && value !== null && value !== '';\n}\n\nexport default class SpatialIndexTileLayer extends TileLayer {\n _updateAutoHighlight(info) {\n const {hoveredFeatureId} = this.state;\n const hoveredFeature = info.object;\n let newHoveredFeatureId;\n\n if (hoveredFeature) {\n newHoveredFeatureId = hoveredFeature.id;\n }\n\n if (hoveredFeatureId !== newHoveredFeatureId) {\n let {highlightColor} = this.props;\n if (typeof highlightColor === 'function') {\n highlightColor = highlightColor(info);\n }\n\n this.setState({\n highlightColor,\n hoveredFeatureId: newHoveredFeatureId\n });\n }\n }\n\n getSubLayerPropsByTile(tile) {\n return {\n highlightedObjectIndex: this.getHighlightedObjectIndex(tile),\n highlightColor: this.state.highlightColor\n };\n }\n\n getHighlightedObjectIndex(tile) {\n const {hoveredFeatureId} = this.state;\n const data = tile.content;\n\n const isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId);\n if (!isFeatureIdPresent || !Array.isArray(data)) {\n return -1;\n }\n\n return data.findIndex(feature => feature.id === hoveredFeatureId);\n }\n}\n"],"file":"spatial-index-tile-layer.js"}
|