@deck.gl/carto 8.10.0-alpha.2 → 8.10.0-alpha.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/LICENSE +1 -1
- package/dist/cartoRasterTile-worker.js +1084 -0
- package/dist/cartoSpatialTile-worker.js +1469 -0
- package/dist/cartoVectorTile-worker.js +1727 -0
- package/dist/dist.dev.js +2137 -1936
- package/dist/es5/api/carto-api-error.js +3 -7
- package/dist/es5/api/carto-api-error.js.map +1 -1
- package/dist/es5/api/layer-map.js +3 -7
- package/dist/es5/api/layer-map.js.map +1 -1
- package/dist/es5/api/maps-api-common.js +0 -1
- package/dist/es5/api/maps-api-common.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +5 -20
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/index.js +74 -6
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +196 -200
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/layers/h3-tile-layer.js +57 -79
- package/dist/es5/layers/h3-tile-layer.js.map +1 -1
- package/dist/es5/layers/h3-tileset-2d.js +62 -68
- package/dist/es5/layers/h3-tileset-2d.js.map +1 -1
- package/dist/es5/layers/point-label-layer.js +160 -165
- package/dist/es5/layers/point-label-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-layer.js +23 -27
- package/dist/es5/layers/quadbin-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-tile-layer.js +39 -63
- package/dist/es5/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-tileset-2d.js +32 -38
- package/dist/es5/layers/quadbin-tileset-2d.js.map +1 -1
- package/dist/es5/layers/raster-layer.js +94 -98
- package/dist/es5/layers/raster-layer.js.map +1 -1
- package/dist/es5/layers/raster-tile-layer.js +37 -58
- package/dist/es5/layers/raster-tile-layer.js.map +1 -1
- package/dist/es5/layers/schema/carto-raster-tile-loader.js +13 -4
- package/dist/es5/layers/schema/carto-raster-tile-loader.js.map +1 -1
- package/dist/es5/layers/schema/carto-raster-tile.js +31 -39
- package/dist/es5/layers/schema/carto-raster-tile.js.map +1 -1
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js +14 -8
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/es5/layers/schema/carto-spatial-tile.js +36 -47
- package/dist/es5/layers/schema/carto-spatial-tile.js.map +1 -1
- package/dist/es5/layers/schema/carto-tile.js +161 -196
- package/dist/es5/layers/schema/carto-tile.js.map +1 -1
- package/dist/es5/layers/schema/carto-vector-tile-loader.js +64 -4
- package/dist/es5/layers/schema/carto-vector-tile-loader.js.map +1 -1
- package/dist/es5/layers/spatial-index-tile-layer.js +67 -73
- package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -1
- package/dist/es5/layers/utils.js +29 -0
- package/dist/es5/layers/utils.js.map +1 -0
- package/dist/es5/layers/vector-tile-layer.js +163 -0
- package/dist/es5/layers/vector-tile-layer.js.map +1 -0
- package/dist/es5/sources/base-source.js +100 -0
- package/dist/es5/sources/base-source.js.map +1 -0
- package/dist/es5/sources/common.js +48 -0
- package/dist/es5/sources/common.js.map +1 -0
- package/dist/es5/sources/h3-query-source.js +58 -0
- package/dist/es5/sources/h3-query-source.js.map +1 -0
- package/dist/es5/sources/h3-table-source.js +58 -0
- package/dist/es5/sources/h3-table-source.js.map +1 -0
- package/dist/es5/sources/h3-tileset-source.js +43 -0
- package/dist/es5/sources/h3-tileset-source.js.map +1 -0
- package/dist/es5/sources/index.js +94 -0
- package/dist/es5/sources/index.js.map +1 -0
- package/dist/es5/sources/quadbin-query-source.js +58 -0
- package/dist/es5/sources/quadbin-query-source.js.map +1 -0
- package/dist/es5/sources/quadbin-table-source.js +58 -0
- package/dist/es5/sources/quadbin-table-source.js.map +1 -0
- package/dist/es5/sources/quadbin-tileset-source.js +43 -0
- package/dist/es5/sources/quadbin-tileset-source.js.map +1 -0
- package/dist/es5/sources/raster-source.js +43 -0
- package/dist/es5/sources/raster-source.js.map +1 -0
- package/dist/es5/sources/utils.js +136 -0
- package/dist/es5/sources/utils.js.map +1 -0
- package/dist/es5/sources/vector-query-source.js +52 -0
- package/dist/es5/sources/vector-query-source.js.map +1 -0
- package/dist/es5/sources/vector-table-source.js +52 -0
- package/dist/es5/sources/vector-table-source.js.map +1 -0
- package/dist/es5/sources/vector-tileset-source.js +43 -0
- package/dist/es5/sources/vector-tileset-source.js.map +1 -0
- package/dist/es5/utils.js +5 -0
- package/dist/es5/utils.js.map +1 -1
- package/dist/es5/workers/cartoRasterTile.js +10 -0
- package/dist/es5/workers/cartoRasterTile.js.map +1 -0
- package/dist/es5/workers/cartoSpatialTile.js +10 -0
- package/dist/es5/workers/cartoSpatialTile.js.map +1 -0
- package/dist/es5/workers/cartoVectorTile.js +10 -0
- package/dist/es5/workers/cartoVectorTile.js.map +1 -0
- package/dist/esm/api/carto-api-error.js +8 -13
- package/dist/esm/api/carto-api-error.js.map +1 -1
- package/dist/esm/api/layer-map.js +7 -11
- package/dist/esm/api/layer-map.js.map +1 -1
- package/dist/esm/api/maps-api-common.js +3 -4
- package/dist/esm/api/maps-api-common.js.map +1 -1
- package/dist/esm/api/maps-client.js +7 -7
- package/dist/esm/api/maps-client.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +14 -24
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/api/parseMap.js +4 -4
- package/dist/esm/api/parseMap.js.map +1 -1
- package/dist/esm/config.js +3 -3
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/index.js +5 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/carto-layer.js +12 -15
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/layers/h3-tile-layer.js +24 -43
- package/dist/esm/layers/h3-tile-layer.js.map +1 -1
- package/dist/esm/layers/point-label-layer.js +6 -10
- package/dist/esm/layers/point-label-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-layer.js +2 -5
- package/dist/esm/layers/quadbin-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-tile-layer.js +21 -44
- package/dist/esm/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/esm/layers/raster-layer-vertex.glsl.js +98 -1
- package/dist/esm/layers/raster-layer-vertex.glsl.js.map +1 -1
- package/dist/esm/layers/raster-layer.js +4 -8
- package/dist/esm/layers/raster-layer.js.map +1 -1
- package/dist/esm/layers/raster-tile-layer.js +21 -39
- package/dist/esm/layers/raster-tile-layer.js.map +1 -1
- package/dist/esm/layers/schema/carto-raster-tile-loader.js +12 -4
- package/dist/esm/layers/schema/carto-raster-tile-loader.js.map +1 -1
- package/dist/esm/layers/schema/carto-raster-tile.js +1 -1
- package/dist/esm/layers/schema/carto-raster-tile.js.map +1 -1
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js +13 -8
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/esm/layers/schema/carto-tile.js +1 -1
- package/dist/esm/layers/schema/carto-tile.js.map +1 -1
- package/dist/esm/layers/schema/carto-vector-tile-loader.js +63 -4
- package/dist/esm/layers/schema/carto-vector-tile-loader.js.map +1 -1
- package/dist/esm/layers/spatial-index-tile-layer.js +2 -5
- package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -1
- package/dist/esm/layers/utils.js +14 -0
- package/dist/esm/layers/utils.js.map +1 -0
- package/dist/esm/layers/{carto-tile-layer.js → vector-tile-layer.js} +39 -18
- package/dist/esm/layers/vector-tile-layer.js.map +1 -0
- package/dist/esm/sources/base-source.js +49 -0
- package/dist/esm/sources/base-source.js.map +1 -0
- package/dist/esm/sources/common.js +26 -0
- package/dist/esm/sources/common.js.map +1 -0
- package/dist/esm/sources/h3-query-source.js +32 -0
- package/dist/esm/sources/h3-query-source.js.map +1 -0
- package/dist/esm/sources/h3-table-source.js +32 -0
- package/dist/esm/sources/h3-table-source.js.map +1 -0
- package/dist/esm/sources/h3-tileset-source.js +14 -0
- package/dist/esm/sources/h3-tileset-source.js.map +1 -0
- package/dist/esm/sources/index.js +12 -0
- package/dist/esm/sources/index.js.map +1 -0
- package/dist/esm/sources/quadbin-query-source.js +32 -0
- package/dist/esm/sources/quadbin-query-source.js.map +1 -0
- package/dist/esm/sources/quadbin-table-source.js +32 -0
- package/dist/esm/sources/quadbin-table-source.js.map +1 -0
- package/dist/esm/sources/quadbin-tileset-source.js +14 -0
- package/dist/esm/sources/quadbin-tileset-source.js.map +1 -0
- package/dist/esm/sources/raster-source.js +14 -0
- package/dist/esm/sources/raster-source.js.map +1 -0
- package/dist/esm/sources/utils.js +69 -0
- package/dist/esm/sources/utils.js.map +1 -0
- package/dist/esm/sources/vector-query-source.js +25 -0
- package/dist/esm/sources/vector-query-source.js.map +1 -0
- package/dist/esm/sources/vector-table-source.js +25 -0
- package/dist/esm/sources/vector-table-source.js.map +1 -0
- package/dist/esm/sources/vector-tileset-source.js +14 -0
- package/dist/esm/sources/vector-tileset-source.js.map +1 -0
- package/dist/esm/style/palette.js +2 -2
- package/dist/esm/style/palette.js.map +1 -1
- package/dist/esm/style/utils.js +1 -1
- package/dist/esm/style/utils.js.map +1 -1
- package/dist/esm/utils.js +3 -0
- package/dist/esm/utils.js.map +1 -1
- package/dist/esm/workers/cartoRasterTile.js +4 -0
- package/dist/esm/workers/cartoRasterTile.js.map +1 -0
- package/dist/esm/workers/cartoSpatialTile.js +4 -0
- package/dist/esm/workers/cartoSpatialTile.js.map +1 -0
- package/dist/esm/workers/cartoVectorTile.js +4 -0
- package/dist/esm/workers/cartoVectorTile.js.map +1 -0
- package/dist.min.js +45 -24
- package/package.json +11 -9
- package/src/api/layer-map.ts +4 -8
- package/src/api/maps-api-common.ts +0 -1
- package/src/api/maps-v3-client.ts +6 -5
- package/src/index.ts +34 -5
- package/src/layers/h3-tile-layer.ts +22 -35
- package/src/layers/quadbin-tile-layer.ts +19 -33
- package/src/layers/raster-tile-layer.ts +22 -26
- package/src/layers/schema/carto-raster-tile-loader.ts +26 -6
- package/src/layers/schema/carto-spatial-tile-loader.ts +25 -11
- package/src/layers/schema/carto-tile.ts +1 -1
- package/src/layers/schema/carto-vector-tile-loader.ts +79 -9
- package/src/layers/utils.ts +11 -0
- package/src/layers/{carto-tile-layer.ts → vector-tile-layer.ts} +40 -21
- package/src/sources/base-source.ts +55 -0
- package/src/sources/common.ts +132 -0
- package/src/sources/h3-query-source.ts +45 -0
- package/src/sources/h3-table-source.ts +46 -0
- package/src/sources/h3-tileset-source.ts +16 -0
- package/src/sources/index.ts +32 -0
- package/src/sources/quadbin-query-source.ts +46 -0
- package/src/sources/quadbin-table-source.ts +46 -0
- package/src/sources/quadbin-tileset-source.ts +16 -0
- package/src/sources/raster-source.ts +16 -0
- package/src/sources/utils.ts +63 -0
- package/src/sources/vector-query-source.ts +23 -0
- package/src/sources/vector-table-source.ts +23 -0
- package/src/sources/vector-tileset-source.ts +16 -0
- package/src/utils.ts +6 -0
- package/src/workers/cartoRasterTile.ts +4 -0
- package/src/workers/cartoSpatialTile.ts +4 -0
- package/src/workers/cartoVectorTile.ts +4 -0
- package/typed/api/layer-map.d.ts +2 -3
- package/typed/api/layer-map.d.ts.map +1 -1
- package/typed/api/maps-api-common.d.ts +0 -1
- package/typed/api/maps-api-common.d.ts.map +1 -1
- package/typed/api/maps-v3-client.d.ts +0 -3
- package/typed/api/maps-v3-client.d.ts.map +1 -1
- package/typed/index.d.ts +6 -4
- package/typed/index.d.ts.map +1 -1
- package/typed/layers/h3-tile-layer.d.ts +5 -8
- package/typed/layers/h3-tile-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-tile-layer.d.ts +5 -9
- package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
- package/typed/layers/raster-tile-layer.d.ts +6 -10
- package/typed/layers/raster-tile-layer.d.ts.map +1 -1
- package/typed/layers/schema/carto-raster-tile-loader.d.ts.map +1 -1
- package/typed/layers/schema/carto-spatial-tile-loader.d.ts.map +1 -1
- package/typed/layers/schema/carto-vector-tile-loader.d.ts.map +1 -1
- package/typed/layers/utils.d.ts +5 -0
- package/typed/layers/utils.d.ts.map +1 -0
- package/typed/layers/{carto-tile-layer.d.ts → vector-tile-layer.d.ts} +11 -7
- package/typed/layers/vector-tile-layer.d.ts.map +1 -0
- package/typed/sources/base-source.d.ts +4 -0
- package/typed/sources/base-source.d.ts.map +1 -0
- package/typed/sources/common.d.ts +116 -0
- package/typed/sources/common.d.ts.map +1 -0
- package/typed/sources/h3-query-source.d.ts +5 -0
- package/typed/sources/h3-query-source.d.ts.map +1 -0
- package/typed/sources/h3-table-source.d.ts +5 -0
- package/typed/sources/h3-table-source.d.ts.map +1 -0
- package/typed/sources/h3-tileset-source.d.ts +5 -0
- package/typed/sources/h3-tileset-source.d.ts.map +1 -0
- package/typed/sources/index.d.ts +23 -0
- package/typed/sources/index.d.ts.map +1 -0
- package/typed/sources/quadbin-query-source.d.ts +5 -0
- package/typed/sources/quadbin-query-source.d.ts.map +1 -0
- package/typed/sources/quadbin-table-source.d.ts +5 -0
- package/typed/sources/quadbin-table-source.d.ts.map +1 -0
- package/typed/sources/quadbin-tileset-source.d.ts +5 -0
- package/typed/sources/quadbin-tileset-source.d.ts.map +1 -0
- package/typed/sources/raster-source.d.ts +5 -0
- package/typed/sources/raster-source.d.ts.map +1 -0
- package/typed/sources/utils.d.ts +15 -0
- package/typed/sources/utils.d.ts.map +1 -0
- package/typed/sources/vector-query-source.d.ts +5 -0
- package/typed/sources/vector-query-source.d.ts.map +1 -0
- package/typed/sources/vector-table-source.d.ts +5 -0
- package/typed/sources/vector-table-source.d.ts.map +1 -0
- package/typed/sources/vector-tileset-source.d.ts +5 -0
- package/typed/sources/vector-tileset-source.d.ts.map +1 -0
- package/typed/utils.d.ts +1 -0
- package/typed/utils.d.ts.map +1 -1
- package/typed/workers/cartoRasterTile.d.ts +2 -0
- package/typed/workers/cartoRasterTile.d.ts.map +1 -0
- package/typed/workers/cartoSpatialTile.d.ts +2 -0
- package/typed/workers/cartoSpatialTile.d.ts.map +1 -0
- package/typed/workers/cartoVectorTile.d.ts +2 -0
- package/typed/workers/cartoVectorTile.d.ts.map +1 -0
- package/dist/es5/layers/carto-tile-layer.js +0 -145
- package/dist/es5/layers/carto-tile-layer.js.map +0 -1
- package/dist/esm/layers/carto-tile-layer.js.map +0 -1
- package/typed/api/index.js +0 -3
- package/typed/api/layer-map.js +0 -264
- package/typed/api/maps-api-common.js +0 -50
- package/typed/api/maps-client.js +0 -125
- package/typed/api/maps-v3-client.js +0 -304
- package/typed/api/parseMap.js +0 -178
- package/typed/basemap.js +0 -9
- package/typed/config.js +0 -35
- package/typed/index.js +0 -10
- package/typed/layers/carto-layer.js +0 -173
- package/typed/layers/carto-tile-layer.d.ts.map +0 -1
- package/typed/layers/carto-tile-layer.js +0 -105
- package/typed/layers/h3-tile-layer.js +0 -47
- package/typed/layers/h3-tileset-2d.js +0 -85
- package/typed/layers/quadkey-tile-layer.d.ts +0 -21
- package/typed/layers/quadkey-tile-layer.d.ts.map +0 -1
- package/typed/layers/quadkey-tile-layer.js +0 -42
- package/typed/layers/quadkey-tileset-2d.d.ts +0 -15
- package/typed/layers/quadkey-tileset-2d.d.ts.map +0 -1
- package/typed/layers/quadkey-tileset-2d.js +0 -36
- package/typed/layers/schema/carto-tile.js +0 -161
- package/typed/layers/spatial-index-tile-layer.js +0 -40
- package/typed/style/color-bins-style.js +0 -12
- package/typed/style/color-categories-style.js +0 -16
- package/typed/style/color-continuous-style.js +0 -12
- package/typed/style/palette.js +0 -62
- package/typed/style/utils.js +0 -15
- package/typed/utils.js +0 -4
|
@@ -7,9 +7,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
13
|
|
|
14
14
|
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
15
15
|
|
|
@@ -19,8 +19,6 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
|
|
|
19
19
|
|
|
20
20
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
21
|
|
|
22
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
22
|
var _core = require("@loaders.gl/core");
|
|
25
23
|
|
|
26
24
|
var _cartoRasterTileLoader = _interopRequireDefault(require("./schema/carto-raster-tile-loader"));
|
|
@@ -53,90 +51,86 @@ var SpatialIndexTileLayer = function (_TileLayer) {
|
|
|
53
51
|
return _super.apply(this, arguments);
|
|
54
52
|
}
|
|
55
53
|
|
|
56
|
-
|
|
57
|
-
key: "updateState",
|
|
58
|
-
value: function updateState(params) {
|
|
59
|
-
var props = params.props,
|
|
60
|
-
oldProps = params.oldProps;
|
|
54
|
+
var _proto = SpatialIndexTileLayer.prototype;
|
|
61
55
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
});
|
|
66
|
-
}
|
|
56
|
+
_proto.updateState = function updateState(params) {
|
|
57
|
+
var props = params.props,
|
|
58
|
+
oldProps = params.oldProps;
|
|
67
59
|
|
|
68
|
-
|
|
60
|
+
if (props.aggregationResLevel !== oldProps.aggregationResLevel) {
|
|
61
|
+
this.setState({
|
|
62
|
+
tileset: null
|
|
63
|
+
});
|
|
69
64
|
}
|
|
70
|
-
}, {
|
|
71
|
-
key: "_updateAutoHighlight",
|
|
72
|
-
value: function _updateAutoHighlight(info) {
|
|
73
|
-
var hoveredFeatureId = this.state.hoveredFeatureId;
|
|
74
|
-
var hoveredFeature = info.object;
|
|
75
|
-
var newHoveredFeatureId;
|
|
76
|
-
|
|
77
|
-
if (hoveredFeature) {
|
|
78
|
-
newHoveredFeatureId = hoveredFeature.id;
|
|
79
|
-
}
|
|
80
65
|
|
|
81
|
-
|
|
82
|
-
|
|
66
|
+
(0, _get2.default)((0, _getPrototypeOf2.default)(SpatialIndexTileLayer.prototype), "updateState", this).call(this, params);
|
|
67
|
+
};
|
|
83
68
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
69
|
+
_proto._updateAutoHighlight = function _updateAutoHighlight(info) {
|
|
70
|
+
var hoveredFeatureId = this.state.hoveredFeatureId;
|
|
71
|
+
var hoveredFeature = info.object;
|
|
72
|
+
var newHoveredFeatureId;
|
|
87
73
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
hoveredFeatureId: newHoveredFeatureId
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}, {
|
|
95
|
-
key: "getSubLayerPropsByTile",
|
|
96
|
-
value: function getSubLayerPropsByTile(tile) {
|
|
97
|
-
return {
|
|
98
|
-
highlightedObjectIndex: this.getHighlightedObjectIndex(tile),
|
|
99
|
-
highlightColor: this.state.highlightColor
|
|
100
|
-
};
|
|
74
|
+
if (hoveredFeature) {
|
|
75
|
+
newHoveredFeatureId = hoveredFeature.id;
|
|
101
76
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
if (!isFeatureIdPresent || !Array.isArray(data) || !this._featureInTile(tile, hoveredFeatureId)) {
|
|
110
|
-
return -1;
|
|
77
|
+
|
|
78
|
+
if (hoveredFeatureId !== newHoveredFeatureId) {
|
|
79
|
+
var highlightColor = this.props.highlightColor;
|
|
80
|
+
|
|
81
|
+
if (typeof highlightColor === 'function') {
|
|
82
|
+
highlightColor = highlightColor(info);
|
|
111
83
|
}
|
|
112
84
|
|
|
113
|
-
|
|
114
|
-
|
|
85
|
+
this.setState({
|
|
86
|
+
highlightColor: highlightColor,
|
|
87
|
+
hoveredFeatureId: newHoveredFeatureId
|
|
115
88
|
});
|
|
116
89
|
}
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
_proto.getSubLayerPropsByTile = function getSubLayerPropsByTile(tile) {
|
|
93
|
+
return {
|
|
94
|
+
highlightedObjectIndex: this.getHighlightedObjectIndex(tile),
|
|
95
|
+
highlightColor: this.state.highlightColor
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
_proto.getHighlightedObjectIndex = function getHighlightedObjectIndex(tile) {
|
|
100
|
+
var hoveredFeatureId = this.state.hoveredFeatureId;
|
|
101
|
+
var data = tile.content;
|
|
102
|
+
var isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId);
|
|
103
|
+
|
|
104
|
+
if (!isFeatureIdPresent || !Array.isArray(data) || !this._featureInTile(tile, hoveredFeatureId)) {
|
|
105
|
+
return -1;
|
|
106
|
+
}
|
|
132
107
|
|
|
133
|
-
|
|
108
|
+
return data.findIndex(function (feature) {
|
|
109
|
+
return feature.id === hoveredFeatureId;
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
_proto._featureInTile = function _featureInTile(tile, featureId) {
|
|
114
|
+
var _this$state$tileset = this.state.tileset,
|
|
115
|
+
getTileZoom = _this$state$tileset.getTileZoom,
|
|
116
|
+
getParentIndex = _this$state$tileset.getParentIndex;
|
|
117
|
+
var tileZoom = getTileZoom(tile.index);
|
|
118
|
+
var KEY = tile.index.q ? 'q' : 'i';
|
|
119
|
+
var featureIndex = (0, _defineProperty2.default)({}, KEY, featureId);
|
|
120
|
+
var featureZoom = getTileZoom(featureIndex);
|
|
121
|
+
|
|
122
|
+
while (!(featureZoom <= tileZoom)) {
|
|
123
|
+
featureIndex = getParentIndex(featureIndex);
|
|
124
|
+
featureZoom = getTileZoom(featureIndex);
|
|
134
125
|
}
|
|
135
|
-
|
|
126
|
+
|
|
127
|
+
return featureIndex[KEY] === tile.index[KEY];
|
|
128
|
+
};
|
|
129
|
+
|
|
136
130
|
return SpatialIndexTileLayer;
|
|
137
131
|
}(_geoLayers.TileLayer);
|
|
138
132
|
|
|
139
133
|
exports.default = SpatialIndexTileLayer;
|
|
140
|
-
|
|
141
|
-
|
|
134
|
+
SpatialIndexTileLayer.layerName = 'SpatialIndexTileLayer';
|
|
135
|
+
SpatialIndexTileLayer.defaultProps = defaultProps;
|
|
142
136
|
//# sourceMappingURL=spatial-index-tile-layer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/spatial-index-tile-layer.ts"],"names":["CartoRasterTileLoader","CartoSpatialTileLoader","isFeatureIdDefined","value","undefined","defaultProps","aggregationResLevel","SpatialIndexTileLayer","params","props","oldProps","setState","tileset","info","hoveredFeatureId","state","hoveredFeature","object","newHoveredFeatureId","id","highlightColor","tile","highlightedObjectIndex","getHighlightedObjectIndex","data","content","isFeatureIdPresent","Array","isArray","_featureInTile","findIndex","feature","featureId","getTileZoom","getParentIndex","tileZoom","index","KEY","q","featureIndex","featureZoom","TileLayer"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/spatial-index-tile-layer.ts"],"names":["CartoRasterTileLoader","CartoSpatialTileLoader","isFeatureIdDefined","value","undefined","defaultProps","aggregationResLevel","SpatialIndexTileLayer","updateState","params","props","oldProps","setState","tileset","_updateAutoHighlight","info","hoveredFeatureId","state","hoveredFeature","object","newHoveredFeatureId","id","highlightColor","getSubLayerPropsByTile","tile","highlightedObjectIndex","getHighlightedObjectIndex","data","content","isFeatureIdPresent","Array","isArray","_featureInTile","findIndex","feature","featureId","getTileZoom","getParentIndex","tileZoom","index","KEY","q","featureIndex","featureZoom","TileLayer","layerName"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AAIA;;;;;;AAHA,2BAAgB,CAACA,8BAAD,EAAwBC,+BAAxB,CAAhB;;AAKA,SAASC,kBAAT,CAA4BC,KAA5B,EAAqD;AACnD,SAAOA,KAAK,KAAKC,SAAV,IAAuBD,KAAK,KAAK,IAAjC,IAAyCA,KAAK,KAAK,EAA1D;AACD;;AAED,IAAME,YAAsD,GAAG;AAC7DC,EAAAA,mBAAmB,EAAE;AADwC,CAA/D;;IAaqBC,qB;;;;;;;;;;;;SAOnBC,W,GAAA,qBAAYC,MAAZ,EAA4C;AAC1C,QAAOC,KAAP,GAA0BD,MAA1B,CAAOC,KAAP;AAAA,QAAcC,QAAd,GAA0BF,MAA1B,CAAcE,QAAd;;AACA,QAAID,KAAK,CAACJ,mBAAN,KAA8BK,QAAQ,CAACL,mBAA3C,EAAgE;AAE9D,WAAKM,QAAL,CAAc;AAACC,QAAAA,OAAO,EAAE;AAAV,OAAd;AACD;;AAED,uHAAkBJ,MAAlB;AACD,G;;SAESK,oB,GAAV,8BAA+BC,IAA/B,EAAwD;AACtD,QAAOC,gBAAP,GAA2B,KAAKC,KAAhC,CAAOD,gBAAP;AACA,QAAME,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,UAAKE,cAAL,GAAuB,KAAKZ,KAA5B,CAAKY,cAAL;;AACA,UAAI,OAAOA,cAAP,KAA0B,UAA9B,EAA0C;AACxCA,QAAAA,cAAc,GAAGA,cAAc,CAACP,IAAD,CAA/B;AACD;;AAED,WAAKH,QAAL,CAAc;AACZU,QAAAA,cAAc,EAAdA,cADY;AAEZN,QAAAA,gBAAgB,EAAEI;AAFN,OAAd;AAID;AACF,G;;SAEDG,sB,GAAA,gCAAuBC,IAAvB,EAA2C;AACzC,WAAO;AACLC,MAAAA,sBAAsB,EAAE,KAAKC,yBAAL,CAA+BF,IAA/B,CADnB;AAELF,MAAAA,cAAc,EAAE,KAAKL,KAAL,CAAWK;AAFtB,KAAP;AAID,G;;SAEDI,yB,GAAA,mCAA0BF,IAA1B,EAA8C;AAC5C,QAAOR,gBAAP,GAA2B,KAAKC,KAAhC,CAAOD,gBAAP;AACA,QAAMW,IAAI,GAAGH,IAAI,CAACI,OAAlB;AAEA,QAAMC,kBAAkB,GAAG3B,kBAAkB,CAACc,gBAAD,CAA7C;;AACA,QACE,CAACa,kBAAD,IACA,CAACC,KAAK,CAACC,OAAN,CAAcJ,IAAd,CADD,IAGA,CAAC,KAAKK,cAAL,CAAoBR,IAApB,EAA0BR,gBAA1B,CAJH,EAKE;AACA,aAAO,CAAC,CAAR;AACD;;AAED,WAAOW,IAAI,CAACM,SAAL,CAAe,UAAAC,OAAO;AAAA,aAAIA,OAAO,CAACb,EAAR,KAAeL,gBAAnB;AAAA,KAAtB,CAAP;AACD,G;;SAEDgB,c,GAAA,wBAAeR,IAAf,EAAmCW,SAAnC,EAA+D;AAC7D,8BAAsC,KAAKlB,KAAL,CAAWJ,OAAjD;AAAA,QAAOuB,WAAP,uBAAOA,WAAP;AAAA,QAAoBC,cAApB,uBAAoBA,cAApB;AACA,QAAMC,QAAQ,GAAGF,WAAW,CAACZ,IAAI,CAACe,KAAN,CAA5B;AAEA,QAAMC,GAAG,GAAGhB,IAAI,CAACe,KAAL,CAAWE,CAAX,GAAe,GAAf,GAAqB,GAAjC;AACA,QAAIC,YAAY,qCAAKF,GAAL,EAAWL,SAAX,CAAhB;AACA,QAAIQ,WAAW,GAAGP,WAAW,CAACM,YAAD,CAA7B;;AACA,WAAO,EAAEC,WAAW,IAAIL,QAAjB,CAAP,EAAmC;AACjCI,MAAAA,YAAY,GAAGL,cAAc,CAACK,YAAD,CAA7B;AACAC,MAAAA,WAAW,GAAGP,WAAW,CAACM,YAAD,CAAzB;AACD;;AAED,WAAOA,YAAY,CAACF,GAAD,CAAZ,KAAsBhB,IAAI,CAACe,KAAL,CAAWC,GAAX,CAA7B;AACD,G;;;EAzEOI,oB;;;AAHWrC,qB,CAIZsC,S,GAAY,uB;AAJAtC,qB,CAKZF,Y,GAAeA,Y","sourcesContent":["import {registerLoaders} from '@loaders.gl/core';\nimport {DefaultProps, UpdateParameters} from '@deck.gl/core';\nimport CartoRasterTileLoader from './schema/carto-raster-tile-loader';\nimport CartoSpatialTileLoader from './schema/carto-spatial-tile-loader';\nregisterLoaders([CartoRasterTileLoader, CartoSpatialTileLoader]);\n\nimport {PickingInfo} from '@deck.gl/core';\nimport {TileLayer, _Tile2DHeader as Tile2DHeader} from '@deck.gl/geo-layers';\n\nfunction isFeatureIdDefined(value: unknown): boolean {\n return value !== undefined && value !== null && value !== '';\n}\n\nconst defaultProps: DefaultProps<SpatialIndexTileLayerProps> = {\n aggregationResLevel: 4\n};\n\n/** All properties supported by SpatialIndexTileLayer. */\nexport type SpatialIndexTileLayerProps<DataT = any> = _SpatialIndexTileLayerProps &\n TileLayer<DataT>;\n\n/** Properties added by SpatialIndexTileLayer. */\ntype _SpatialIndexTileLayerProps = {\n aggregationResLevel?: number;\n};\n\nexport default class SpatialIndexTileLayer<\n DataT = any,\n ExtraProps extends {} = {}\n> extends TileLayer<DataT, ExtraProps & Required<_SpatialIndexTileLayerProps>> {\n static layerName = 'SpatialIndexTileLayer';\n static defaultProps = defaultProps;\n\n updateState(params: UpdateParameters<this>) {\n const {props, oldProps} = params;\n if (props.aggregationResLevel !== oldProps.aggregationResLevel) {\n // Tileset cache is invalid when resLevel changes\n this.setState({tileset: null});\n }\n\n super.updateState(params);\n }\n\n protected _updateAutoHighlight(info: PickingInfo): void {\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: Tile2DHeader) {\n return {\n highlightedObjectIndex: this.getHighlightedObjectIndex(tile),\n highlightColor: this.state.highlightColor\n };\n }\n\n getHighlightedObjectIndex(tile: Tile2DHeader) {\n const {hoveredFeatureId} = this.state;\n const data = tile.content;\n\n const isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId);\n if (\n !isFeatureIdPresent ||\n !Array.isArray(data) ||\n // Quick check for whether id is within tile. data.findIndex is expensive\n !this._featureInTile(tile, hoveredFeatureId)\n ) {\n return -1;\n }\n\n return data.findIndex(feature => feature.id === hoveredFeatureId);\n }\n\n _featureInTile(tile: Tile2DHeader, featureId: BigInt | number) {\n const {getTileZoom, getParentIndex} = this.state.tileset;\n const tileZoom = getTileZoom(tile.index);\n // @ts-ignore\n const KEY = tile.index.q ? 'q' : 'i';\n let featureIndex = {[KEY]: featureId};\n let featureZoom = getTileZoom(featureIndex);\n while (!(featureZoom <= tileZoom)) {\n featureIndex = getParentIndex(featureIndex);\n featureZoom = getTileZoom(featureIndex);\n }\n\n return featureIndex[KEY] === tile.index[KEY];\n }\n}\n"],"file":"spatial-index-tile-layer.js"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.injectAccessToken = injectAccessToken;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
+
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
15
|
+
|
|
16
|
+
function injectAccessToken(loadOptions, accessToken) {
|
|
17
|
+
var _loadOptions$fetch, _loadOptions$fetch$he;
|
|
18
|
+
|
|
19
|
+
if (!(loadOptions !== null && loadOptions !== void 0 && (_loadOptions$fetch = loadOptions.fetch) !== null && _loadOptions$fetch !== void 0 && (_loadOptions$fetch$he = _loadOptions$fetch.headers) !== null && _loadOptions$fetch$he !== void 0 && _loadOptions$fetch$he.Authorization)) {
|
|
20
|
+
var _loadOptions$fetch2;
|
|
21
|
+
|
|
22
|
+
loadOptions.fetch = _objectSpread(_objectSpread({}, loadOptions.fetch), {}, {
|
|
23
|
+
headers: _objectSpread(_objectSpread({}, (_loadOptions$fetch2 = loadOptions.fetch) === null || _loadOptions$fetch2 === void 0 ? void 0 : _loadOptions$fetch2.headers), {}, {
|
|
24
|
+
Authorization: "Bearer ".concat(accessToken)
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/utils.ts"],"names":["injectAccessToken","loadOptions","accessToken","fetch","headers","Authorization"],"mappings":";;;;;;;;;;;;;;;AAGO,SAASA,iBAAT,CAA2BC,WAA3B,EAA6CC,WAA7C,EAAwE;AAAA;;AAC7E,MAAI,EAACD,WAAD,aAACA,WAAD,qCAACA,WAAW,CAAEE,KAAd,wEAAC,mBAAoBC,OAArB,kDAAC,sBAA6BC,aAA9B,CAAJ,EAAiD;AAAA;;AAC/CJ,IAAAA,WAAW,CAACE,KAAZ,mCACKF,WAAW,CAACE,KADjB;AAEEC,MAAAA,OAAO,yDAAMH,WAAW,CAACE,KAAlB,wDAAM,oBAAmBC,OAAzB;AAAkCC,QAAAA,aAAa,mBAAYH,WAAZ;AAA/C;AAFT;AAID;AACF","sourcesContent":["/**\n * Adds access token to Authorization header in loadOptions\n */\nexport function injectAccessToken(loadOptions: any, accessToken: string): void {\n if (!loadOptions?.fetch?.headers?.Authorization) {\n loadOptions.fetch = {\n ...loadOptions.fetch,\n headers: {...loadOptions.fetch?.headers, Authorization: `Bearer ${accessToken}`}\n };\n }\n}\n"],"file":"utils.js"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
24
|
+
var _core = require("@loaders.gl/core");
|
|
25
|
+
|
|
26
|
+
var _cartoVectorTileLoader = _interopRequireDefault(require("./schema/carto-vector-tile-loader"));
|
|
27
|
+
|
|
28
|
+
var _extensions = require("@deck.gl/extensions");
|
|
29
|
+
|
|
30
|
+
var _geoLayers = require("@deck.gl/geo-layers");
|
|
31
|
+
|
|
32
|
+
var _layers = require("@deck.gl/layers");
|
|
33
|
+
|
|
34
|
+
var _gis = require("@loaders.gl/gis");
|
|
35
|
+
|
|
36
|
+
var _mapsApiCommon = require("../api/maps-api-common");
|
|
37
|
+
|
|
38
|
+
var _common = require("../sources/common");
|
|
39
|
+
|
|
40
|
+
var _utils = require("./utils");
|
|
41
|
+
|
|
42
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
43
|
+
|
|
44
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
45
|
+
|
|
46
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
47
|
+
|
|
48
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
49
|
+
|
|
50
|
+
(0, _core.registerLoaders)([_cartoVectorTileLoader.default]);
|
|
51
|
+
var defaultTileFormat = _mapsApiCommon.TILE_FORMATS.BINARY;
|
|
52
|
+
|
|
53
|
+
var defaultProps = _objectSpread(_objectSpread({}, _geoLayers.MVTLayer.defaultProps), {}, {
|
|
54
|
+
data: _common.TilejsonPropType,
|
|
55
|
+
formatTiles: defaultTileFormat
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
var VectorTileLayer = function (_MVTLayer) {
|
|
59
|
+
(0, _inherits2.default)(VectorTileLayer, _MVTLayer);
|
|
60
|
+
|
|
61
|
+
var _super = _createSuper(VectorTileLayer);
|
|
62
|
+
|
|
63
|
+
function VectorTileLayer() {
|
|
64
|
+
(0, _classCallCheck2.default)(this, VectorTileLayer);
|
|
65
|
+
return _super.apply(this, arguments);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
var _proto = VectorTileLayer.prototype;
|
|
69
|
+
|
|
70
|
+
_proto.initializeState = function initializeState() {
|
|
71
|
+
(0, _get2.default)((0, _getPrototypeOf2.default)(VectorTileLayer.prototype), "initializeState", this).call(this);
|
|
72
|
+
var binary = this.props.formatTiles === _mapsApiCommon.TILE_FORMATS.BINARY || _mapsApiCommon.TILE_FORMATS.MVT;
|
|
73
|
+
this.setState({
|
|
74
|
+
binary: binary
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
_proto.updateState = function updateState(parameters) {
|
|
79
|
+
var props = parameters.props;
|
|
80
|
+
|
|
81
|
+
if (props.data) {
|
|
82
|
+
(0, _get2.default)((0, _getPrototypeOf2.default)(VectorTileLayer.prototype), "updateState", this).call(this, parameters);
|
|
83
|
+
var formatTiles = new URL(props.data.tiles[0]).searchParams.get('formatTiles');
|
|
84
|
+
var mvt = formatTiles === _mapsApiCommon.TILE_FORMATS.MVT;
|
|
85
|
+
this.setState({
|
|
86
|
+
mvt: mvt
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
_proto.getLoadOptions = function getLoadOptions() {
|
|
92
|
+
var loadOptions = (0, _get2.default)((0, _getPrototypeOf2.default)(VectorTileLayer.prototype), "getLoadOptions", this).call(this) || {};
|
|
93
|
+
var tileJSON = this.props.data;
|
|
94
|
+
(0, _utils.injectAccessToken)(loadOptions, tileJSON.accessToken);
|
|
95
|
+
loadOptions.gis = {
|
|
96
|
+
format: 'binary'
|
|
97
|
+
};
|
|
98
|
+
return loadOptions;
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
_proto.getTileData = function getTileData(tile) {
|
|
102
|
+
var url = (0, _geoLayers._getURLFromTemplate)(this.state.data, tile);
|
|
103
|
+
|
|
104
|
+
if (!url) {
|
|
105
|
+
return Promise.reject('Invalid URL');
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
var loadOptions = this.getLoadOptions();
|
|
109
|
+
var fetch = this.props.fetch;
|
|
110
|
+
var signal = tile.signal;
|
|
111
|
+
return fetch(url, {
|
|
112
|
+
propName: 'data',
|
|
113
|
+
layer: this,
|
|
114
|
+
loadOptions: loadOptions,
|
|
115
|
+
signal: signal
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
_proto.renderSubLayers = function renderSubLayers(props) {
|
|
120
|
+
if (props.data === null) {
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (this.state.mvt) {
|
|
125
|
+
return (0, _get2.default)((0, _getPrototypeOf2.default)(VectorTileLayer.prototype), "renderSubLayers", this).call(this, props);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
var tileBbox = props.tile.bbox;
|
|
129
|
+
var west = tileBbox.west,
|
|
130
|
+
south = tileBbox.south,
|
|
131
|
+
east = tileBbox.east,
|
|
132
|
+
north = tileBbox.north;
|
|
133
|
+
|
|
134
|
+
var subLayerProps = _objectSpread(_objectSpread({}, props), {}, {
|
|
135
|
+
autoHighlight: false,
|
|
136
|
+
extensions: [new _extensions.ClipExtension()].concat((0, _toConsumableArray2.default)(props.extensions || [])),
|
|
137
|
+
clipBounds: [west, south, east, north]
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
var subLayer = new _layers.GeoJsonLayer(subLayerProps);
|
|
141
|
+
return subLayer;
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
_proto.getPickingInfo = function getPickingInfo(params) {
|
|
145
|
+
var info = (0, _get2.default)((0, _getPrototypeOf2.default)(VectorTileLayer.prototype), "getPickingInfo", this).call(this, params);
|
|
146
|
+
|
|
147
|
+
if (this.state.binary && info.index !== -1) {
|
|
148
|
+
var data = params.sourceLayer.props.data;
|
|
149
|
+
info.object = (0, _gis.binaryToGeojson)(data, {
|
|
150
|
+
globalFeatureId: info.index
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
return info;
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
return VectorTileLayer;
|
|
158
|
+
}(_geoLayers.MVTLayer);
|
|
159
|
+
|
|
160
|
+
exports.default = VectorTileLayer;
|
|
161
|
+
VectorTileLayer.layerName = 'VectorTileLayer';
|
|
162
|
+
VectorTileLayer.defaultProps = defaultProps;
|
|
163
|
+
//# sourceMappingURL=vector-tile-layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/vector-tile-layer.ts"],"names":["CartoVectorTileLoader","defaultTileFormat","TILE_FORMATS","BINARY","defaultProps","MVTLayer","data","TilejsonPropType","formatTiles","VectorTileLayer","initializeState","binary","props","MVT","setState","updateState","parameters","URL","tiles","searchParams","get","mvt","getLoadOptions","loadOptions","tileJSON","accessToken","gis","format","getTileData","tile","url","state","Promise","reject","fetch","signal","propName","layer","renderSubLayers","tileBbox","bbox","west","south","east","north","subLayerProps","autoHighlight","extensions","ClipExtension","clipBounds","subLayer","GeoJsonLayer","getPickingInfo","params","info","index","sourceLayer","object","globalFeatureId","layerName"],"mappings":"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","sourcesContent":["import {registerLoaders} from '@loaders.gl/core';\nimport CartoVectorTileLoader from './schema/carto-vector-tile-loader';\nregisterLoaders([CartoVectorTileLoader]);\n\nimport {DefaultProps} from '@deck.gl/core';\nimport {ClipExtension} from '@deck.gl/extensions';\nimport {\n MVTLayer,\n MVTLayerProps,\n TileLayer,\n _getURLFromTemplate,\n _Tile2DHeader,\n _TileLoadProps as TileLoadProps\n} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {binaryToGeojson} from '@loaders.gl/gis';\nimport type {BinaryFeatures} from '@loaders.gl/schema';\nimport {TileFormat, TILE_FORMATS} from '../api/maps-api-common';\nimport type {Feature} from 'geojson';\nimport {TilejsonPropType, CartoTilejsonResult} from '../sources/common';\nimport {injectAccessToken} from './utils';\n\nconst defaultTileFormat = TILE_FORMATS.BINARY;\n\nconst defaultProps: DefaultProps<VectorTileLayerProps> = {\n ...MVTLayer.defaultProps,\n data: TilejsonPropType,\n formatTiles: defaultTileFormat\n};\n\n/** All properties supported by VectorTileLayer. */\nexport type VectorTileLayerProps = _VectorTileLayerProps & Omit<MVTLayerProps, 'data'>;\n\n/** Properties added by VectorTileLayer. */\ntype _VectorTileLayerProps = {\n data: null | CartoTilejsonResult | Promise<CartoTilejsonResult>;\n /** Use to override the default tile data format.\n *\n * Possible values are: `TILE_FORMATS.BINARY`, `TILE_FORMATS.GEOJSON` and `TILE_FORMATS.MVT`.\n *\n * Only supported when `apiVersion` is `API_VERSIONS.V3` and `format` is `FORMATS.TILEJSON`.\n */\n formatTiles?: TileFormat;\n};\n\n// TODO Perhaps we can't subclass MVTLayer and keep types. Better to subclass TileLayer instead?\n// @ts-ignore\nexport default class VectorTileLayer<ExtraProps extends {} = {}> extends MVTLayer<\n Required<_VectorTileLayerProps> & ExtraProps\n> {\n static layerName = 'VectorTileLayer';\n static defaultProps = defaultProps;\n\n initializeState(): void {\n super.initializeState();\n const binary = this.props.formatTiles === TILE_FORMATS.BINARY || TILE_FORMATS.MVT;\n this.setState({binary});\n }\n\n updateState(parameters) {\n const {props} = parameters;\n if (props.data) {\n super.updateState(parameters);\n\n const formatTiles = new URL(props.data.tiles[0]).searchParams.get('formatTiles');\n const mvt = formatTiles === TILE_FORMATS.MVT;\n this.setState({mvt});\n }\n }\n\n getLoadOptions(): any {\n const loadOptions = super.getLoadOptions() || {};\n const tileJSON = this.props.data as CartoTilejsonResult;\n injectAccessToken(loadOptions, tileJSON.accessToken);\n loadOptions.gis = {format: 'binary'}; // Use binary for MVT loading\n return loadOptions;\n }\n\n getTileData(tile: TileLoadProps) {\n const url = _getURLFromTemplate(this.state.data, tile);\n if (!url) {\n return Promise.reject('Invalid URL');\n }\n\n const loadOptions = this.getLoadOptions();\n const {fetch} = this.props;\n const {signal} = tile;\n return fetch(url, {propName: 'data', layer: this, loadOptions, signal});\n }\n\n renderSubLayers(\n props: TileLayer['props'] & {\n id: string;\n data: any;\n _offset: number;\n tile: _Tile2DHeader;\n }\n ): GeoJsonLayer | null {\n if (props.data === null) {\n return null;\n }\n\n if (this.state.mvt) {\n return super.renderSubLayers(props) as GeoJsonLayer;\n }\n\n const tileBbox = props.tile.bbox as any;\n const {west, south, east, north} = tileBbox;\n\n const subLayerProps = {\n ...props,\n autoHighlight: false,\n extensions: [new ClipExtension(), ...(props.extensions || [])],\n clipBounds: [west, south, east, north]\n };\n\n const subLayer = new GeoJsonLayer(subLayerProps);\n return subLayer;\n }\n\n getPickingInfo(params) {\n const info = super.getPickingInfo(params);\n\n if (this.state.binary && info.index !== -1) {\n const {data} = params.sourceLayer!.props;\n info.object = binaryToGeojson(data as BinaryFeatures, {\n globalFeatureId: info.index\n }) as Feature;\n }\n\n return info;\n }\n}\n"],"file":"vector-tile-layer.js"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.cartoBaseSource = cartoBaseSource;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
+
|
|
16
|
+
var _common = require("./common");
|
|
17
|
+
|
|
18
|
+
var _utils = require("./utils");
|
|
19
|
+
|
|
20
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
+
|
|
22
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
|
+
|
|
24
|
+
function cartoBaseSource(_x, _x2, _x3) {
|
|
25
|
+
return _cartoBaseSource.apply(this, arguments);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function _cartoBaseSource() {
|
|
29
|
+
_cartoBaseSource = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(endpoint, options, urlParameters) {
|
|
30
|
+
var mergedOptions, baseUrl, accessToken, format, headers, errorContext, mapInstantiation, dataUrl, tilejson;
|
|
31
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
32
|
+
while (1) {
|
|
33
|
+
switch (_context.prev = _context.next) {
|
|
34
|
+
case 0:
|
|
35
|
+
mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, _common.SOURCE_DEFAULTS), options), {}, {
|
|
36
|
+
endpoint: endpoint
|
|
37
|
+
});
|
|
38
|
+
baseUrl = (0, _utils.buildApiEndpoint)(mergedOptions);
|
|
39
|
+
accessToken = mergedOptions.accessToken, format = mergedOptions.format;
|
|
40
|
+
headers = _objectSpread({
|
|
41
|
+
Authorization: "Bearer ".concat(options.accessToken)
|
|
42
|
+
}, options.headers);
|
|
43
|
+
errorContext = {
|
|
44
|
+
requestType: 'Map instantiation',
|
|
45
|
+
connection: options.connectionName,
|
|
46
|
+
type: endpoint,
|
|
47
|
+
source: JSON.stringify(urlParameters, undefined, 2)
|
|
48
|
+
};
|
|
49
|
+
_context.next = 7;
|
|
50
|
+
return (0, _utils.requestWithParameters)({
|
|
51
|
+
baseUrl: baseUrl,
|
|
52
|
+
parameters: urlParameters,
|
|
53
|
+
headers: headers,
|
|
54
|
+
errorContext: errorContext
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
case 7:
|
|
58
|
+
mapInstantiation = _context.sent;
|
|
59
|
+
dataUrl = mapInstantiation[format].url[0];
|
|
60
|
+
errorContext.requestType = 'Map data';
|
|
61
|
+
|
|
62
|
+
if (!(format === 'tilejson')) {
|
|
63
|
+
_context.next = 15;
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
_context.next = 13;
|
|
68
|
+
return (0, _utils.requestWithParameters)({
|
|
69
|
+
baseUrl: dataUrl,
|
|
70
|
+
headers: headers,
|
|
71
|
+
errorContext: errorContext
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
case 13:
|
|
75
|
+
tilejson = _context.sent;
|
|
76
|
+
return _context.abrupt("return", _objectSpread(_objectSpread({}, tilejson), {}, {
|
|
77
|
+
accessToken: accessToken
|
|
78
|
+
}));
|
|
79
|
+
|
|
80
|
+
case 15:
|
|
81
|
+
_context.next = 17;
|
|
82
|
+
return (0, _utils.requestWithParameters)({
|
|
83
|
+
baseUrl: dataUrl,
|
|
84
|
+
headers: headers,
|
|
85
|
+
errorContext: errorContext
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
case 17:
|
|
89
|
+
return _context.abrupt("return", _context.sent);
|
|
90
|
+
|
|
91
|
+
case 18:
|
|
92
|
+
case "end":
|
|
93
|
+
return _context.stop();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}, _callee);
|
|
97
|
+
}));
|
|
98
|
+
return _cartoBaseSource.apply(this, arguments);
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=base-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/sources/base-source.ts"],"names":["cartoBaseSource","endpoint","options","urlParameters","mergedOptions","SOURCE_DEFAULTS","baseUrl","accessToken","format","headers","Authorization","errorContext","requestType","connection","connectionName","type","source","JSON","stringify","undefined","parameters","mapInstantiation","dataUrl","url","tilejson"],"mappings":";;;;;;;;;;;;;;;AAEA;;AAUA;;;;;;SAEsBA,e;;;;;+EAAf,iBACLC,QADK,EAELC,OAFK,EAGLC,aAHK;AAAA;AAAA;AAAA;AAAA;AAAA;AAKCC,YAAAA,aALD,iDAKqBC,uBALrB,GAKyCH,OALzC;AAKkDD,cAAAA,QAAQ,EAARA;AALlD;AAMCK,YAAAA,OAND,GAMW,6BAAiBF,aAAjB,CANX;AAOEG,YAAAA,WAPF,GAOyBH,aAPzB,CAOEG,WAPF,EAOeC,MAPf,GAOyBJ,aAPzB,CAOeI,MAPf;AAQCC,YAAAA,OARD;AAQYC,cAAAA,aAAa,mBAAYR,OAAO,CAACK,WAApB;AARzB,eAQ+DL,OAAO,CAACO,OARvE;AAUCE,YAAAA,YAVD,GAUiC;AACpCC,cAAAA,WAAW,EAAE,mBADuB;AAEpCC,cAAAA,UAAU,EAAEX,OAAO,CAACY,cAFgB;AAGpCC,cAAAA,IAAI,EAAEd,QAH8B;AAIpCe,cAAAA,MAAM,EAAEC,IAAI,CAACC,SAAL,CAAef,aAAf,EAA8BgB,SAA9B,EAAyC,CAAzC;AAJ4B,aAVjC;AAAA;AAAA,mBAgB0B,kCAAgD;AAC7Eb,cAAAA,OAAO,EAAPA,OAD6E;AAE7Ec,cAAAA,UAAU,EAAEjB,aAFiE;AAG7EM,cAAAA,OAAO,EAAPA,OAH6E;AAI7EE,cAAAA,YAAY,EAAZA;AAJ6E,aAAhD,CAhB1B;;AAAA;AAgBCU,YAAAA,gBAhBD;AAuBCC,YAAAA,OAvBD,GAuBWD,gBAAgB,CAACb,MAAD,CAAhB,CAAyBe,GAAzB,CAA6B,CAA7B,CAvBX;AAwBLZ,YAAAA,YAAY,CAACC,WAAb,GAA2B,UAA3B;;AAxBK,kBA0BDJ,MAAM,KAAK,UA1BV;AAAA;AAAA;AAAA;;AAAA;AAAA,mBA2BoB,kCAAgC;AACrDF,cAAAA,OAAO,EAAEgB,OAD4C;AAErDb,cAAAA,OAAO,EAAPA,OAFqD;AAGrDE,cAAAA,YAAY,EAAZA;AAHqD,aAAhC,CA3BpB;;AAAA;AA2BGa,YAAAA,QA3BH;AAAA,6EAgCQA,QAhCR;AAgCkBjB,cAAAA,WAAW,EAAXA;AAhClB;;AAAA;AAAA;AAAA,mBAmCQ,kCAAkD;AAC7DD,cAAAA,OAAO,EAAEgB,OADoD;AAE7Db,cAAAA,OAAO,EAAPA,OAF6D;AAG7DE,cAAAA,YAAY,EAAZA;AAH6D,aAAlD,CAnCR;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["import type {MapType} from '../api/maps-api-common';\nimport {APIErrorContext} from '../api/carto-api-error';\nimport {\n CartoSourceOptionalOptions,\n CartoSourceRequiredOptions,\n CartoTilejsonResult,\n GeojsonResult,\n JsonResult,\n SOURCE_DEFAULTS,\n Tilejson,\n TilejsonMapInstantiation\n} from './common';\nimport {buildApiEndpoint, requestWithParameters} from './utils';\n\nexport async function cartoBaseSource<UrlParameters extends Record<string, string>>(\n endpoint: MapType,\n options: Partial<CartoSourceOptionalOptions> & CartoSourceRequiredOptions,\n urlParameters: UrlParameters\n): Promise<CartoTilejsonResult | GeojsonResult | JsonResult> {\n const mergedOptions = {...SOURCE_DEFAULTS, ...options, endpoint};\n const baseUrl = buildApiEndpoint(mergedOptions);\n const {accessToken, format} = mergedOptions;\n const headers = {Authorization: `Bearer ${options.accessToken}`, ...options.headers};\n\n const errorContext: APIErrorContext = {\n requestType: 'Map instantiation',\n connection: options.connectionName,\n type: endpoint,\n source: JSON.stringify(urlParameters, undefined, 2)\n };\n const mapInstantiation = await requestWithParameters<TilejsonMapInstantiation>({\n baseUrl,\n parameters: urlParameters,\n headers,\n errorContext\n });\n\n const dataUrl = mapInstantiation[format].url[0];\n errorContext.requestType = 'Map data';\n\n if (format === 'tilejson') {\n const tilejson = await requestWithParameters<Tilejson>({\n baseUrl: dataUrl,\n headers,\n errorContext\n });\n return {...tilejson, accessToken};\n }\n\n return await requestWithParameters<GeojsonResult | JsonResult>({\n baseUrl: dataUrl,\n headers,\n errorContext\n });\n}\n"],"file":"base-source.js"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.TilejsonPropType = exports.DEFAULT_HEADERS = exports.DEFAULT_PARAMETERS = exports.MAX_GET_LENGTH = exports.V3_MINOR_VERSION = exports.DEFAULT_CLIENT = exports.SOURCE_DEFAULTS = void 0;
|
|
9
|
+
|
|
10
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
+
|
|
12
|
+
var SOURCE_DEFAULTS = {
|
|
13
|
+
apiBaseUrl: 'https://gcp-us-east1.api.carto.com',
|
|
14
|
+
clientId: 'deck-gl-carto',
|
|
15
|
+
format: 'tilejson',
|
|
16
|
+
formatTiles: 'binary',
|
|
17
|
+
headers: {}
|
|
18
|
+
};
|
|
19
|
+
exports.SOURCE_DEFAULTS = SOURCE_DEFAULTS;
|
|
20
|
+
var DEFAULT_CLIENT = 'deck-gl-carto';
|
|
21
|
+
exports.DEFAULT_CLIENT = DEFAULT_CLIENT;
|
|
22
|
+
var V3_MINOR_VERSION = '3.2';
|
|
23
|
+
exports.V3_MINOR_VERSION = V3_MINOR_VERSION;
|
|
24
|
+
var MAX_GET_LENGTH = 8192;
|
|
25
|
+
exports.MAX_GET_LENGTH = MAX_GET_LENGTH;
|
|
26
|
+
var DEFAULT_PARAMETERS = {
|
|
27
|
+
client: DEFAULT_CLIENT,
|
|
28
|
+
v: V3_MINOR_VERSION
|
|
29
|
+
};
|
|
30
|
+
exports.DEFAULT_PARAMETERS = DEFAULT_PARAMETERS;
|
|
31
|
+
var DEFAULT_HEADERS = {
|
|
32
|
+
Accept: 'application/json',
|
|
33
|
+
'Content-Type': 'application/json'
|
|
34
|
+
};
|
|
35
|
+
exports.DEFAULT_HEADERS = DEFAULT_HEADERS;
|
|
36
|
+
var TilejsonPropType = {
|
|
37
|
+
type: 'object',
|
|
38
|
+
value: null,
|
|
39
|
+
validate: function validate(value, propType) {
|
|
40
|
+
return propType.optional && value === null || (0, _typeof2.default)(value) === 'object' && Array.isArray(value.tiles) && value.tiles.every(function (url) {
|
|
41
|
+
return typeof url === 'string';
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
compare: 2,
|
|
45
|
+
async: true
|
|
46
|
+
};
|
|
47
|
+
exports.TilejsonPropType = TilejsonPropType;
|
|
48
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/sources/common.ts"],"names":["SOURCE_DEFAULTS","apiBaseUrl","clientId","format","formatTiles","headers","DEFAULT_CLIENT","V3_MINOR_VERSION","MAX_GET_LENGTH","DEFAULT_PARAMETERS","client","v","DEFAULT_HEADERS","Accept","TilejsonPropType","type","value","validate","propType","optional","Array","isArray","tiles","every","url","compare","async"],"mappings":";;;;;;;;;;;AAyCO,IAAMA,eAA2C,GAAG;AACzDC,EAAAA,UAAU,EAAE,oCAD6C;AAEzDC,EAAAA,QAAQ,EAAE,eAF+C;AAGzDC,EAAAA,MAAM,EAAE,UAHiD;AAIzDC,EAAAA,WAAW,EAAE,QAJ4C;AAKzDC,EAAAA,OAAO,EAAE;AALgD,CAApD;;AAkEA,IAAMC,cAAc,GAAG,eAAvB;;AACA,IAAMC,gBAAgB,GAAG,KAAzB;;AACA,IAAMC,cAAc,GAAG,IAAvB;;AAEA,IAAMC,kBAAkB,GAAG;AAChCC,EAAAA,MAAM,EAAEJ,cADwB;AAEhCK,EAAAA,CAAC,EAAEJ;AAF6B,CAA3B;;AAKA,IAAMK,eAAe,GAAG;AAC7BC,EAAAA,MAAM,EAAE,kBADqB;AAE7B,kBAAgB;AAFa,CAAxB;;AAKA,IAAMC,gBAAgB,GAAG;AAC9BC,EAAAA,IAAI,EAAE,QADwB;AAE9BC,EAAAA,KAAK,EAAE,IAFuB;AAG9BC,EAAAA,QAAQ,EAAE,kBAACD,KAAD,EAA6BE,QAA7B;AAAA,WACPA,QAAQ,CAACC,QAAT,IAAqBH,KAAK,KAAK,IAAhC,IACC,sBAAOA,KAAP,MAAiB,QAAjB,IACCI,KAAK,CAACC,OAAN,CAAcL,KAAK,CAACM,KAApB,CADD,IAECN,KAAK,CAACM,KAAN,CAAYC,KAAZ,CAAkB,UAAAC,GAAG;AAAA,aAAI,OAAOA,GAAP,KAAe,QAAnB;AAAA,KAArB,CAJM;AAAA,GAHoB;AAQ9BC,EAAAA,OAAO,EAAE,CARqB;AAS9BC,EAAAA,KAAK,EAAE;AATuB,CAAzB","sourcesContent":["/* eslint-disable camelcase */\nimport type {Feature} from 'geojson';\nimport {Format, MapInstantiation, TileFormat, QueryParameters} from '../api/maps-api-common';\n\nexport type CartoSourceRequiredOptions = {\n accessToken: string;\n connectionName: string;\n};\n\nexport type CartoSourceOptionalOptions = {\n apiBaseUrl: string;\n clientId: string;\n format: Format;\n formatTiles: TileFormat;\n headers: Record<string, string>;\n mapsUrl?: string;\n};\n\nexport type CartoSourceOptions = CartoSourceRequiredOptions & Partial<CartoSourceOptionalOptions>;\n\nexport type CartoAggregationOptions = {\n aggregationExp: string;\n aggregationResLevel?: number;\n};\n\nexport type CartoQuerySourceOptions = {\n spatialDataColumn?: string;\n sqlQuery: string;\n queryParameters?: QueryParameters;\n};\n\nexport type CartoTableSourceOptions = {\n columns?: string[];\n spatialDataColumn?: string;\n tableName: string;\n};\n\nexport type CartoTilesetSourceOptions = {\n tableName: string;\n};\n\nexport const SOURCE_DEFAULTS: CartoSourceOptionalOptions = {\n apiBaseUrl: 'https://gcp-us-east1.api.carto.com',\n clientId: 'deck-gl-carto',\n format: 'tilejson',\n formatTiles: 'binary',\n headers: {}\n};\n\nexport type TilejsonMapInstantiation = MapInstantiation & {\n tilejson: {url: string[]};\n};\n\nexport interface Tilejson {\n tilejson: string;\n name: string;\n description: string;\n version: string;\n attribution: string;\n scheme: string;\n tiles: string[];\n properties_tiles: string[];\n minresolution: number;\n maxresolution: number;\n minzoom: number;\n maxzoom: number;\n bounds: [number, number, number, number];\n center: [number, number, number];\n vector_layers: VectorLayer[];\n tilestats: Tilestats;\n}\n\nexport interface Tilestats {\n layerCount: number;\n layers: Layer[];\n}\n\nexport interface Layer {\n layer: string;\n count: number;\n attributeCount: number;\n attributes: Attribute[];\n}\n\nexport interface Attribute {\n attribute: string;\n type: string;\n}\n\nexport interface VectorLayer {\n id: string;\n minzoom: number;\n maxzoom: number;\n fields: Record<string, string>;\n}\n\nexport type CartoTilejsonResult = Tilejson & {accessToken: string};\nexport type GeojsonResult = {type: 'FeatureCollection'; features: Feature[]};\nexport type JsonResult = any[];\nexport interface TilejsonSource<T> {\n (options: T & {format?: 'tilejson'}): Promise<CartoTilejsonResult>;\n}\nexport interface TypedSource<T> extends TilejsonSource<T> {\n (options: T & {format: 'geojson'}): Promise<GeojsonResult>;\n (options: T & {format: 'json'}): Promise<JsonResult>;\n}\n\nexport const DEFAULT_CLIENT = 'deck-gl-carto';\nexport const V3_MINOR_VERSION = '3.2';\nexport const MAX_GET_LENGTH = 8192;\n\nexport const DEFAULT_PARAMETERS = {\n client: DEFAULT_CLIENT,\n v: V3_MINOR_VERSION\n};\n\nexport const DEFAULT_HEADERS = {\n Accept: 'application/json',\n 'Content-Type': 'application/json'\n};\n\nexport const TilejsonPropType = {\n type: 'object' as const,\n value: null as null | CartoTilejsonResult,\n validate: (value: CartoTilejsonResult, propType) =>\n (propType.optional && value === null) ||\n (typeof value === 'object' &&\n Array.isArray(value.tiles) &&\n value.tiles.every(url => typeof url === 'string')),\n compare: 2,\n async: true\n};\n"],"file":"common.js"}
|