@deck.gl/geo-layers 8.6.4 → 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 +35 -15
- package/dist/es5/great-circle-layer/great-circle-layer.js +26 -1
- package/dist/es5/great-circle-layer/great-circle-layer.js.map +1 -1
- package/dist/es5/h3-layers/h3-cluster-layer.js +149 -87
- package/dist/es5/h3-layers/h3-cluster-layer.js.map +1 -1
- package/dist/es5/h3-layers/h3-hexagon-layer.js +321 -226
- package/dist/es5/h3-layers/h3-hexagon-layer.js.map +1 -1
- package/dist/es5/index.js +9 -9
- package/dist/es5/mesh-layer/mesh-layer.js +151 -125
- package/dist/es5/mesh-layer/mesh-layer.js.map +1 -1
- package/dist/es5/mvt-layer/coordinate-transform.js +45 -19
- package/dist/es5/mvt-layer/coordinate-transform.js.map +1 -1
- package/dist/es5/mvt-layer/find-index-binary.js +45 -26
- package/dist/es5/mvt-layer/find-index-binary.js.map +1 -1
- package/dist/es5/mvt-layer/mvt-layer.js +394 -279
- package/dist/es5/mvt-layer/mvt-layer.js.map +1 -1
- package/dist/es5/s2-layer/s2-geometry.js +43 -32
- package/dist/es5/s2-layer/s2-geometry.js.map +1 -1
- package/dist/es5/s2-layer/s2-layer.js +104 -69
- package/dist/es5/s2-layer/s2-layer.js.map +1 -1
- package/dist/es5/s2-layer/s2-utils.js +27 -28
- package/dist/es5/s2-layer/s2-utils.js.map +1 -1
- package/dist/es5/terrain-layer/terrain-layer.js +250 -208
- package/dist/es5/terrain-layer/terrain-layer.js.map +1 -1
- package/dist/es5/tile-3d-layer/tile-3d-layer.js +382 -329
- package/dist/es5/tile-3d-layer/tile-3d-layer.js.map +1 -1
- package/dist/es5/tile-layer/tile-2d-header.js +183 -119
- package/dist/es5/tile-layer/tile-2d-header.js.map +1 -1
- package/dist/es5/tile-layer/tile-2d-traversal.js +178 -115
- package/dist/es5/tile-layer/tile-2d-traversal.js.map +1 -1
- package/dist/es5/tile-layer/tile-layer.js +257 -214
- package/dist/es5/tile-layer/tile-layer.js.map +1 -1
- package/dist/es5/tile-layer/tileset-2d.js +435 -290
- package/dist/es5/tile-layer/tileset-2d.js.map +1 -1
- package/dist/es5/tile-layer/utils.js +110 -61
- package/dist/es5/tile-layer/utils.js.map +1 -1
- package/dist/es5/trips-layer/trips-layer.js +81 -44
- package/dist/es5/trips-layer/trips-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/dist/dist.dev.js
CHANGED
|
@@ -60689,7 +60689,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
60689
60689
|
|
|
60690
60690
|
|
|
60691
60691
|
|
|
60692
|
-
const VERSION = true ? "8.6.
|
|
60692
|
+
const VERSION = true ? "8.6.5" : undefined;
|
|
60693
60693
|
const isBrowser = Object(_env_is_browser__WEBPACK_IMPORTED_MODULE_0__["default"])();
|
|
60694
60694
|
//# sourceMappingURL=globals.js.map
|
|
60695
60695
|
|
|
@@ -61970,6 +61970,10 @@ class MVTLayer extends _tile_layer_tile_layer__WEBPACK_IMPORTED_MODULE_4__["defa
|
|
|
61970
61970
|
super.updateState({props, oldProps, context, changeFlags});
|
|
61971
61971
|
this._setWGS84PropertyForTiles();
|
|
61972
61972
|
}
|
|
61973
|
+
const {highlightColor} = props;
|
|
61974
|
+
if (highlightColor !== oldProps.highlightColor && Array.isArray(highlightColor)) {
|
|
61975
|
+
this.setState({highlightColor});
|
|
61976
|
+
}
|
|
61973
61977
|
}
|
|
61974
61978
|
|
|
61975
61979
|
/* eslint-disable complexity */
|
|
@@ -62094,12 +62098,17 @@ class MVTLayer extends _tile_layer_tile_layer__WEBPACK_IMPORTED_MODULE_4__["defa
|
|
|
62094
62098
|
newHoveredFeatureId = getFeatureUniqueId(hoveredFeature, uniqueIdProperty);
|
|
62095
62099
|
newHoveredFeatureLayerName = getFeatureLayerName(hoveredFeature);
|
|
62096
62100
|
}
|
|
62101
|
+
let {highlightColor} = this.props;
|
|
62102
|
+
if (typeof highlightColor === 'function') {
|
|
62103
|
+
highlightColor = highlightColor(info);
|
|
62104
|
+
}
|
|
62097
62105
|
|
|
62098
62106
|
if (
|
|
62099
62107
|
hoveredFeatureId !== newHoveredFeatureId ||
|
|
62100
62108
|
hoveredFeatureLayerName !== newHoveredFeatureLayerName
|
|
62101
62109
|
) {
|
|
62102
62110
|
this.setState({
|
|
62111
|
+
highlightColor,
|
|
62103
62112
|
hoveredFeatureId: newHoveredFeatureId,
|
|
62104
62113
|
hoveredFeatureLayerName: newHoveredFeatureLayerName
|
|
62105
62114
|
});
|
|
@@ -62122,6 +62131,13 @@ class MVTLayer extends _tile_layer_tile_layer__WEBPACK_IMPORTED_MODULE_4__["defa
|
|
|
62122
62131
|
return info;
|
|
62123
62132
|
}
|
|
62124
62133
|
|
|
62134
|
+
getSubLayerPropsByTile(tile) {
|
|
62135
|
+
return {
|
|
62136
|
+
highlightedObjectIndex: this.getHighlightedObjectIndex(tile),
|
|
62137
|
+
highlightColor: this.state.highlightColor
|
|
62138
|
+
};
|
|
62139
|
+
}
|
|
62140
|
+
|
|
62125
62141
|
getHighlightedObjectIndex(tile) {
|
|
62126
62142
|
const {hoveredFeatureId, hoveredFeatureLayerName} = this.state;
|
|
62127
62143
|
const {uniqueIdProperty, highlightedFeatureId, binary} = this.props;
|
|
@@ -62811,17 +62827,17 @@ class TerrainLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["Composite
|
|
|
62811
62827
|
|
|
62812
62828
|
getTiledTerrainData(tile) {
|
|
62813
62829
|
const {elevationData, fetch, texture, elevationDecoder, meshMaxError} = this.props;
|
|
62830
|
+
const {viewport} = this.context;
|
|
62814
62831
|
const dataUrl = Object(_tile_layer_utils__WEBPACK_IMPORTED_MODULE_3__["getURLFromTemplate"])(elevationData, tile);
|
|
62815
62832
|
const textureUrl = Object(_tile_layer_utils__WEBPACK_IMPORTED_MODULE_3__["getURLFromTemplate"])(texture, tile);
|
|
62816
62833
|
|
|
62817
|
-
const {bbox, signal
|
|
62818
|
-
const
|
|
62819
|
-
|
|
62820
|
-
|
|
62821
|
-
|
|
62822
|
-
|
|
62823
|
-
|
|
62824
|
-
const topRight = viewport.projectFlat([bbox.east, bbox.north]);
|
|
62834
|
+
const {bbox, signal} = tile;
|
|
62835
|
+
const bottomLeft = viewport.isGeospatial
|
|
62836
|
+
? viewport.projectFlat([bbox.west, bbox.south])
|
|
62837
|
+
: [bbox.left, bbox.bottom];
|
|
62838
|
+
const topRight = viewport.isGeospatial
|
|
62839
|
+
? viewport.projectFlat([bbox.east, bbox.north])
|
|
62840
|
+
: [bbox.right, bbox.top];
|
|
62825
62841
|
const bounds = [bottomLeft[0], bottomLeft[1], topRight[0], topRight[1]];
|
|
62826
62842
|
|
|
62827
62843
|
const terrain = this.loadTerrain({
|
|
@@ -62853,6 +62869,7 @@ class TerrainLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["Composite
|
|
|
62853
62869
|
data: DUMMY_DATA,
|
|
62854
62870
|
mesh,
|
|
62855
62871
|
texture,
|
|
62872
|
+
_instanced: false,
|
|
62856
62873
|
coordinateSystem: _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["COORDINATE_SYSTEM"].CARTESIAN,
|
|
62857
62874
|
getPosition: d => [0, 0, 0],
|
|
62858
62875
|
getColor: color
|
|
@@ -63899,8 +63916,8 @@ class TileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLay
|
|
|
63899
63916
|
return this.props.renderSubLayers(props);
|
|
63900
63917
|
}
|
|
63901
63918
|
|
|
63902
|
-
|
|
63903
|
-
return
|
|
63919
|
+
getSubLayerPropsByTile(tile) {
|
|
63920
|
+
return null;
|
|
63904
63921
|
}
|
|
63905
63922
|
|
|
63906
63923
|
getPickingInfo({info, sourceLayer}) {
|
|
@@ -63916,7 +63933,7 @@ class TileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLay
|
|
|
63916
63933
|
|
|
63917
63934
|
renderLayers() {
|
|
63918
63935
|
return this.state.tileset.tiles.map(tile => {
|
|
63919
|
-
const
|
|
63936
|
+
const subLayerProps = this.getSubLayerPropsByTile(tile);
|
|
63920
63937
|
// cache the rendered layer in the tile
|
|
63921
63938
|
if (!tile.isLoaded && !tile.content) {
|
|
63922
63939
|
// nothing to show
|
|
@@ -63931,14 +63948,17 @@ class TileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLay
|
|
|
63931
63948
|
tile.layers = Object(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["_flatten"])(layers, Boolean).map(layer =>
|
|
63932
63949
|
layer.clone({
|
|
63933
63950
|
tile,
|
|
63934
|
-
|
|
63951
|
+
...subLayerProps
|
|
63935
63952
|
})
|
|
63936
63953
|
);
|
|
63937
63954
|
} else if (
|
|
63955
|
+
subLayerProps &&
|
|
63938
63956
|
tile.layers[0] &&
|
|
63939
|
-
|
|
63957
|
+
Object.keys(subLayerProps).some(
|
|
63958
|
+
propName => tile.layers[0].props[propName] !== subLayerProps[propName]
|
|
63959
|
+
)
|
|
63940
63960
|
) {
|
|
63941
|
-
tile.layers = tile.layers.map(layer => layer.clone(
|
|
63961
|
+
tile.layers = tile.layers.map(layer => layer.clone(subLayerProps));
|
|
63942
63962
|
}
|
|
63943
63963
|
return tile.layers;
|
|
63944
63964
|
});
|
|
@@ -1,13 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports.default = void 0;
|
|
7
9
|
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
|
+
|
|
14
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
+
|
|
16
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
17
|
+
|
|
8
18
|
var _layers = require("@deck.gl/layers");
|
|
9
19
|
|
|
10
|
-
|
|
20
|
+
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); }; }
|
|
21
|
+
|
|
22
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
|
|
23
|
+
|
|
24
|
+
var GreatCircleLayer = function (_ArcLayer) {
|
|
25
|
+
(0, _inherits2.default)(GreatCircleLayer, _ArcLayer);
|
|
26
|
+
|
|
27
|
+
var _super = _createSuper(GreatCircleLayer);
|
|
28
|
+
|
|
29
|
+
function GreatCircleLayer() {
|
|
30
|
+
(0, _classCallCheck2.default)(this, GreatCircleLayer);
|
|
31
|
+
return _super.apply(this, arguments);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return GreatCircleLayer;
|
|
35
|
+
}(_layers.ArcLayer);
|
|
11
36
|
|
|
12
37
|
exports.default = GreatCircleLayer;
|
|
13
38
|
GreatCircleLayer.layerName = 'GreatCircleLayer';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/great-circle-layer/great-circle-layer.js"],"names":["GreatCircleLayer","ArcLayer","layerName","defaultProps","getHeight","type","value","greatCircle"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/great-circle-layer/great-circle-layer.js"],"names":["GreatCircleLayer","ArcLayer","layerName","defaultProps","getHeight","type","value","greatCircle"],"mappings":";;;;;;;;;;;;;;;;;AAoBA;;;;;;IAIqBA,gB;;;;;;;;;;;EAAyBC,gB;;;AAE9CD,gBAAgB,CAACE,SAAjB,GAA6B,kBAA7B;AACAF,gBAAgB,CAACG,YAAjB,GAAgC;AAC9BC,EAAAA,SAAS,EAAE;AAACC,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,KAAK,EAAE;AAA1B,GADmB;AAE9BC,EAAAA,WAAW,EAAE;AAFiB,CAAhC","sourcesContent":["// Copyright (c) 2015 - 2017 Uber Technologies, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\nimport {ArcLayer} from '@deck.gl/layers';\n\n// This layer has been merged into the core ArcLayer\n// Keeping for backward-compatibility\nexport default class GreatCircleLayer extends ArcLayer {}\n\nGreatCircleLayer.layerName = 'GreatCircleLayer';\nGreatCircleLayer.defaultProps = {\n getHeight: {type: 'accessor', value: 0},\n greatCircle: true\n};\n"],"file":"great-circle-layer.js"}
|
|
@@ -1,110 +1,172 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports.default = void 0;
|
|
7
9
|
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
|
|
16
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
+
|
|
18
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
+
|
|
20
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
+
|
|
8
22
|
var _h3Js = require("h3-js");
|
|
9
23
|
|
|
10
24
|
var _core = require("@deck.gl/core");
|
|
11
25
|
|
|
12
26
|
var _layers = require("@deck.gl/layers");
|
|
13
27
|
|
|
14
|
-
|
|
28
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
29
|
+
|
|
30
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
31
|
+
|
|
32
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
33
|
+
|
|
34
|
+
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); }; }
|
|
35
|
+
|
|
36
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
|
|
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
|
+
var defaultProps = _objectSpread(_objectSpread({}, _layers.PolygonLayer.defaultProps), {}, {
|
|
15
43
|
getHexagons: {
|
|
16
44
|
type: 'accessor',
|
|
17
|
-
value: d
|
|
18
|
-
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
class H3ClusterLayer extends _core.CompositeLayer {
|
|
22
|
-
updateState({
|
|
23
|
-
props,
|
|
24
|
-
oldProps,
|
|
25
|
-
changeFlags
|
|
26
|
-
}) {
|
|
27
|
-
if (changeFlags.dataChanged || changeFlags.updateTriggers && changeFlags.updateTriggers.getHexagons) {
|
|
28
|
-
const {
|
|
29
|
-
data,
|
|
30
|
-
getHexagons
|
|
31
|
-
} = props;
|
|
32
|
-
const polygons = [];
|
|
33
|
-
const {
|
|
34
|
-
iterable,
|
|
35
|
-
objectInfo
|
|
36
|
-
} = (0, _core.createIterable)(data);
|
|
37
|
-
|
|
38
|
-
for (const object of iterable) {
|
|
39
|
-
objectInfo.index++;
|
|
40
|
-
const hexagons = getHexagons(object, objectInfo);
|
|
41
|
-
const multiPolygon = (0, _h3Js.h3SetToMultiPolygon)(hexagons, true);
|
|
42
|
-
|
|
43
|
-
for (const polygon of multiPolygon) {
|
|
44
|
-
polygons.push(this.getSubLayerRow({
|
|
45
|
-
polygon
|
|
46
|
-
}, object, objectInfo.index));
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
this.setState({
|
|
51
|
-
polygons
|
|
52
|
-
});
|
|
45
|
+
value: function value(d) {
|
|
46
|
+
return d.hexagons;
|
|
53
47
|
}
|
|
54
48
|
}
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
var H3ClusterLayer = function (_CompositeLayer) {
|
|
52
|
+
(0, _inherits2.default)(H3ClusterLayer, _CompositeLayer);
|
|
55
53
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
filled,
|
|
62
|
-
stroked,
|
|
63
|
-
lineWidthScale,
|
|
64
|
-
lineWidthMinPixels,
|
|
65
|
-
lineWidthMaxPixels,
|
|
66
|
-
lineJointRounded,
|
|
67
|
-
lineMiterLimit,
|
|
68
|
-
lineDashJustified,
|
|
69
|
-
material,
|
|
70
|
-
getFillColor,
|
|
71
|
-
getLineColor,
|
|
72
|
-
getLineWidth,
|
|
73
|
-
getLineDashArray,
|
|
74
|
-
getElevation,
|
|
75
|
-
transitions,
|
|
76
|
-
updateTriggers
|
|
77
|
-
} = this.props;
|
|
78
|
-
const SubLayerClass = this.getSubLayerClass('cluster-region', _layers.PolygonLayer);
|
|
79
|
-
return new SubLayerClass({
|
|
80
|
-
filled,
|
|
81
|
-
wireframe,
|
|
82
|
-
extruded,
|
|
83
|
-
elevationScale,
|
|
84
|
-
stroked,
|
|
85
|
-
lineWidthScale,
|
|
86
|
-
lineWidthMinPixels,
|
|
87
|
-
lineWidthMaxPixels,
|
|
88
|
-
lineJointRounded,
|
|
89
|
-
lineMiterLimit,
|
|
90
|
-
lineDashJustified,
|
|
91
|
-
material,
|
|
92
|
-
transitions,
|
|
93
|
-
getFillColor: this.getSubLayerAccessor(getFillColor),
|
|
94
|
-
getLineColor: this.getSubLayerAccessor(getLineColor),
|
|
95
|
-
getLineWidth: this.getSubLayerAccessor(getLineWidth),
|
|
96
|
-
getLineDashArray: this.getSubLayerAccessor(getLineDashArray),
|
|
97
|
-
getElevation: this.getSubLayerAccessor(getElevation)
|
|
98
|
-
}, this.getSubLayerProps({
|
|
99
|
-
id: 'cluster-region',
|
|
100
|
-
updateTriggers
|
|
101
|
-
}), {
|
|
102
|
-
data: this.state.polygons,
|
|
103
|
-
getPolygon: d => d.polygon
|
|
104
|
-
});
|
|
54
|
+
var _super = _createSuper(H3ClusterLayer);
|
|
55
|
+
|
|
56
|
+
function H3ClusterLayer() {
|
|
57
|
+
(0, _classCallCheck2.default)(this, H3ClusterLayer);
|
|
58
|
+
return _super.apply(this, arguments);
|
|
105
59
|
}
|
|
106
60
|
|
|
107
|
-
|
|
61
|
+
(0, _createClass2.default)(H3ClusterLayer, [{
|
|
62
|
+
key: "updateState",
|
|
63
|
+
value: function updateState(_ref) {
|
|
64
|
+
var props = _ref.props,
|
|
65
|
+
oldProps = _ref.oldProps,
|
|
66
|
+
changeFlags = _ref.changeFlags;
|
|
67
|
+
|
|
68
|
+
if (changeFlags.dataChanged || changeFlags.updateTriggers && changeFlags.updateTriggers.getHexagons) {
|
|
69
|
+
var data = props.data,
|
|
70
|
+
getHexagons = props.getHexagons;
|
|
71
|
+
var polygons = [];
|
|
72
|
+
|
|
73
|
+
var _createIterable = (0, _core.createIterable)(data),
|
|
74
|
+
iterable = _createIterable.iterable,
|
|
75
|
+
objectInfo = _createIterable.objectInfo;
|
|
76
|
+
|
|
77
|
+
var _iterator = _createForOfIteratorHelper(iterable),
|
|
78
|
+
_step;
|
|
79
|
+
|
|
80
|
+
try {
|
|
81
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
82
|
+
var object = _step.value;
|
|
83
|
+
objectInfo.index++;
|
|
84
|
+
var hexagons = getHexagons(object, objectInfo);
|
|
85
|
+
var multiPolygon = (0, _h3Js.h3SetToMultiPolygon)(hexagons, true);
|
|
86
|
+
|
|
87
|
+
var _iterator2 = _createForOfIteratorHelper(multiPolygon),
|
|
88
|
+
_step2;
|
|
89
|
+
|
|
90
|
+
try {
|
|
91
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
92
|
+
var polygon = _step2.value;
|
|
93
|
+
polygons.push(this.getSubLayerRow({
|
|
94
|
+
polygon: polygon
|
|
95
|
+
}, object, objectInfo.index));
|
|
96
|
+
}
|
|
97
|
+
} catch (err) {
|
|
98
|
+
_iterator2.e(err);
|
|
99
|
+
} finally {
|
|
100
|
+
_iterator2.f();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
} catch (err) {
|
|
104
|
+
_iterator.e(err);
|
|
105
|
+
} finally {
|
|
106
|
+
_iterator.f();
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
this.setState({
|
|
110
|
+
polygons: polygons
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}, {
|
|
115
|
+
key: "renderLayers",
|
|
116
|
+
value: function renderLayers() {
|
|
117
|
+
var _this$props = this.props,
|
|
118
|
+
elevationScale = _this$props.elevationScale,
|
|
119
|
+
extruded = _this$props.extruded,
|
|
120
|
+
wireframe = _this$props.wireframe,
|
|
121
|
+
filled = _this$props.filled,
|
|
122
|
+
stroked = _this$props.stroked,
|
|
123
|
+
lineWidthScale = _this$props.lineWidthScale,
|
|
124
|
+
lineWidthMinPixels = _this$props.lineWidthMinPixels,
|
|
125
|
+
lineWidthMaxPixels = _this$props.lineWidthMaxPixels,
|
|
126
|
+
lineJointRounded = _this$props.lineJointRounded,
|
|
127
|
+
lineMiterLimit = _this$props.lineMiterLimit,
|
|
128
|
+
lineDashJustified = _this$props.lineDashJustified,
|
|
129
|
+
material = _this$props.material,
|
|
130
|
+
getFillColor = _this$props.getFillColor,
|
|
131
|
+
getLineColor = _this$props.getLineColor,
|
|
132
|
+
getLineWidth = _this$props.getLineWidth,
|
|
133
|
+
getLineDashArray = _this$props.getLineDashArray,
|
|
134
|
+
getElevation = _this$props.getElevation,
|
|
135
|
+
transitions = _this$props.transitions,
|
|
136
|
+
updateTriggers = _this$props.updateTriggers;
|
|
137
|
+
var SubLayerClass = this.getSubLayerClass('cluster-region', _layers.PolygonLayer);
|
|
138
|
+
return new SubLayerClass({
|
|
139
|
+
filled: filled,
|
|
140
|
+
wireframe: wireframe,
|
|
141
|
+
extruded: extruded,
|
|
142
|
+
elevationScale: elevationScale,
|
|
143
|
+
stroked: stroked,
|
|
144
|
+
lineWidthScale: lineWidthScale,
|
|
145
|
+
lineWidthMinPixels: lineWidthMinPixels,
|
|
146
|
+
lineWidthMaxPixels: lineWidthMaxPixels,
|
|
147
|
+
lineJointRounded: lineJointRounded,
|
|
148
|
+
lineMiterLimit: lineMiterLimit,
|
|
149
|
+
lineDashJustified: lineDashJustified,
|
|
150
|
+
material: material,
|
|
151
|
+
transitions: transitions,
|
|
152
|
+
getFillColor: this.getSubLayerAccessor(getFillColor),
|
|
153
|
+
getLineColor: this.getSubLayerAccessor(getLineColor),
|
|
154
|
+
getLineWidth: this.getSubLayerAccessor(getLineWidth),
|
|
155
|
+
getLineDashArray: this.getSubLayerAccessor(getLineDashArray),
|
|
156
|
+
getElevation: this.getSubLayerAccessor(getElevation)
|
|
157
|
+
}, this.getSubLayerProps({
|
|
158
|
+
id: 'cluster-region',
|
|
159
|
+
updateTriggers: updateTriggers
|
|
160
|
+
}), {
|
|
161
|
+
data: this.state.polygons,
|
|
162
|
+
getPolygon: function getPolygon(d) {
|
|
163
|
+
return d.polygon;
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}]);
|
|
168
|
+
return H3ClusterLayer;
|
|
169
|
+
}(_core.CompositeLayer);
|
|
108
170
|
|
|
109
171
|
exports.default = H3ClusterLayer;
|
|
110
172
|
H3ClusterLayer.defaultProps = defaultProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/h3-layers/h3-cluster-layer.js"],"names":["defaultProps","PolygonLayer","getHexagons","type","value","d","hexagons","H3ClusterLayer","
|
|
1
|
+
{"version":3,"sources":["../../../src/h3-layers/h3-cluster-layer.js"],"names":["defaultProps","PolygonLayer","getHexagons","type","value","d","hexagons","H3ClusterLayer","props","oldProps","changeFlags","dataChanged","updateTriggers","data","polygons","iterable","objectInfo","object","index","multiPolygon","polygon","push","getSubLayerRow","setState","elevationScale","extruded","wireframe","filled","stroked","lineWidthScale","lineWidthMinPixels","lineWidthMaxPixels","lineJointRounded","lineMiterLimit","lineDashJustified","material","getFillColor","getLineColor","getLineWidth","getLineDashArray","getElevation","transitions","SubLayerClass","getSubLayerClass","getSubLayerAccessor","getSubLayerProps","id","state","getPolygon","CompositeLayer","layerName"],"mappings":"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","sourcesContent":["import {h3SetToMultiPolygon} from 'h3-js';\n\nimport {CompositeLayer, createIterable} from '@deck.gl/core';\nimport {PolygonLayer} from '@deck.gl/layers';\n\nconst defaultProps = {\n ...PolygonLayer.defaultProps,\n getHexagons: {type: 'accessor', value: d => d.hexagons}\n};\n\nexport default class H3ClusterLayer extends CompositeLayer {\n updateState({props, oldProps, changeFlags}) {\n if (\n changeFlags.dataChanged ||\n (changeFlags.updateTriggers && changeFlags.updateTriggers.getHexagons)\n ) {\n const {data, getHexagons} = props;\n const polygons = [];\n\n const {iterable, objectInfo} = createIterable(data);\n for (const object of iterable) {\n objectInfo.index++;\n const hexagons = getHexagons(object, objectInfo);\n const multiPolygon = h3SetToMultiPolygon(hexagons, true);\n\n for (const polygon of multiPolygon) {\n polygons.push(this.getSubLayerRow({polygon}, object, objectInfo.index));\n }\n }\n\n this.setState({polygons});\n }\n }\n\n renderLayers() {\n const {\n elevationScale,\n extruded,\n wireframe,\n filled,\n stroked,\n lineWidthScale,\n lineWidthMinPixels,\n lineWidthMaxPixels,\n lineJointRounded,\n lineMiterLimit,\n lineDashJustified,\n material,\n\n getFillColor,\n getLineColor,\n getLineWidth,\n getLineDashArray,\n getElevation,\n transitions,\n updateTriggers\n } = this.props;\n\n const SubLayerClass = this.getSubLayerClass('cluster-region', PolygonLayer);\n\n return new SubLayerClass(\n {\n filled,\n wireframe,\n\n extruded,\n elevationScale,\n\n stroked,\n lineWidthScale,\n lineWidthMinPixels,\n lineWidthMaxPixels,\n lineJointRounded,\n lineMiterLimit,\n lineDashJustified,\n\n material,\n transitions,\n\n getFillColor: this.getSubLayerAccessor(getFillColor),\n getLineColor: this.getSubLayerAccessor(getLineColor),\n getLineWidth: this.getSubLayerAccessor(getLineWidth),\n getLineDashArray: this.getSubLayerAccessor(getLineDashArray),\n getElevation: this.getSubLayerAccessor(getElevation)\n },\n this.getSubLayerProps({\n id: 'cluster-region',\n updateTriggers\n }),\n {\n data: this.state.polygons,\n getPolygon: d => d.polygon\n }\n );\n }\n}\n\nH3ClusterLayer.defaultProps = defaultProps;\nH3ClusterLayer.layerName = 'H3ClusterLayer';\n"],"file":"h3-cluster-layer.js"}
|