@antv/l7-layers 2.9.36 → 2.9.37-alpha.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/es/Geometry/index.d.ts +0 -9
- package/es/Geometry/index.js +0 -13
- package/es/Geometry/models/billboard.d.ts +0 -9
- package/es/Geometry/models/billboard.js +0 -13
- package/es/Geometry/models/plane.d.ts +0 -9
- package/es/Geometry/models/plane.js +0 -13
- package/es/Geometry/models/sprite.d.ts +0 -9
- package/es/Geometry/models/sprite.js +0 -13
- package/es/canvas/index.d.ts +0 -9
- package/es/canvas/index.js +0 -13
- package/es/citybuliding/building.d.ts +0 -9
- package/es/citybuliding/building.js +0 -13
- package/es/core/BaseLayer.d.ts +2 -2
- package/es/core/BaseLayer.js +22 -13
- package/es/core/BaseModel.js +1 -0
- package/es/core/triangulation.d.ts +2 -0
- package/es/core/triangulation.js +2 -3
- package/es/glsl.d.ts +5 -0
- package/es/heatmap/index.d.ts +0 -9
- package/es/heatmap/index.js +0 -13
- package/es/heatmap/models/heatmap.js +1 -3
- package/es/image/index.d.ts +0 -9
- package/es/image/index.js +0 -13
- package/es/image/models/dataImage.d.ts +0 -9
- package/es/image/models/dataImage.js +1 -15
- package/es/image/models/image.d.ts +0 -9
- package/es/image/models/image.js +1 -15
- package/es/image/models/tileDataImage.d.ts +0 -9
- package/es/image/models/tileDataImage.js +1 -15
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/line/index.d.ts +0 -9
- package/es/line/index.js +0 -13
- package/es/line/models/great_circle.js +3 -3
- package/es/mask/index.d.ts +0 -9
- package/es/mask/index.js +0 -13
- package/es/plugins/DataMappingPlugin.js +2 -2
- package/es/plugins/DataSourcePlugin.js +1 -1
- package/es/plugins/FeatureScalePlugin.js +5 -3
- package/es/plugins/LayerModelPlugin.js +1 -1
- package/es/plugins/LightingPlugin.js +1 -1
- package/es/plugins/RegisterStyleAttributePlugin.js +8 -13
- package/es/plugins/UpdateStyleAttributePlugin.js +1 -1
- package/es/point/index.d.ts +0 -9
- package/es/point/index.js +0 -13
- package/es/point/models/earthFill.js +2 -2
- package/es/point/models/image.js +1 -1
- package/es/polygon/index.d.ts +0 -9
- package/es/polygon/index.js +0 -13
- package/es/polygon/models/ocean.js +1 -2
- package/es/polygon/models/water.js +1 -2
- package/es/raster/index.d.ts +0 -9
- package/es/raster/index.js +0 -13
- package/es/raster/models/raster.js +1 -2
- package/es/raster/models/rasterRgb.js +1 -2
- package/es/raster/models/rasterTile.js +1 -2
- package/es/raster/raster.d.ts +0 -9
- package/es/raster/raster.js +0 -13
- package/es/tile/interaction/TilePickService.d.ts +16 -0
- package/es/tile/{manager/tilePickerManager.js → interaction/TilePickService.js} +19 -84
- package/es/tile/interaction/getFeatureData.d.ts +0 -0
- package/es/tile/interaction/getFeatureData.js +0 -0
- package/es/tile/interaction/getRasterData.d.ts +4 -0
- package/es/tile/interaction/getRasterData.js +70 -0
- package/es/tile/interaction/utils.d.ts +11 -0
- package/es/tile/interaction/utils.js +97 -0
- package/es/tile/interface.d.ts +1 -2
- package/es/tile/manager/{baseTileManager.d.ts → base.d.ts} +8 -5
- package/es/tile/manager/{baseTileManager.js → base.js} +53 -14
- package/es/tile/manager/layerManager.d.ts +19 -0
- package/es/tile/manager/{tileLayerManager.js → layerManager.js} +75 -76
- package/es/tile/manager/{baseMapTileLayerManager.d.ts → mapLayerManager.d.ts} +2 -2
- package/es/tile/manager/{baseMapTileLayerManager.js → mapLayerManager.js} +4 -4
- package/es/tile/models/tileModel.js +4 -4
- package/es/tile/render/TileRenderService.d.ts +10 -0
- package/es/tile/render/TileRenderService.js +68 -0
- package/es/tile/{manager/tileConfigManager.d.ts → style/TileStyleService.d.ts} +2 -2
- package/es/tile/{manager/tileConfigManager.js → style/TileStyleService.js} +8 -11
- package/es/tile/style/constants.d.ts +13 -0
- package/es/tile/style/constants.js +17 -0
- package/es/tile/style/utils.d.ts +9 -0
- package/es/tile/style/utils.js +139 -0
- package/es/tile/tileFactory/base.d.ts +8 -7
- package/es/tile/tileFactory/base.js +116 -187
- package/es/tile/tileFactory/layers/rasterDataLayer.d.ts +11 -0
- package/es/tile/tileFactory/{rasterDataLayer.js → layers/rasterDataLayer.js} +3 -16
- package/es/tile/{tileTest.d.ts → tileFactory/layers/tileTest.d.ts} +2 -2
- package/es/tile/{tileTest.js → tileFactory/layers/tileTest.js} +2 -2
- package/es/tile/tileFactory/{vectorLayer.d.ts → layers/vectorLayer.d.ts} +9 -17
- package/es/tile/tileFactory/{vectorLayer.js → layers/vectorLayer.js} +9 -20
- package/es/tile/tileFactory/line.js +0 -3
- package/es/tile/tileFactory/mask.js +0 -3
- package/es/tile/tileFactory/point.js +0 -3
- package/es/tile/tileFactory/polygon.js +0 -3
- package/es/tile/tileFactory/raster.js +0 -3
- package/es/tile/tileFactory/rasterData.js +2 -7
- package/es/tile/tileFactory/test.js +1 -12
- package/es/tile/tileLayer/MapTileLayer.d.ts +6 -0
- package/es/tile/tileLayer/MapTileLayer.js +48 -0
- package/es/tile/tileLayer/TileLayer.d.ts +22 -0
- package/es/tile/tileLayer/TileLayer.js +198 -0
- package/es/tile/tileLayer/{baseMapTileLayer.d.ts → base.d.ts} +19 -16
- package/es/tile/tileLayer/{baseMapTileLayer.js → base.js} +118 -101
- package/es/tile/utils.d.ts +7 -4
- package/es/tile/utils.js +14 -74
- package/es/utils/dataMappingStyle.js +0 -3
- package/es/utils/extrude_polyline.d.ts +1 -0
- package/es/utils/extrude_polyline.js +5 -3
- package/es/utils/multiPassRender.js +0 -1
- package/es/wind/index.d.ts +0 -9
- package/es/wind/index.js +0 -13
- package/es/wind/models/wind.d.ts +0 -9
- package/es/wind/models/wind.js +1 -15
- package/lib/Geometry/index.js +0 -13
- package/lib/Geometry/models/billboard.js +0 -13
- package/lib/Geometry/models/plane.js +0 -13
- package/lib/Geometry/models/sprite.js +0 -13
- package/lib/canvas/index.js +0 -13
- package/lib/citybuliding/building.js +0 -13
- package/lib/core/BaseLayer.js +22 -13
- package/lib/core/BaseModel.js +1 -0
- package/lib/core/triangulation.js +2 -1
- package/lib/glsl.d.ts +5 -0
- package/lib/heatmap/index.js +0 -13
- package/lib/heatmap/models/heatmap.js +1 -3
- package/lib/image/index.js +0 -13
- package/lib/image/models/dataImage.js +1 -15
- package/lib/image/models/image.js +1 -15
- package/lib/image/models/tileDataImage.js +1 -15
- package/lib/index.js +1 -1
- package/lib/line/index.js +0 -13
- package/lib/line/models/great_circle.js +3 -3
- package/lib/mask/index.js +0 -13
- package/lib/plugins/DataMappingPlugin.js +2 -2
- package/lib/plugins/DataSourcePlugin.js +1 -1
- package/lib/plugins/FeatureScalePlugin.js +5 -3
- package/lib/plugins/LayerModelPlugin.js +1 -1
- package/lib/plugins/LightingPlugin.js +1 -1
- package/lib/plugins/RegisterStyleAttributePlugin.js +9 -13
- package/lib/plugins/UpdateStyleAttributePlugin.js +1 -1
- package/lib/point/index.js +0 -13
- package/lib/point/models/earthFill.js +2 -2
- package/lib/point/models/image.js +1 -1
- package/lib/polygon/index.js +0 -13
- package/lib/polygon/models/ocean.js +1 -2
- package/lib/polygon/models/water.js +1 -2
- package/lib/raster/index.js +0 -13
- package/lib/raster/models/raster.js +1 -2
- package/lib/raster/models/rasterRgb.js +1 -2
- package/lib/raster/models/rasterTile.js +1 -2
- package/lib/raster/raster.js +0 -13
- package/lib/tile/{manager/tilePickerManager.js → interaction/TilePickService.js} +20 -82
- package/lib/tile/interaction/getFeatureData.js +1 -0
- package/lib/tile/interaction/getRasterData.js +83 -0
- package/lib/tile/interaction/utils.js +120 -0
- package/lib/tile/manager/{baseTileManager.js → base.js} +56 -16
- package/lib/tile/manager/{tileLayerManager.js → layerManager.js} +77 -75
- package/lib/tile/manager/{baseMapTileLayerManager.js → mapLayerManager.js} +4 -4
- package/lib/tile/models/tileModel.js +4 -4
- package/lib/tile/render/TileRenderService.js +78 -0
- package/lib/tile/{manager/tileConfigManager.js → style/TileStyleService.js} +9 -9
- package/lib/tile/style/constants.js +26 -0
- package/lib/tile/style/utils.js +163 -0
- package/lib/tile/tileFactory/base.js +117 -187
- package/lib/tile/tileFactory/{rasterDataLayer.js → layers/rasterDataLayer.js} +3 -16
- package/lib/tile/{tileTest.js → tileFactory/layers/tileTest.js} +2 -2
- package/lib/tile/tileFactory/{vectorLayer.js → layers/vectorLayer.js} +8 -20
- package/lib/tile/tileFactory/line.js +0 -3
- package/lib/tile/tileFactory/mask.js +0 -3
- package/lib/tile/tileFactory/point.js +0 -3
- package/lib/tile/tileFactory/polygon.js +0 -3
- package/lib/tile/tileFactory/raster.js +0 -3
- package/lib/tile/tileFactory/rasterData.js +2 -8
- package/lib/tile/tileFactory/test.js +1 -13
- package/lib/tile/tileLayer/MapTileLayer.js +63 -0
- package/lib/tile/tileLayer/TileLayer.js +215 -0
- package/lib/tile/tileLayer/{baseMapTileLayer.js → base.js} +119 -96
- package/lib/tile/utils.js +19 -86
- package/lib/utils/dataMappingStyle.js +0 -3
- package/lib/utils/extrude_polyline.js +5 -2
- package/lib/utils/multiPassRender.js +0 -1
- package/lib/wind/index.js +0 -13
- package/lib/wind/models/wind.js +1 -15
- package/package.json +6 -6
- package/es/tile/manager/tileLayerManager.d.ts +0 -15
- package/es/tile/manager/tilePickerManager.d.ts +0 -21
- package/es/tile/tileFactory/rasterDataLayer.d.ts +0 -20
- package/es/tile/tileLayer/baseTileLayer.d.ts +0 -48
- package/es/tile/tileLayer/baseTileLayer.js +0 -420
- package/es/tile/tmsMapTileLayer.d.ts +0 -7
- package/es/tile/tmsMapTileLayer.js +0 -97
- package/es/tile/tmsTileLayer.d.ts +0 -7
- package/es/tile/tmsTileLayer.js +0 -101
- package/lib/tile/tileLayer/baseTileLayer.js +0 -429
- package/lib/tile/tmsMapTileLayer.js +0 -114
- package/lib/tile/tmsTileLayer.js +0 -118
package/lib/line/index.js
CHANGED
|
@@ -88,19 +88,6 @@ var LineLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
88
88
|
_this3.dispatchModelLoad(models);
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
|
-
}, {
|
|
92
|
-
key: "getConfigSchema",
|
|
93
|
-
value: function getConfigSchema() {
|
|
94
|
-
return {
|
|
95
|
-
properties: {
|
|
96
|
-
opacity: {
|
|
97
|
-
type: 'number',
|
|
98
|
-
minimum: 0,
|
|
99
|
-
maximum: 1
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
91
|
}, {
|
|
105
92
|
key: "getDefaultConfig",
|
|
106
93
|
value: function getDefaultConfig() {
|
|
@@ -250,7 +250,7 @@ var GreatCircleModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
250
250
|
type: _l7Core.gl.FLOAT
|
|
251
251
|
},
|
|
252
252
|
size: 1,
|
|
253
|
-
update: function update(feature
|
|
253
|
+
update: function update(feature) {
|
|
254
254
|
var _feature$size = feature.size,
|
|
255
255
|
size = _feature$size === void 0 ? 1 : _feature$size;
|
|
256
256
|
return Array.isArray(size) ? [size[0]] : [size];
|
|
@@ -269,7 +269,7 @@ var GreatCircleModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
269
269
|
type: _l7Core.gl.FLOAT
|
|
270
270
|
},
|
|
271
271
|
size: 4,
|
|
272
|
-
update: function update(feature, featureIdx, vertex
|
|
272
|
+
update: function update(feature, featureIdx, vertex) {
|
|
273
273
|
return [vertex[3], vertex[4], vertex[5], vertex[6]];
|
|
274
274
|
}
|
|
275
275
|
}
|
|
@@ -286,7 +286,7 @@ var GreatCircleModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
286
286
|
type: _l7Core.gl.FLOAT
|
|
287
287
|
},
|
|
288
288
|
size: 2,
|
|
289
|
-
update: function update(feature
|
|
289
|
+
update: function update(feature) {
|
|
290
290
|
var iconMap = _this2.iconService.getIconMap();
|
|
291
291
|
|
|
292
292
|
var texture = feature.texture; // console.log('icon feature', feature)
|
package/lib/mask/index.js
CHANGED
|
@@ -145,19 +145,6 @@ var MaskLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
145
145
|
_this4.dispatchModelLoad(models);
|
|
146
146
|
});
|
|
147
147
|
}
|
|
148
|
-
}, {
|
|
149
|
-
key: "getConfigSchema",
|
|
150
|
-
value: function getConfigSchema() {
|
|
151
|
-
return {
|
|
152
|
-
properties: {
|
|
153
|
-
opacity: {
|
|
154
|
-
type: 'number',
|
|
155
|
-
minimum: 0,
|
|
156
|
-
maximum: 1
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
148
|
}, {
|
|
162
149
|
key: "getModelType",
|
|
163
150
|
value: function getModelType() {
|
|
@@ -57,7 +57,7 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
|
|
|
57
57
|
styleAttributeService: styleAttributeService
|
|
58
58
|
});
|
|
59
59
|
} else {
|
|
60
|
-
source.once('
|
|
60
|
+
source.once('update', function () {
|
|
61
61
|
_this.generateMaping(layer, {
|
|
62
62
|
styleAttributeService: styleAttributeService
|
|
63
63
|
});
|
|
@@ -73,7 +73,7 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
|
|
|
73
73
|
styleAttributeService: styleAttributeService
|
|
74
74
|
});
|
|
75
75
|
} else {
|
|
76
|
-
source.once('
|
|
76
|
+
source.once('update', function () {
|
|
77
77
|
_this.generateMaping(layer, {
|
|
78
78
|
styleAttributeService: styleAttributeService
|
|
79
79
|
});
|
|
@@ -48,7 +48,7 @@ var DataSourcePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__
|
|
|
48
48
|
if (source.inited) {
|
|
49
49
|
_this.updateClusterData(layer);
|
|
50
50
|
} else {
|
|
51
|
-
source.once('
|
|
51
|
+
source.once('update', function () {
|
|
52
52
|
_this.updateClusterData(layer);
|
|
53
53
|
});
|
|
54
54
|
}
|
|
@@ -57,7 +57,7 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
|
|
|
57
57
|
if (source.inited) {
|
|
58
58
|
callback(source.data);
|
|
59
59
|
} else {
|
|
60
|
-
source.once('
|
|
60
|
+
source.once('update', function () {
|
|
61
61
|
callback(source.data);
|
|
62
62
|
});
|
|
63
63
|
}
|
|
@@ -144,7 +144,8 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
|
|
|
144
144
|
attributes.forEach(function (attribute) {
|
|
145
145
|
if (attribute.scale) {
|
|
146
146
|
// 创建Scale
|
|
147
|
-
var attributeScale = attribute.scale;
|
|
147
|
+
var attributeScale = attribute.scale; // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
148
|
+
|
|
148
149
|
attributeScale.names = _this2.parseFields(attribute.scale.field || []);
|
|
149
150
|
var scales = []; // 为每个字段创建 Scale
|
|
150
151
|
|
|
@@ -262,7 +263,8 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
|
|
|
262
263
|
}
|
|
263
264
|
|
|
264
265
|
return styleScale;
|
|
265
|
-
}
|
|
266
|
+
} // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
267
|
+
|
|
266
268
|
|
|
267
269
|
var firstValue = (_find = data.find(function (d) {
|
|
268
270
|
return !(0, _lodash.isNil)(d[field]);
|
|
@@ -69,7 +69,7 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
|
|
|
69
69
|
if (source.inited) {
|
|
70
70
|
_this.prepareLayerModel(layer);
|
|
71
71
|
} else {
|
|
72
|
-
source.once('
|
|
72
|
+
source.once('update', function () {
|
|
73
73
|
_this.prepareLayerModel(layer);
|
|
74
74
|
});
|
|
75
75
|
}
|
|
@@ -72,7 +72,7 @@ function generateLightingUniforms(lights) {
|
|
|
72
72
|
lights = [DEFAULT_LIGHT];
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
lights.forEach(function (_ref
|
|
75
|
+
lights.forEach(function (_ref) {
|
|
76
76
|
var _ref$type = _ref.type,
|
|
77
77
|
type = _ref$type === void 0 ? 'directional' : _ref$type,
|
|
78
78
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
@@ -17,6 +17,8 @@ var _inversify = require("inversify");
|
|
|
17
17
|
|
|
18
18
|
require("reflect-metadata");
|
|
19
19
|
|
|
20
|
+
var _utils = require("../tile/utils");
|
|
21
|
+
|
|
20
22
|
var _dec, _class;
|
|
21
23
|
|
|
22
24
|
var RegisterStyleAttributePlugin = (
|
|
@@ -35,32 +37,26 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
|
|
|
35
37
|
|
|
36
38
|
var styleAttributeService = _ref.styleAttributeService;
|
|
37
39
|
layer.hooks.init.tap('RegisterStyleAttributePlugin', function () {
|
|
40
|
+
// 过滤 tileGroup layer (瓦片图层不需要注册)
|
|
41
|
+
if ((0, _utils.isTileGroup)(layer)) return;
|
|
42
|
+
|
|
38
43
|
_this.registerBuiltinAttributes(styleAttributeService, layer);
|
|
39
44
|
});
|
|
40
45
|
}
|
|
41
46
|
}, {
|
|
42
47
|
key: "registerBuiltinAttributes",
|
|
43
48
|
value: function registerBuiltinAttributes(styleAttributeService, layer) {
|
|
44
|
-
//
|
|
45
|
-
var source = layer.getSource();
|
|
46
|
-
|
|
47
|
-
switch (source.parser.type) {
|
|
48
|
-
case 'mvt':
|
|
49
|
-
case 'testTile':
|
|
50
|
-
case 'rasterTile':
|
|
51
|
-
// layer 仅作为 group 使用
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
|
|
49
|
+
// MaskLayer 只需要注册 a_Position
|
|
55
50
|
if (layer.type === 'MaskLayer') {
|
|
56
51
|
this.registerPositionAttribute(styleAttributeService);
|
|
57
52
|
return;
|
|
58
|
-
}
|
|
53
|
+
} // 用途为 basemap 的 Layer 也只需要注册 a_Position
|
|
54
|
+
|
|
59
55
|
|
|
60
56
|
var _layer$getLayerConfig = layer.getLayerConfig(),
|
|
61
57
|
usage = _layer$getLayerConfig.usage;
|
|
62
58
|
|
|
63
|
-
if (usage === 'basemap
|
|
59
|
+
if (usage === 'basemap') {
|
|
64
60
|
this.registerPositionAttribute(styleAttributeService);
|
|
65
61
|
return;
|
|
66
62
|
}
|
|
@@ -70,7 +70,7 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
|
|
|
70
70
|
}).forEach(function (attribute) {
|
|
71
71
|
// 精确更新某个/某些 feature(s),需要传入 featureIdx d
|
|
72
72
|
styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(), // 获取经过 mapping 最新的数据
|
|
73
|
-
attribute.featureRange.startIndex, attribute.featureRange.endIndex);
|
|
73
|
+
attribute.featureRange.startIndex, attribute.featureRange.endIndex, layer);
|
|
74
74
|
attribute.needRegenerateVertices = false;
|
|
75
75
|
});
|
|
76
76
|
}
|
package/lib/point/index.js
CHANGED
|
@@ -130,19 +130,6 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
130
130
|
|
|
131
131
|
return 'normal';
|
|
132
132
|
}
|
|
133
|
-
}, {
|
|
134
|
-
key: "getConfigSchema",
|
|
135
|
-
value: function getConfigSchema() {
|
|
136
|
-
return {
|
|
137
|
-
properties: {
|
|
138
|
-
opacity: {
|
|
139
|
-
type: 'number',
|
|
140
|
-
minimum: 0,
|
|
141
|
-
maximum: 1
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
133
|
}, {
|
|
147
134
|
key: "getDefaultConfig",
|
|
148
135
|
value: function getDefaultConfig() {
|
|
@@ -254,7 +254,7 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
254
254
|
type: _l7Core.gl.FLOAT
|
|
255
255
|
},
|
|
256
256
|
size: 1,
|
|
257
|
-
update: function update(feature
|
|
257
|
+
update: function update(feature) {
|
|
258
258
|
var _feature$size = feature.size,
|
|
259
259
|
size = _feature$size === void 0 ? 5 : _feature$size;
|
|
260
260
|
return Array.isArray(size) ? [size[0]] : [size];
|
|
@@ -274,7 +274,7 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
274
274
|
type: _l7Core.gl.FLOAT
|
|
275
275
|
},
|
|
276
276
|
size: 1,
|
|
277
|
-
update: function update(feature
|
|
277
|
+
update: function update(feature) {
|
|
278
278
|
var _feature$shape = feature.shape,
|
|
279
279
|
shape = _feature$shape === void 0 ? 2 : _feature$shape;
|
|
280
280
|
|
|
@@ -231,7 +231,7 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
231
231
|
type: _l7Core.gl.FLOAT
|
|
232
232
|
},
|
|
233
233
|
size: 2,
|
|
234
|
-
update: function update(feature
|
|
234
|
+
update: function update(feature) {
|
|
235
235
|
var iconMap = _this2.iconService.getIconMap();
|
|
236
236
|
|
|
237
237
|
var shape = feature.shape;
|
package/lib/polygon/index.js
CHANGED
|
@@ -70,19 +70,6 @@ var PolygonLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
70
70
|
_this3.dispatchModelLoad(models);
|
|
71
71
|
});
|
|
72
72
|
}
|
|
73
|
-
}, {
|
|
74
|
-
key: "getConfigSchema",
|
|
75
|
-
value: function getConfigSchema() {
|
|
76
|
-
return {
|
|
77
|
-
properties: {
|
|
78
|
-
opacity: {
|
|
79
|
-
type: 'number',
|
|
80
|
-
minimum: 0,
|
|
81
|
-
maximum: 1
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
73
|
}, {
|
|
87
74
|
key: "getModelType",
|
|
88
75
|
value: function getModelType() {
|
|
@@ -102,8 +102,7 @@ var OceanModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
102
102
|
depth: {
|
|
103
103
|
enable: false
|
|
104
104
|
},
|
|
105
|
-
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
106
|
-
pick: false
|
|
105
|
+
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
107
106
|
}).then(function (model) {
|
|
108
107
|
callbackModel([model]);
|
|
109
108
|
}).catch(function (err) {
|
|
@@ -97,8 +97,7 @@ var WaterModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
97
97
|
depth: {
|
|
98
98
|
enable: false
|
|
99
99
|
},
|
|
100
|
-
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
101
|
-
pick: false
|
|
100
|
+
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
102
101
|
}).then(function (model) {
|
|
103
102
|
callbackModel([model]);
|
|
104
103
|
}).catch(function (err) {
|
package/lib/raster/index.js
CHANGED
|
@@ -68,19 +68,6 @@ var RaterLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
68
68
|
_this3.dispatchModelLoad(models);
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
|
-
}, {
|
|
72
|
-
key: "getConfigSchema",
|
|
73
|
-
value: function getConfigSchema() {
|
|
74
|
-
return {
|
|
75
|
-
properties: {
|
|
76
|
-
opacity: {
|
|
77
|
-
type: 'number',
|
|
78
|
-
minimum: 0,
|
|
79
|
-
maximum: 1
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
71
|
}, {
|
|
85
72
|
key: "getDefaultConfig",
|
|
86
73
|
value: function getDefaultConfig() {
|
|
@@ -178,8 +178,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
178
178
|
depth: {
|
|
179
179
|
enable: false
|
|
180
180
|
},
|
|
181
|
-
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
182
|
-
pick: false
|
|
181
|
+
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
183
182
|
}).then(function (model) {
|
|
184
183
|
callbackModel([model]);
|
|
185
184
|
}).catch(function (err) {
|
|
@@ -177,8 +177,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
177
177
|
depth: {
|
|
178
178
|
enable: false
|
|
179
179
|
},
|
|
180
|
-
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
181
|
-
pick: false
|
|
180
|
+
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
182
181
|
}).then(function (model) {
|
|
183
182
|
callbackModel([model]);
|
|
184
183
|
}).catch(function (err) {
|
|
@@ -106,8 +106,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
106
106
|
depth: {
|
|
107
107
|
enable: false
|
|
108
108
|
},
|
|
109
|
-
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
110
|
-
pick: false
|
|
109
|
+
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
111
110
|
}).then(function (model) {
|
|
112
111
|
callbackModel([model]);
|
|
113
112
|
}).catch(function (err) {
|
package/lib/raster/raster.js
CHANGED
|
@@ -126,19 +126,6 @@ var RasterLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
126
126
|
});
|
|
127
127
|
return this;
|
|
128
128
|
}
|
|
129
|
-
}, {
|
|
130
|
-
key: "getConfigSchema",
|
|
131
|
-
value: function getConfigSchema() {
|
|
132
|
-
return {
|
|
133
|
-
properties: {
|
|
134
|
-
opacity: {
|
|
135
|
-
type: 'number',
|
|
136
|
-
minimum: 0,
|
|
137
|
-
maximum: 1
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
129
|
}, {
|
|
143
130
|
key: "buildRasterModel",
|
|
144
131
|
value: function buildRasterModel() {
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.TilePickService = void 0;
|
|
9
9
|
|
|
10
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
11
|
|
|
@@ -27,81 +27,41 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
27
27
|
|
|
28
28
|
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; } }
|
|
29
29
|
|
|
30
|
-
var
|
|
31
|
-
(0, _inherits2.default)(
|
|
30
|
+
var TilePickService = /*#__PURE__*/function (_EventEmitter) {
|
|
31
|
+
(0, _inherits2.default)(TilePickService, _EventEmitter);
|
|
32
32
|
|
|
33
|
-
var _super = _createSuper(
|
|
33
|
+
var _super = _createSuper(TilePickService);
|
|
34
34
|
|
|
35
|
-
function
|
|
35
|
+
function TilePickService(parent, rendererService, pickingService, children, tileRenderService) {
|
|
36
36
|
var _this;
|
|
37
37
|
|
|
38
|
-
(0, _classCallCheck2.default)(this,
|
|
38
|
+
(0, _classCallCheck2.default)(this, TilePickService);
|
|
39
39
|
_this = _super.call(this);
|
|
40
40
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isLastPicked", false);
|
|
41
41
|
_this.parent = parent;
|
|
42
42
|
_this.rendererService = rendererService;
|
|
43
43
|
_this.pickingService = pickingService;
|
|
44
44
|
_this.children = children;
|
|
45
|
+
_this.tileRenderService = tileRenderService;
|
|
45
46
|
return _this;
|
|
46
47
|
}
|
|
47
|
-
/**
|
|
48
|
-
*
|
|
49
|
-
* @param layers
|
|
50
|
-
*/
|
|
51
48
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
value: function normalRender(layers) {
|
|
49
|
+
(0, _createClass2.default)(TilePickService, [{
|
|
50
|
+
key: "pick",
|
|
51
|
+
value: function pick(layers, target) {
|
|
56
52
|
var _this2 = this;
|
|
57
53
|
|
|
58
|
-
layers.filter(function (layer) {
|
|
59
|
-
return layer.inited;
|
|
60
|
-
}).filter(function (layer) {
|
|
61
|
-
return layer.isVisible();
|
|
62
|
-
}).map(function (layer) {
|
|
63
|
-
layer.hooks.beforeRenderData.call();
|
|
64
|
-
layer.hooks.beforeRender.call();
|
|
65
|
-
|
|
66
|
-
if (layer.masks.length > 0) {
|
|
67
|
-
// 清除上一次的模版缓存
|
|
68
|
-
_this2.rendererService.clear({
|
|
69
|
-
stencil: 0,
|
|
70
|
-
depth: 1,
|
|
71
|
-
framebuffer: null
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
layer.masks.map(function (m) {
|
|
75
|
-
m.hooks.beforeRenderData.call();
|
|
76
|
-
m.hooks.beforeRender.call();
|
|
77
|
-
m.render();
|
|
78
|
-
m.hooks.afterRender.call();
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
layer.render();
|
|
83
|
-
layer.hooks.afterRender.call();
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
}, {
|
|
87
|
-
key: "pickRender",
|
|
88
|
-
value: function pickRender(layers, target) {
|
|
89
|
-
var _this3 = this;
|
|
90
|
-
|
|
91
54
|
// Tip: 在进行拾取渲染的时候也需要先渲染一遍父组件然后再渲染子组件
|
|
92
55
|
// 如需要在 栅格瓦片存在 Mask 的时候发生的拾取,那么就需要先渲染父组件(渲染父组件的帧缓冲)
|
|
93
|
-
|
|
94
|
-
this.renderMask(this.parent);
|
|
95
|
-
}
|
|
96
|
-
|
|
56
|
+
this.tileRenderService.renderMask(this.parent);
|
|
97
57
|
var isPicked = layers.filter(function (layer) {
|
|
98
|
-
return
|
|
58
|
+
return _this2.parent.needPick(target.type) && layer.inited && layer.isVisible();
|
|
99
59
|
}).some(function (layer) {
|
|
100
60
|
layer.hooks.beforePickingEncode.call();
|
|
101
61
|
|
|
102
62
|
if (layer.masks.length > 0) {
|
|
103
63
|
// 清除上一次的模版缓存
|
|
104
|
-
|
|
64
|
+
_this2.rendererService.clear({
|
|
105
65
|
stencil: 0,
|
|
106
66
|
depth: 1,
|
|
107
67
|
framebuffer: null
|
|
@@ -117,17 +77,17 @@ var TilePickManager = /*#__PURE__*/function (_EventEmitter) {
|
|
|
117
77
|
layer.renderModels(true);
|
|
118
78
|
layer.hooks.afterPickingEncode.call();
|
|
119
79
|
|
|
120
|
-
var layerPicked =
|
|
80
|
+
var layerPicked = _this2.pickingService.pickFromPickingFBO(layer, target); // RasterLayer 不参与拾取后的 shader 计算
|
|
121
81
|
|
|
122
82
|
|
|
123
|
-
if (layerPicked &&
|
|
124
|
-
|
|
83
|
+
if (layerPicked && _this2.parent.type !== 'RasterLayer') {
|
|
84
|
+
_this2.emit('pick', {
|
|
125
85
|
type: target.type,
|
|
126
|
-
pickedColors:
|
|
86
|
+
pickedColors: _this2.pickingService.pickedColors,
|
|
127
87
|
layer: layer
|
|
128
88
|
});
|
|
129
89
|
|
|
130
|
-
|
|
90
|
+
_this2.pickingService.pickedTileLayers = [_this2.parent];
|
|
131
91
|
}
|
|
132
92
|
|
|
133
93
|
return layerPicked;
|
|
@@ -171,35 +131,13 @@ var TilePickManager = /*#__PURE__*/function (_EventEmitter) {
|
|
|
171
131
|
layer.hooks.beforeSelect.call(pickedColors);
|
|
172
132
|
});
|
|
173
133
|
}
|
|
174
|
-
}, {
|
|
175
|
-
key: "renderMask",
|
|
176
|
-
value: function renderMask(layer) {
|
|
177
|
-
if (layer.inited && layer.isVisible()) {
|
|
178
|
-
layer.hooks.beforeRender.call();
|
|
179
|
-
|
|
180
|
-
if (layer.masks.length > 0) {
|
|
181
|
-
this.rendererService.clear({
|
|
182
|
-
stencil: 0,
|
|
183
|
-
depth: 1,
|
|
184
|
-
framebuffer: null
|
|
185
|
-
});
|
|
186
|
-
layer.masks.map(function (m) {
|
|
187
|
-
m.hooks.beforeRender.call();
|
|
188
|
-
m.render();
|
|
189
|
-
m.hooks.afterRender.call();
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
layer.hooks.afterRender.call();
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
134
|
}, {
|
|
197
135
|
key: "destroy",
|
|
198
136
|
value: function destroy() {
|
|
199
137
|
this.removeAllListeners();
|
|
200
138
|
}
|
|
201
139
|
}]);
|
|
202
|
-
return
|
|
140
|
+
return TilePickService;
|
|
203
141
|
}(_eventemitter.EventEmitter);
|
|
204
142
|
|
|
205
|
-
exports.
|
|
143
|
+
exports.TilePickService = TilePickService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.readPixel = readPixel;
|
|
9
|
+
exports.readRasterValue = readRasterValue;
|
|
10
|
+
|
|
11
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
|
+
|
|
13
|
+
var _l7Utils = require("@antv/l7-utils");
|
|
14
|
+
|
|
15
|
+
function readRasterValue(tile, mapService, x, y) {
|
|
16
|
+
var _tile$bboxPolygon, _tile$data, _tile$data2, _tile$data3;
|
|
17
|
+
|
|
18
|
+
var bbox = (tile === null || tile === void 0 ? void 0 : (_tile$bboxPolygon = tile.bboxPolygon) === null || _tile$bboxPolygon === void 0 ? void 0 : _tile$bboxPolygon.bbox) || [0, 0, 10, -10];
|
|
19
|
+
|
|
20
|
+
var _bbox = (0, _slicedToArray2.default)(bbox, 4),
|
|
21
|
+
_bbox$ = _bbox[0],
|
|
22
|
+
minLng = _bbox$ === void 0 ? 0 : _bbox$,
|
|
23
|
+
_bbox$2 = _bbox[1],
|
|
24
|
+
minLat = _bbox$2 === void 0 ? 0 : _bbox$2,
|
|
25
|
+
_bbox$3 = _bbox[2],
|
|
26
|
+
maxLng = _bbox$3 === void 0 ? 10 : _bbox$3,
|
|
27
|
+
_bbox$4 = _bbox[3],
|
|
28
|
+
maxLat = _bbox$4 === void 0 ? -10 : _bbox$4;
|
|
29
|
+
|
|
30
|
+
var tileXY = mapService.lngLatToContainer([minLng, minLat]);
|
|
31
|
+
var tileMaxXY = mapService.lngLatToContainer([maxLng, maxLat]);
|
|
32
|
+
var tilePixelWidth = tileMaxXY.x - tileXY.x;
|
|
33
|
+
var tilePixelHeight = tileXY.y - tileMaxXY.y;
|
|
34
|
+
var pos = [(x - tileXY.x) / tilePixelWidth, // x
|
|
35
|
+
(y - tileMaxXY.y) / tilePixelHeight // y
|
|
36
|
+
];
|
|
37
|
+
var tileWidth = (tile === null || tile === void 0 ? void 0 : (_tile$data = tile.data) === null || _tile$data === void 0 ? void 0 : _tile$data.width) || 1;
|
|
38
|
+
var tileHeight = (tile === null || tile === void 0 ? void 0 : (_tile$data2 = tile.data) === null || _tile$data2 === void 0 ? void 0 : _tile$data2.height) || 1;
|
|
39
|
+
var indexX = Math.floor(pos[0] * tileWidth);
|
|
40
|
+
var indexY = Math.floor(pos[1] * tileHeight);
|
|
41
|
+
var index = Math.max(0, indexY - 1) * tileWidth + indexX;
|
|
42
|
+
var data = tile === null || tile === void 0 ? void 0 : (_tile$data3 = tile.data) === null || _tile$data3 === void 0 ? void 0 : _tile$data3.data[index];
|
|
43
|
+
return data;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function readPixel(x, y, rendererService) {
|
|
47
|
+
var readPixels = rendererService.readPixels,
|
|
48
|
+
getContainer = rendererService.getContainer;
|
|
49
|
+
var xInDevicePixel = x * _l7Utils.DOM.DPR;
|
|
50
|
+
var yInDevicePixel = y * _l7Utils.DOM.DPR;
|
|
51
|
+
|
|
52
|
+
var _getContainerSize = getContainerSize(getContainer()),
|
|
53
|
+
width = _getContainerSize.width,
|
|
54
|
+
height = _getContainerSize.height;
|
|
55
|
+
|
|
56
|
+
width *= _l7Utils.DOM.DPR;
|
|
57
|
+
height *= _l7Utils.DOM.DPR;
|
|
58
|
+
|
|
59
|
+
if (xInDevicePixel > width - 1 * _l7Utils.DOM.DPR || xInDevicePixel < 0 || yInDevicePixel > height - 1 * _l7Utils.DOM.DPR || yInDevicePixel < 0) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
var pickedColors = readPixels({
|
|
64
|
+
x: Math.floor(xInDevicePixel),
|
|
65
|
+
// 视口坐标系原点在左上,而 WebGL 在左下,需要翻转 Y 轴
|
|
66
|
+
y: Math.floor(height - (y + 1) * _l7Utils.DOM.DPR),
|
|
67
|
+
width: 1,
|
|
68
|
+
height: 1,
|
|
69
|
+
data: new Uint8Array(1 * 1 * 4)
|
|
70
|
+
});
|
|
71
|
+
return pickedColors;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function getContainerSize(container) {
|
|
75
|
+
if (container.getContext) {
|
|
76
|
+
return {
|
|
77
|
+
width: container.width / _l7Utils.DOM.DPR,
|
|
78
|
+
height: container.height / _l7Utils.DOM.DPR
|
|
79
|
+
};
|
|
80
|
+
} else {
|
|
81
|
+
return container.getBoundingClientRect();
|
|
82
|
+
}
|
|
83
|
+
}
|