@deck.gl/carto 8.7.0-alpha.3 → 8.7.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.dev.js +29663 -10643
- package/dist/es5/api/index.js +9 -9
- package/dist/es5/api/layer-map.js +98 -72
- package/dist/es5/api/layer-map.js.map +1 -1
- package/dist/es5/api/maps-api-common.js +13 -9
- package/dist/es5/api/maps-api-common.js.map +1 -1
- package/dist/es5/api/maps-client.js +157 -98
- package/dist/es5/api/maps-client.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +535 -312
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/api/parseMap.js +103 -101
- package/dist/es5/api/parseMap.js.map +1 -1
- package/dist/es5/basemap.js +1 -1
- package/dist/es5/basemap.js.map +1 -1
- package/dist/es5/config.js +25 -18
- package/dist/es5/config.js.map +1 -1
- package/dist/es5/index.js +15 -15
- package/dist/es5/layers/carto-dynamic-tile-layer.js +166 -0
- package/dist/es5/layers/carto-dynamic-tile-layer.js.map +1 -0
- package/dist/es5/layers/carto-layer.js +215 -129
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/style/color-bins-style.js +15 -12
- package/dist/es5/style/color-bins-style.js.map +1 -1
- package/dist/es5/style/color-categories-style.js +43 -16
- package/dist/es5/style/color-categories-style.js.map +1 -1
- package/dist/es5/style/color-continuous-style.js +15 -12
- package/dist/es5/style/color-continuous-style.js.map +1 -1
- package/dist/es5/style/palette.js +23 -13
- package/dist/es5/style/palette.js.map +1 -1
- package/dist/es5/style/utils.js +13 -6
- package/dist/es5/style/utils.js.map +1 -1
- package/dist/esm/api/layer-map.js +8 -1
- package/dist/esm/api/layer-map.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +29 -17
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/api/parseMap.js +31 -26
- package/dist/esm/api/parseMap.js.map +1 -1
- package/dist/esm/layers/carto-dynamic-tile-layer.js +97 -0
- package/dist/esm/layers/carto-dynamic-tile-layer.js.map +1 -0
- package/dist/esm/layers/carto-layer.js +8 -1
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/style/color-bins-style.js +1 -1
- package/dist/esm/style/color-bins-style.js.map +1 -1
- package/dist/esm/style/color-continuous-style.js +1 -1
- package/dist/esm/style/color-continuous-style.js.map +1 -1
- package/dist.min.js +4 -4
- package/package.json +8 -7
- package/src/api/layer-map.js +13 -1
- package/src/api/maps-v3-client.js +35 -18
- package/src/api/parseMap.js +23 -19
- package/src/layers/carto-dynamic-tile-layer.js +86 -0
- package/src/layers/carto-layer.js +10 -4
- package/src/style/color-bins-style.js +1 -1
- package/src/style/color-continuous-style.js +1 -1
package/dist/es5/index.js
CHANGED
|
@@ -7,91 +7,91 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
Object.defineProperty(exports, "getDefaultCredentials", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () {
|
|
10
|
+
get: function get() {
|
|
11
11
|
return _config.getDefaultCredentials;
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
Object.defineProperty(exports, "setDefaultCredentials", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function () {
|
|
16
|
+
get: function get() {
|
|
17
17
|
return _config.setDefaultCredentials;
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "CartoLayer", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () {
|
|
22
|
+
get: function get() {
|
|
23
23
|
return _cartoLayer.default;
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
Object.defineProperty(exports, "BASEMAP", {
|
|
27
27
|
enumerable: true,
|
|
28
|
-
get: function () {
|
|
28
|
+
get: function get() {
|
|
29
29
|
return _basemap.default;
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
32
|
Object.defineProperty(exports, "colorBins", {
|
|
33
33
|
enumerable: true,
|
|
34
|
-
get: function () {
|
|
34
|
+
get: function get() {
|
|
35
35
|
return _colorBinsStyle.default;
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
38
|
Object.defineProperty(exports, "colorCategories", {
|
|
39
39
|
enumerable: true,
|
|
40
|
-
get: function () {
|
|
40
|
+
get: function get() {
|
|
41
41
|
return _colorCategoriesStyle.default;
|
|
42
42
|
}
|
|
43
43
|
});
|
|
44
44
|
Object.defineProperty(exports, "colorContinuous", {
|
|
45
45
|
enumerable: true,
|
|
46
|
-
get: function () {
|
|
46
|
+
get: function get() {
|
|
47
47
|
return _colorContinuousStyle.default;
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
50
|
Object.defineProperty(exports, "FORMATS", {
|
|
51
51
|
enumerable: true,
|
|
52
|
-
get: function () {
|
|
52
|
+
get: function get() {
|
|
53
53
|
return _api.FORMATS;
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
56
|
Object.defineProperty(exports, "MAP_TYPES", {
|
|
57
57
|
enumerable: true,
|
|
58
|
-
get: function () {
|
|
58
|
+
get: function get() {
|
|
59
59
|
return _api.MAP_TYPES;
|
|
60
60
|
}
|
|
61
61
|
});
|
|
62
62
|
Object.defineProperty(exports, "API_VERSIONS", {
|
|
63
63
|
enumerable: true,
|
|
64
|
-
get: function () {
|
|
64
|
+
get: function get() {
|
|
65
65
|
return _api.API_VERSIONS;
|
|
66
66
|
}
|
|
67
67
|
});
|
|
68
68
|
Object.defineProperty(exports, "fetchLayerData", {
|
|
69
69
|
enumerable: true,
|
|
70
|
-
get: function () {
|
|
70
|
+
get: function get() {
|
|
71
71
|
return _api.fetchLayerData;
|
|
72
72
|
}
|
|
73
73
|
});
|
|
74
74
|
Object.defineProperty(exports, "fetchMap", {
|
|
75
75
|
enumerable: true,
|
|
76
|
-
get: function () {
|
|
76
|
+
get: function get() {
|
|
77
77
|
return _api.fetchMap;
|
|
78
78
|
}
|
|
79
79
|
});
|
|
80
80
|
Object.defineProperty(exports, "_getDataV2", {
|
|
81
81
|
enumerable: true,
|
|
82
|
-
get: function () {
|
|
82
|
+
get: function get() {
|
|
83
83
|
return _api.getDataV2;
|
|
84
84
|
}
|
|
85
85
|
});
|
|
86
86
|
Object.defineProperty(exports, "getData", {
|
|
87
87
|
enumerable: true,
|
|
88
|
-
get: function () {
|
|
88
|
+
get: function get() {
|
|
89
89
|
return _api.getData;
|
|
90
90
|
}
|
|
91
91
|
});
|
|
92
92
|
Object.defineProperty(exports, "_mapInstantiation", {
|
|
93
93
|
enumerable: true,
|
|
94
|
-
get: function () {
|
|
94
|
+
get: function get() {
|
|
95
95
|
return _api.mapInstantiation;
|
|
96
96
|
}
|
|
97
97
|
});
|
|
@@ -0,0 +1,166 @@
|
|
|
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 _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
16
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
|
|
18
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
20
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
24
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
25
|
+
|
|
26
|
+
var _core = require("@deck.gl/core");
|
|
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
|
+
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; }
|
|
39
|
+
|
|
40
|
+
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; }
|
|
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 parseJSON(arrayBuffer) {
|
|
47
|
+
return JSON.parse(new TextDecoder().decode(arrayBuffer));
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function parseCartoDynamicTile(arrayBuffer, options) {
|
|
51
|
+
if (!arrayBuffer) return null;
|
|
52
|
+
var formatTiles = options && options.cartoDynamicTile && options.cartoDynamicTile.formatTiles;
|
|
53
|
+
if (formatTiles === 'geojson') return (0, _gis.geojsonToBinary)(parseJSON(arrayBuffer).features);
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
var CartoDynamicTileLoader = {
|
|
58
|
+
name: 'CARTO Dynamic Tile',
|
|
59
|
+
id: 'cartoDynamicTile',
|
|
60
|
+
module: 'carto',
|
|
61
|
+
extensions: ['pbf'],
|
|
62
|
+
mimeTypes: ['application/x-protobuf'],
|
|
63
|
+
category: 'geometry',
|
|
64
|
+
worker: false,
|
|
65
|
+
parse: function () {
|
|
66
|
+
var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
|
|
67
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
68
|
+
while (1) {
|
|
69
|
+
switch (_context.prev = _context.next) {
|
|
70
|
+
case 0:
|
|
71
|
+
return _context.abrupt("return", parseCartoDynamicTile(arrayBuffer, options));
|
|
72
|
+
|
|
73
|
+
case 1:
|
|
74
|
+
case "end":
|
|
75
|
+
return _context.stop();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}, _callee);
|
|
79
|
+
}));
|
|
80
|
+
|
|
81
|
+
function parse(_x, _x2) {
|
|
82
|
+
return _parse.apply(this, arguments);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return parse;
|
|
86
|
+
}(),
|
|
87
|
+
parseSync: parseCartoDynamicTile,
|
|
88
|
+
options: {
|
|
89
|
+
cartoDynamicTile: {
|
|
90
|
+
formatTiles: 'geojson'
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
var CartoDynamicTileLayer = function (_MVTLayer) {
|
|
96
|
+
(0, _inherits2.default)(CartoDynamicTileLayer, _MVTLayer);
|
|
97
|
+
|
|
98
|
+
var _super = _createSuper(CartoDynamicTileLayer);
|
|
99
|
+
|
|
100
|
+
function CartoDynamicTileLayer() {
|
|
101
|
+
(0, _classCallCheck2.default)(this, CartoDynamicTileLayer);
|
|
102
|
+
return _super.apply(this, arguments);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
(0, _createClass2.default)(CartoDynamicTileLayer, [{
|
|
106
|
+
key: "getTileData",
|
|
107
|
+
value: function getTileData(tile) {
|
|
108
|
+
var url = (0, _geoLayers._getURLFromTemplate)(this.state.data, tile);
|
|
109
|
+
|
|
110
|
+
if (!url) {
|
|
111
|
+
return Promise.reject('Invalid URL');
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
var loadOptions = this.getLoadOptions();
|
|
115
|
+
var _this$props = this.props,
|
|
116
|
+
fetch = _this$props.fetch,
|
|
117
|
+
formatTiles = _this$props.formatTiles;
|
|
118
|
+
var signal = tile.signal;
|
|
119
|
+
loadOptions = _objectSpread(_objectSpread({}, loadOptions), {}, {
|
|
120
|
+
mimeType: 'application/x-protobuf'
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
if (formatTiles) {
|
|
124
|
+
_core.log.assert(['geojson'].includes(formatTiles), "Invalid value for formatTiles: ".concat(formatTiles));
|
|
125
|
+
|
|
126
|
+
url += "&".concat((0, _mapsApiCommon.encodeParameter)('formatTiles', formatTiles));
|
|
127
|
+
loadOptions.cartoBinaryTile = {
|
|
128
|
+
formatTiles: formatTiles
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
return fetch(url, {
|
|
133
|
+
propName: 'data',
|
|
134
|
+
layer: this,
|
|
135
|
+
loadOptions: loadOptions,
|
|
136
|
+
signal: signal
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}, {
|
|
140
|
+
key: "renderSubLayers",
|
|
141
|
+
value: function renderSubLayers(props) {
|
|
142
|
+
if (props.data === null) {
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
props.autoHighlight = false;
|
|
147
|
+
var _props$tile$bbox = props.tile.bbox,
|
|
148
|
+
west = _props$tile$bbox.west,
|
|
149
|
+
south = _props$tile$bbox.south,
|
|
150
|
+
east = _props$tile$bbox.east,
|
|
151
|
+
north = _props$tile$bbox.north;
|
|
152
|
+
props.extensions = [new _extensions.ClipExtension()];
|
|
153
|
+
props.clipBounds = [west, south, east, north];
|
|
154
|
+
var subLayer = new _layers.GeoJsonLayer(_objectSpread({}, props));
|
|
155
|
+
return subLayer;
|
|
156
|
+
}
|
|
157
|
+
}]);
|
|
158
|
+
return CartoDynamicTileLayer;
|
|
159
|
+
}(_geoLayers.MVTLayer);
|
|
160
|
+
|
|
161
|
+
exports.default = CartoDynamicTileLayer;
|
|
162
|
+
CartoDynamicTileLayer.layerName = 'CartoDynamicTileLayer';
|
|
163
|
+
CartoDynamicTileLayer.defaultProps = _objectSpread(_objectSpread({}, _geoLayers.MVTLayer.defaultProps), {}, {
|
|
164
|
+
loaders: [CartoDynamicTileLoader]
|
|
165
|
+
});
|
|
166
|
+
//# sourceMappingURL=carto-dynamic-tile-layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/carto-dynamic-tile-layer.js"],"names":["parseJSON","arrayBuffer","JSON","parse","TextDecoder","decode","parseCartoDynamicTile","options","formatTiles","cartoDynamicTile","features","CartoDynamicTileLoader","name","id","module","extensions","mimeTypes","category","worker","parseSync","CartoDynamicTileLayer","tile","url","state","data","Promise","reject","loadOptions","getLoadOptions","props","fetch","signal","mimeType","log","assert","includes","cartoBinaryTile","propName","layer","autoHighlight","bbox","west","south","east","north","ClipExtension","clipBounds","subLayer","GeoJsonLayer","MVTLayer","layerName","defaultProps","loaders"],"mappings":"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","sourcesContent":["/* global TextDecoder */\nimport {log} from '@deck.gl/core';\nimport {ClipExtension} from '@deck.gl/extensions';\nimport {MVTLayer, _getURLFromTemplate} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport {encodeParameter} from '../api/maps-api-common';\n\nfunction parseJSON(arrayBuffer) {\n return JSON.parse(new TextDecoder().decode(arrayBuffer));\n}\n\nfunction parseCartoDynamicTile(arrayBuffer, options) {\n if (!arrayBuffer) return null;\n const formatTiles = options && options.cartoDynamicTile && options.cartoDynamicTile.formatTiles;\n if (formatTiles === 'geojson') return geojsonToBinary(parseJSON(arrayBuffer).features);\n return null;\n}\n\nconst CartoDynamicTileLoader = {\n name: 'CARTO Dynamic Tile',\n id: 'cartoDynamicTile',\n module: 'carto',\n extensions: ['pbf'],\n mimeTypes: ['application/x-protobuf'],\n category: 'geometry',\n worker: false,\n parse: async (arrayBuffer, options) => parseCartoDynamicTile(arrayBuffer, options),\n parseSync: parseCartoDynamicTile,\n options: {\n cartoDynamicTile: {\n formatTiles: 'geojson'\n }\n }\n};\n\nexport default class CartoDynamicTileLayer extends MVTLayer {\n getTileData(tile) {\n let url = _getURLFromTemplate(this.state.data, tile);\n if (!url) {\n return Promise.reject('Invalid URL');\n }\n\n let loadOptions = this.getLoadOptions();\n const {fetch, formatTiles} = this.props;\n const {signal} = tile;\n\n loadOptions = {\n ...loadOptions,\n mimeType: 'application/x-protobuf'\n };\n\n if (formatTiles) {\n log.assert(\n ['geojson'].includes(formatTiles),\n `Invalid value for formatTiles: ${formatTiles}`\n );\n url += `&${encodeParameter('formatTiles', formatTiles)}`;\n loadOptions.cartoBinaryTile = {formatTiles};\n }\n\n return fetch(url, {propName: 'data', layer: this, loadOptions, signal});\n }\n\n renderSubLayers(props) {\n if (props.data === null) {\n return null;\n }\n\n props.autoHighlight = false;\n\n const {\n bbox: {west, south, east, north}\n } = props.tile;\n props.extensions = [new ClipExtension()];\n props.clipBounds = [west, south, east, north];\n\n const subLayer = new GeoJsonLayer({\n ...props\n });\n return subLayer;\n }\n}\n\nCartoDynamicTileLayer.layerName = 'CartoDynamicTileLayer';\nCartoDynamicTileLayer.defaultProps = {...MVTLayer.defaultProps, loaders: [CartoDynamicTileLoader]};\n"],"file":"carto-dynamic-tile-layer.js"}
|