@antv/l7-layers 2.9.36 → 2.9.37

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.
Files changed (194) hide show
  1. package/es/Geometry/index.d.ts +0 -9
  2. package/es/Geometry/index.js +0 -13
  3. package/es/Geometry/models/billboard.d.ts +0 -9
  4. package/es/Geometry/models/billboard.js +0 -13
  5. package/es/Geometry/models/plane.d.ts +0 -9
  6. package/es/Geometry/models/plane.js +0 -13
  7. package/es/Geometry/models/sprite.d.ts +0 -9
  8. package/es/Geometry/models/sprite.js +0 -13
  9. package/es/canvas/index.d.ts +0 -9
  10. package/es/canvas/index.js +0 -13
  11. package/es/citybuliding/building.d.ts +0 -9
  12. package/es/citybuliding/building.js +0 -13
  13. package/es/core/BaseLayer.d.ts +2 -2
  14. package/es/core/BaseLayer.js +20 -13
  15. package/es/core/BaseModel.js +1 -0
  16. package/es/core/triangulation.d.ts +2 -0
  17. package/es/core/triangulation.js +2 -3
  18. package/es/heatmap/index.d.ts +0 -9
  19. package/es/heatmap/index.js +0 -13
  20. package/es/heatmap/models/heatmap.js +1 -3
  21. package/es/image/index.d.ts +0 -9
  22. package/es/image/index.js +0 -13
  23. package/es/image/models/dataImage.d.ts +0 -9
  24. package/es/image/models/dataImage.js +1 -15
  25. package/es/image/models/image.d.ts +0 -9
  26. package/es/image/models/image.js +1 -15
  27. package/es/image/models/tileDataImage.d.ts +0 -9
  28. package/es/image/models/tileDataImage.js +1 -15
  29. package/es/index.d.ts +1 -1
  30. package/es/index.js +1 -1
  31. package/es/line/index.d.ts +0 -9
  32. package/es/line/index.js +0 -13
  33. package/es/line/models/great_circle.js +3 -3
  34. package/es/mask/index.d.ts +0 -9
  35. package/es/mask/index.js +0 -13
  36. package/es/plugins/DataMappingPlugin.js +2 -2
  37. package/es/plugins/DataSourcePlugin.js +1 -1
  38. package/es/plugins/FeatureScalePlugin.js +5 -3
  39. package/es/plugins/LayerModelPlugin.js +1 -1
  40. package/es/plugins/LightingPlugin.js +1 -1
  41. package/es/plugins/RegisterStyleAttributePlugin.js +8 -13
  42. package/es/plugins/UpdateStyleAttributePlugin.js +1 -1
  43. package/es/point/index.d.ts +0 -9
  44. package/es/point/index.js +0 -13
  45. package/es/point/models/earthFill.js +2 -2
  46. package/es/point/models/image.js +1 -1
  47. package/es/polygon/index.d.ts +0 -9
  48. package/es/polygon/index.js +0 -13
  49. package/es/polygon/models/ocean.js +1 -2
  50. package/es/polygon/models/water.js +1 -2
  51. package/es/raster/index.d.ts +0 -9
  52. package/es/raster/index.js +0 -13
  53. package/es/raster/models/raster.js +1 -2
  54. package/es/raster/models/rasterRgb.js +1 -2
  55. package/es/raster/models/rasterTile.js +1 -2
  56. package/es/raster/raster.d.ts +0 -9
  57. package/es/raster/raster.js +0 -13
  58. package/es/tile/interaction/TilePickService.d.ts +16 -0
  59. package/es/tile/{manager/tilePickerManager.js → interaction/TilePickService.js} +19 -84
  60. package/es/tile/interaction/getFeatureData.d.ts +0 -0
  61. package/es/tile/interaction/getFeatureData.js +0 -0
  62. package/es/tile/interaction/getRasterData.d.ts +4 -0
  63. package/es/tile/interaction/getRasterData.js +70 -0
  64. package/es/tile/interaction/utils.d.ts +11 -0
  65. package/es/tile/interaction/utils.js +97 -0
  66. package/es/tile/interface.d.ts +1 -2
  67. package/es/tile/manager/{baseTileManager.d.ts → base.d.ts} +8 -5
  68. package/es/tile/manager/{baseTileManager.js → base.js} +53 -14
  69. package/es/tile/manager/layerManager.d.ts +19 -0
  70. package/es/tile/manager/{tileLayerManager.js → layerManager.js} +75 -76
  71. package/es/tile/manager/{baseMapTileLayerManager.d.ts → mapLayerManager.d.ts} +2 -2
  72. package/es/tile/manager/{baseMapTileLayerManager.js → mapLayerManager.js} +4 -4
  73. package/es/tile/models/tileModel.js +4 -4
  74. package/es/tile/render/TileRenderService.d.ts +10 -0
  75. package/es/tile/render/TileRenderService.js +68 -0
  76. package/es/tile/{manager/tileConfigManager.d.ts → style/TileStyleService.d.ts} +2 -2
  77. package/es/tile/{manager/tileConfigManager.js → style/TileStyleService.js} +8 -11
  78. package/es/tile/style/constants.d.ts +13 -0
  79. package/es/tile/style/constants.js +17 -0
  80. package/es/tile/style/utils.d.ts +9 -0
  81. package/es/tile/style/utils.js +139 -0
  82. package/es/tile/tileFactory/base.d.ts +8 -7
  83. package/es/tile/tileFactory/base.js +116 -187
  84. package/es/tile/tileFactory/layers/rasterDataLayer.d.ts +11 -0
  85. package/es/tile/tileFactory/{rasterDataLayer.js → layers/rasterDataLayer.js} +3 -16
  86. package/es/tile/{tileTest.d.ts → tileFactory/layers/tileTest.d.ts} +2 -2
  87. package/es/tile/{tileTest.js → tileFactory/layers/tileTest.js} +2 -2
  88. package/es/tile/tileFactory/{vectorLayer.d.ts → layers/vectorLayer.d.ts} +9 -17
  89. package/es/tile/tileFactory/{vectorLayer.js → layers/vectorLayer.js} +9 -20
  90. package/es/tile/tileFactory/line.js +0 -3
  91. package/es/tile/tileFactory/mask.js +0 -3
  92. package/es/tile/tileFactory/point.js +0 -3
  93. package/es/tile/tileFactory/polygon.js +0 -3
  94. package/es/tile/tileFactory/raster.js +0 -3
  95. package/es/tile/tileFactory/rasterData.js +2 -7
  96. package/es/tile/tileFactory/test.js +1 -12
  97. package/es/tile/tileLayer/MapTileLayer.d.ts +6 -0
  98. package/es/tile/tileLayer/MapTileLayer.js +48 -0
  99. package/es/tile/tileLayer/TileLayer.d.ts +22 -0
  100. package/es/tile/tileLayer/TileLayer.js +198 -0
  101. package/es/tile/tileLayer/{baseMapTileLayer.d.ts → base.d.ts} +19 -16
  102. package/es/tile/tileLayer/{baseMapTileLayer.js → base.js} +118 -101
  103. package/es/tile/utils.d.ts +7 -4
  104. package/es/tile/utils.js +14 -74
  105. package/es/utils/dataMappingStyle.js +0 -3
  106. package/es/utils/extrude_polyline.d.ts +1 -0
  107. package/es/utils/extrude_polyline.js +5 -3
  108. package/es/utils/multiPassRender.js +0 -1
  109. package/es/wind/index.d.ts +0 -9
  110. package/es/wind/index.js +0 -13
  111. package/es/wind/models/wind.d.ts +0 -9
  112. package/es/wind/models/wind.js +1 -15
  113. package/lib/Geometry/index.js +0 -13
  114. package/lib/Geometry/models/billboard.js +0 -13
  115. package/lib/Geometry/models/plane.js +0 -13
  116. package/lib/Geometry/models/sprite.js +0 -13
  117. package/lib/canvas/index.js +0 -13
  118. package/lib/citybuliding/building.js +0 -13
  119. package/lib/core/BaseLayer.js +20 -13
  120. package/lib/core/BaseModel.js +1 -0
  121. package/lib/core/triangulation.js +2 -1
  122. package/lib/heatmap/index.js +0 -13
  123. package/lib/heatmap/models/heatmap.js +1 -3
  124. package/lib/image/index.js +0 -13
  125. package/lib/image/models/dataImage.js +1 -15
  126. package/lib/image/models/image.js +1 -15
  127. package/lib/image/models/tileDataImage.js +1 -15
  128. package/lib/index.js +1 -1
  129. package/lib/line/index.js +0 -13
  130. package/lib/line/models/great_circle.js +3 -3
  131. package/lib/mask/index.js +0 -13
  132. package/lib/plugins/DataMappingPlugin.js +2 -2
  133. package/lib/plugins/DataSourcePlugin.js +1 -1
  134. package/lib/plugins/FeatureScalePlugin.js +5 -3
  135. package/lib/plugins/LayerModelPlugin.js +1 -1
  136. package/lib/plugins/LightingPlugin.js +1 -1
  137. package/lib/plugins/RegisterStyleAttributePlugin.js +9 -13
  138. package/lib/plugins/UpdateStyleAttributePlugin.js +1 -1
  139. package/lib/point/index.js +0 -13
  140. package/lib/point/models/earthFill.js +2 -2
  141. package/lib/point/models/image.js +1 -1
  142. package/lib/polygon/index.js +0 -13
  143. package/lib/polygon/models/ocean.js +1 -2
  144. package/lib/polygon/models/water.js +1 -2
  145. package/lib/raster/index.js +0 -13
  146. package/lib/raster/models/raster.js +1 -2
  147. package/lib/raster/models/rasterRgb.js +1 -2
  148. package/lib/raster/models/rasterTile.js +1 -2
  149. package/lib/raster/raster.js +0 -13
  150. package/lib/tile/{manager/tilePickerManager.js → interaction/TilePickService.js} +20 -82
  151. package/lib/tile/interaction/getFeatureData.js +1 -0
  152. package/lib/tile/interaction/getRasterData.js +83 -0
  153. package/lib/tile/interaction/utils.js +120 -0
  154. package/lib/tile/manager/{baseTileManager.js → base.js} +56 -16
  155. package/lib/tile/manager/{tileLayerManager.js → layerManager.js} +77 -75
  156. package/lib/tile/manager/{baseMapTileLayerManager.js → mapLayerManager.js} +4 -4
  157. package/lib/tile/models/tileModel.js +4 -4
  158. package/lib/tile/render/TileRenderService.js +78 -0
  159. package/lib/tile/{manager/tileConfigManager.js → style/TileStyleService.js} +9 -9
  160. package/lib/tile/style/constants.js +26 -0
  161. package/lib/tile/style/utils.js +163 -0
  162. package/lib/tile/tileFactory/base.js +117 -187
  163. package/lib/tile/tileFactory/{rasterDataLayer.js → layers/rasterDataLayer.js} +3 -16
  164. package/lib/tile/{tileTest.js → tileFactory/layers/tileTest.js} +2 -2
  165. package/lib/tile/tileFactory/{vectorLayer.js → layers/vectorLayer.js} +8 -20
  166. package/lib/tile/tileFactory/line.js +0 -3
  167. package/lib/tile/tileFactory/mask.js +0 -3
  168. package/lib/tile/tileFactory/point.js +0 -3
  169. package/lib/tile/tileFactory/polygon.js +0 -3
  170. package/lib/tile/tileFactory/raster.js +0 -3
  171. package/lib/tile/tileFactory/rasterData.js +2 -8
  172. package/lib/tile/tileFactory/test.js +1 -13
  173. package/lib/tile/tileLayer/MapTileLayer.js +63 -0
  174. package/lib/tile/tileLayer/TileLayer.js +215 -0
  175. package/lib/tile/tileLayer/{baseMapTileLayer.js → base.js} +119 -96
  176. package/lib/tile/utils.js +19 -86
  177. package/lib/utils/dataMappingStyle.js +0 -3
  178. package/lib/utils/extrude_polyline.js +5 -2
  179. package/lib/utils/multiPassRender.js +0 -1
  180. package/lib/wind/index.js +0 -13
  181. package/lib/wind/models/wind.js +1 -15
  182. package/package.json +6 -6
  183. package/es/tile/manager/tileLayerManager.d.ts +0 -15
  184. package/es/tile/manager/tilePickerManager.d.ts +0 -21
  185. package/es/tile/tileFactory/rasterDataLayer.d.ts +0 -20
  186. package/es/tile/tileLayer/baseTileLayer.d.ts +0 -48
  187. package/es/tile/tileLayer/baseTileLayer.js +0 -420
  188. package/es/tile/tmsMapTileLayer.d.ts +0 -7
  189. package/es/tile/tmsMapTileLayer.js +0 -97
  190. package/es/tile/tmsTileLayer.d.ts +0 -7
  191. package/es/tile/tmsTileLayer.js +0 -101
  192. package/lib/tile/tileLayer/baseTileLayer.js +0 -429
  193. package/lib/tile/tmsMapTileLayer.js +0 -114
  194. package/lib/tile/tmsTileLayer.js +0 -118
@@ -233,7 +233,7 @@ var GreatCircleModel = /*#__PURE__*/function (_BaseModel) {
233
233
  type: gl.FLOAT
234
234
  },
235
235
  size: 1,
236
- update: function update(feature, featureIdx, vertex, attributeIdx) {
236
+ update: function update(feature) {
237
237
  var _feature$size = feature.size,
238
238
  size = _feature$size === void 0 ? 1 : _feature$size;
239
239
  return Array.isArray(size) ? [size[0]] : [size];
@@ -252,7 +252,7 @@ var GreatCircleModel = /*#__PURE__*/function (_BaseModel) {
252
252
  type: gl.FLOAT
253
253
  },
254
254
  size: 4,
255
- update: function update(feature, featureIdx, vertex, attributeIdx) {
255
+ update: function update(feature, featureIdx, vertex) {
256
256
  return [vertex[3], vertex[4], vertex[5], vertex[6]];
257
257
  }
258
258
  }
@@ -269,7 +269,7 @@ var GreatCircleModel = /*#__PURE__*/function (_BaseModel) {
269
269
  type: gl.FLOAT
270
270
  },
271
271
  size: 2,
272
- update: function update(feature, featureIdx, vertex, attributeIdx) {
272
+ update: function update(feature) {
273
273
  var iconMap = _this2.iconService.getIconMap();
274
274
 
275
275
  var texture = feature.texture; // console.log('icon feature', feature)
@@ -14,14 +14,5 @@ export default class MaskLayer extends BaseLayer<IMaskLayerStyleOptions> {
14
14
  init(): this;
15
15
  buildModels(): void;
16
16
  rebuildModels(): void;
17
- protected getConfigSchema(): {
18
- properties: {
19
- opacity: {
20
- type: string;
21
- minimum: number;
22
- maximum: number;
23
- };
24
- };
25
- };
26
17
  protected getModelType(): MaskModelType;
27
18
  }
package/es/mask/index.js CHANGED
@@ -128,19 +128,6 @@ var MaskLayer = /*#__PURE__*/function (_BaseLayer) {
128
128
  _this4.dispatchModelLoad(models);
129
129
  });
130
130
  }
131
- }, {
132
- key: "getConfigSchema",
133
- value: function getConfigSchema() {
134
- return {
135
- properties: {
136
- opacity: {
137
- type: 'number',
138
- minimum: 0,
139
- maximum: 1
140
- }
141
- }
142
- };
143
- }
144
131
  }, {
145
132
  key: "getModelType",
146
133
  value: function getModelType() {
@@ -38,7 +38,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
38
38
  styleAttributeService: styleAttributeService
39
39
  });
40
40
  } else {
41
- source.once('sourceUpdate', function () {
41
+ source.once('update', function () {
42
42
  _this.generateMaping(layer, {
43
43
  styleAttributeService: styleAttributeService
44
44
  });
@@ -54,7 +54,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
54
54
  styleAttributeService: styleAttributeService
55
55
  });
56
56
  } else {
57
- source.once('sourceUpdate', function () {
57
+ source.once('update', function () {
58
58
  _this.generateMaping(layer, {
59
59
  styleAttributeService: styleAttributeService
60
60
  });
@@ -34,7 +34,7 @@ var DataSourcePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function
34
34
  if (source.inited) {
35
35
  _this.updateClusterData(layer);
36
36
  } else {
37
- source.once('sourceUpdate', function () {
37
+ source.once('update', function () {
38
38
  _this.updateClusterData(layer);
39
39
  });
40
40
  }
@@ -33,7 +33,7 @@ var FeatureScalePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/functi
33
33
  if (source.inited) {
34
34
  callback(source.data);
35
35
  } else {
36
- source.once('sourceUpdate', function () {
36
+ source.once('update', function () {
37
37
  callback(source.data);
38
38
  });
39
39
  }
@@ -120,7 +120,8 @@ var FeatureScalePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/functi
120
120
  attributes.forEach(function (attribute) {
121
121
  if (attribute.scale) {
122
122
  // 创建Scale
123
- var attributeScale = attribute.scale;
123
+ var attributeScale = attribute.scale; // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
124
+
124
125
  attributeScale.names = _this2.parseFields(attribute.scale.field || []);
125
126
  var scales = []; // 为每个字段创建 Scale
126
127
 
@@ -238,7 +239,8 @@ var FeatureScalePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/functi
238
239
  }
239
240
 
240
241
  return styleScale;
241
- }
242
+ } // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
243
+
242
244
 
243
245
  var firstValue = (_find = data.find(function (d) {
244
246
  return !isNil(d[field]);
@@ -57,7 +57,7 @@ var LayerModelPlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function
57
57
  if (source.inited) {
58
58
  _this.prepareLayerModel(layer);
59
59
  } else {
60
- source.once('sourceUpdate', function () {
60
+ source.once('update', function () {
61
61
  _this.prepareLayerModel(layer);
62
62
  });
63
63
  }
@@ -56,7 +56,7 @@ export function generateLightingUniforms(lights) {
56
56
  lights = [DEFAULT_LIGHT];
57
57
  }
58
58
 
59
- lights.forEach(function (_ref, i) {
59
+ lights.forEach(function (_ref) {
60
60
  var _ref$type = _ref.type,
61
61
  type = _ref$type === void 0 ? 'directional' : _ref$type,
62
62
  rest = _objectWithoutProperties(_ref, _excluded);
@@ -6,6 +6,7 @@ var _dec, _class;
6
6
  import { AttributeType, gl } from '@antv/l7-core';
7
7
  import { injectable } from 'inversify';
8
8
  import 'reflect-metadata';
9
+ import { isTileGroup } from "../tile/utils";
9
10
  /**
10
11
  * 在初始化阶段完成属性的注册,以及首次根据 Layer 指定的三角化方法完成 indices 和 attribute 的创建
11
12
  */
@@ -22,32 +23,26 @@ var RegisterStyleAttributePlugin = (_dec = injectable(), _dec(_class = /*#__PURE
22
23
 
23
24
  var styleAttributeService = _ref.styleAttributeService;
24
25
  layer.hooks.init.tap('RegisterStyleAttributePlugin', function () {
26
+ // 过滤 tileGroup layer (瓦片图层不需要注册)
27
+ if (isTileGroup(layer)) return;
28
+
25
29
  _this.registerBuiltinAttributes(styleAttributeService, layer);
26
30
  });
27
31
  }
28
32
  }, {
29
33
  key: "registerBuiltinAttributes",
30
34
  value: function registerBuiltinAttributes(styleAttributeService, layer) {
31
- // 过滤 tileGroup layer (瓦片图层)
32
- var source = layer.getSource();
33
-
34
- switch (source.parser.type) {
35
- case 'mvt':
36
- case 'testTile':
37
- case 'rasterTile':
38
- // layer 仅作为 group 使用
39
- return;
40
- }
41
-
35
+ // MaskLayer 只需要注册 a_Position
42
36
  if (layer.type === 'MaskLayer') {
43
37
  this.registerPositionAttribute(styleAttributeService);
44
38
  return;
45
- }
39
+ } // 用途为 basemap 的 Layer 也只需要注册 a_Position
40
+
46
41
 
47
42
  var _layer$getLayerConfig = layer.getLayerConfig(),
48
43
  usage = _layer$getLayerConfig.usage;
49
44
 
50
- if (usage === 'basemap ') {
45
+ if (usage === 'basemap') {
51
46
  this.registerPositionAttribute(styleAttributeService);
52
47
  return;
53
48
  }
@@ -58,7 +58,7 @@ var UpdateStyleAttributePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__
58
58
  }).forEach(function (attribute) {
59
59
  // 精确更新某个/某些 feature(s),需要传入 featureIdx d
60
60
  styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(), // 获取经过 mapping 最新的数据
61
- attribute.featureRange.startIndex, attribute.featureRange.endIndex);
61
+ attribute.featureRange.startIndex, attribute.featureRange.endIndex, layer);
62
62
  attribute.needRegenerateVertices = false;
63
63
  });
64
64
  }
@@ -20,15 +20,6 @@ export default class PointLayer extends BaseLayer<IPointLayerStyleOptions> {
20
20
  * @returns
21
21
  */
22
22
  getModelTypeWillEmptyData(): PointType;
23
- protected getConfigSchema(): {
24
- properties: {
25
- opacity: {
26
- type: string;
27
- minimum: number;
28
- maximum: number;
29
- };
30
- };
31
- };
32
23
  protected getDefaultConfig(): {} | {
33
24
  blend: string;
34
25
  } | {} | {} | {
package/es/point/index.js CHANGED
@@ -116,19 +116,6 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
116
116
 
117
117
  return 'normal';
118
118
  }
119
- }, {
120
- key: "getConfigSchema",
121
- value: function getConfigSchema() {
122
- return {
123
- properties: {
124
- opacity: {
125
- type: 'number',
126
- minimum: 0,
127
- maximum: 1
128
- }
129
- }
130
- };
131
- }
132
119
  }, {
133
120
  key: "getDefaultConfig",
134
121
  value: function getDefaultConfig() {
@@ -218,7 +218,7 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
218
218
  type: gl.FLOAT
219
219
  },
220
220
  size: 1,
221
- update: function update(feature, featureIdx, vertex, attributeIdx) {
221
+ update: function update(feature) {
222
222
  var _feature$size = feature.size,
223
223
  size = _feature$size === void 0 ? 5 : _feature$size;
224
224
  return Array.isArray(size) ? [size[0]] : [size];
@@ -238,7 +238,7 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
238
238
  type: gl.FLOAT
239
239
  },
240
240
  size: 1,
241
- update: function update(feature, featureIdx, vertex, attributeIdx) {
241
+ update: function update(feature) {
242
242
  var _feature$shape = feature.shape,
243
243
  shape = _feature$shape === void 0 ? 2 : _feature$shape;
244
244
 
@@ -214,7 +214,7 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
214
214
  type: gl.FLOAT
215
215
  },
216
216
  size: 2,
217
- update: function update(feature, featureIdx, vertex, attributeIdx) {
217
+ update: function update(feature) {
218
218
  var iconMap = _this2.iconService.getIconMap();
219
219
 
220
220
  var shape = feature.shape;
@@ -13,15 +13,6 @@ export default class PolygonLayer extends BaseLayer<IPolygonLayerStyleOptions> {
13
13
  };
14
14
  buildModels(): void;
15
15
  rebuildModels(): void;
16
- protected getConfigSchema(): {
17
- properties: {
18
- opacity: {
19
- type: string;
20
- minimum: number;
21
- maximum: number;
22
- };
23
- };
24
- };
25
16
  protected getModelType(): PolygonModelType;
26
17
  protected getPointModelType(): PolygonModelType;
27
18
  }
@@ -55,19 +55,6 @@ var PolygonLayer = /*#__PURE__*/function (_BaseLayer) {
55
55
  _this3.dispatchModelLoad(models);
56
56
  });
57
57
  }
58
- }, {
59
- key: "getConfigSchema",
60
- value: function getConfigSchema() {
61
- return {
62
- properties: {
63
- opacity: {
64
- type: 'number',
65
- minimum: 0,
66
- maximum: 1
67
- }
68
- }
69
- };
70
- }
71
58
  }, {
72
59
  key: "getModelType",
73
60
  value: function getModelType() {
@@ -84,8 +84,7 @@ var OceanModel = /*#__PURE__*/function (_BaseModel) {
84
84
  depth: {
85
85
  enable: false
86
86
  },
87
- stencil: getMask(mask, maskInside),
88
- pick: false
87
+ stencil: getMask(mask, maskInside)
89
88
  }).then(function (model) {
90
89
  callbackModel([model]);
91
90
  }).catch(function (err) {
@@ -79,8 +79,7 @@ var WaterModel = /*#__PURE__*/function (_BaseModel) {
79
79
  depth: {
80
80
  enable: false
81
81
  },
82
- stencil: getMask(mask, maskInside),
83
- pick: false
82
+ stencil: getMask(mask, maskInside)
84
83
  }).then(function (model) {
85
84
  callbackModel([model]);
86
85
  }).catch(function (err) {
@@ -5,15 +5,6 @@ export default class RaterLayer extends BaseLayer<IRasterLayerStyleOptions> {
5
5
  type: string;
6
6
  buildModels(): void;
7
7
  rebuildModels(): void;
8
- protected getConfigSchema(): {
9
- properties: {
10
- opacity: {
11
- type: string;
12
- minimum: number;
13
- maximum: number;
14
- };
15
- };
16
- };
17
8
  protected getDefaultConfig(): {} | {} | {} | {};
18
9
  protected getModelType(): RasterModelType;
19
10
  }
@@ -54,19 +54,6 @@ var RaterLayer = /*#__PURE__*/function (_BaseLayer) {
54
54
  _this3.dispatchModelLoad(models);
55
55
  });
56
56
  }
57
- }, {
58
- key: "getConfigSchema",
59
- value: function getConfigSchema() {
60
- return {
61
- properties: {
62
- opacity: {
63
- type: 'number',
64
- minimum: 0,
65
- maximum: 1
66
- }
67
- }
68
- };
69
- }
70
57
  }, {
71
58
  key: "getDefaultConfig",
72
59
  value: function getDefaultConfig() {
@@ -160,8 +160,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
160
160
  depth: {
161
161
  enable: false
162
162
  },
163
- stencil: getMask(mask, maskInside),
164
- pick: false
163
+ stencil: getMask(mask, maskInside)
165
164
  }).then(function (model) {
166
165
  callbackModel([model]);
167
166
  }).catch(function (err) {
@@ -161,8 +161,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
161
161
  depth: {
162
162
  enable: false
163
163
  },
164
- stencil: getMask(mask, maskInside),
165
- pick: false
164
+ stencil: getMask(mask, maskInside)
166
165
  }).then(function (model) {
167
166
  callbackModel([model]);
168
167
  }).catch(function (err) {
@@ -91,8 +91,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
91
91
  depth: {
92
92
  enable: false
93
93
  },
94
- stencil: getMask(mask, maskInside),
95
- pick: false
94
+ stencil: getMask(mask, maskInside)
96
95
  }).then(function (model) {
97
96
  callbackModel([model]);
98
97
  }).catch(function (err) {
@@ -16,15 +16,6 @@ export default class RasterLayer extends BaseLayer<IRasterLayerStyleOptions> {
16
16
  getAnimateUniforms(): IModelUniform;
17
17
  buildModels(): void;
18
18
  renderModels(): this;
19
- protected getConfigSchema(): {
20
- properties: {
21
- opacity: {
22
- type: string;
23
- minimum: number;
24
- maximum: number;
25
- };
26
- };
27
- };
28
19
  private buildRasterModel;
29
20
  }
30
21
  export {};
@@ -108,19 +108,6 @@ var RasterLayer = /*#__PURE__*/function (_BaseLayer) {
108
108
  });
109
109
  return this;
110
110
  }
111
- }, {
112
- key: "getConfigSchema",
113
- value: function getConfigSchema() {
114
- return {
115
- properties: {
116
- opacity: {
117
- type: 'number',
118
- minimum: 0,
119
- maximum: 1
120
- }
121
- }
122
- };
123
- }
124
111
  }, {
125
112
  key: "buildRasterModel",
126
113
  value: function buildRasterModel() {
@@ -0,0 +1,16 @@
1
+ import { ILayer, IPickingService, IRendererService, IInteractionTarget, ITileRenderService } from '@antv/l7-core';
2
+ import { EventEmitter } from 'eventemitter3';
3
+ export declare class TilePickService extends EventEmitter {
4
+ isLastPicked: boolean;
5
+ private rendererService;
6
+ private pickingService;
7
+ private children;
8
+ private parent;
9
+ private tileRenderService;
10
+ constructor(parent: ILayer, rendererService: IRendererService, pickingService: IPickingService, children: ILayer[], tileRenderService: ITileRenderService);
11
+ pick(layers: ILayer[], target: IInteractionTarget): boolean;
12
+ clearPick(): void;
13
+ beforeHighlight(pickedColors: any): void;
14
+ beforeSelect(pickedColors: any): void;
15
+ destroy(): void;
16
+ }
@@ -11,16 +11,15 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
11
11
  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; } }
12
12
 
13
13
  import { EventEmitter } from 'eventemitter3';
14
+ export var TilePickService = /*#__PURE__*/function (_EventEmitter) {
15
+ _inherits(TilePickService, _EventEmitter);
14
16
 
15
- var TilePickManager = /*#__PURE__*/function (_EventEmitter) {
16
- _inherits(TilePickManager, _EventEmitter);
17
+ var _super = _createSuper(TilePickService);
17
18
 
18
- var _super = _createSuper(TilePickManager);
19
-
20
- function TilePickManager(parent, rendererService, pickingService, children) {
19
+ function TilePickService(parent, rendererService, pickingService, children, tileRenderService) {
21
20
  var _this;
22
21
 
23
- _classCallCheck(this, TilePickManager);
22
+ _classCallCheck(this, TilePickService);
24
23
 
25
24
  _this = _super.call(this);
26
25
 
@@ -30,66 +29,26 @@ var TilePickManager = /*#__PURE__*/function (_EventEmitter) {
30
29
  _this.rendererService = rendererService;
31
30
  _this.pickingService = pickingService;
32
31
  _this.children = children;
32
+ _this.tileRenderService = tileRenderService;
33
33
  return _this;
34
34
  }
35
- /**
36
- *
37
- * @param layers
38
- */
39
-
40
35
 
41
- _createClass(TilePickManager, [{
42
- key: "normalRender",
43
- value: function normalRender(layers) {
36
+ _createClass(TilePickService, [{
37
+ key: "pick",
38
+ value: function pick(layers, target) {
44
39
  var _this2 = this;
45
40
 
46
- layers.filter(function (layer) {
47
- return layer.inited;
48
- }).filter(function (layer) {
49
- return layer.isVisible();
50
- }).map(function (layer) {
51
- layer.hooks.beforeRenderData.call();
52
- layer.hooks.beforeRender.call();
53
-
54
- if (layer.masks.length > 0) {
55
- // 清除上一次的模版缓存
56
- _this2.rendererService.clear({
57
- stencil: 0,
58
- depth: 1,
59
- framebuffer: null
60
- });
61
-
62
- layer.masks.map(function (m) {
63
- m.hooks.beforeRenderData.call();
64
- m.hooks.beforeRender.call();
65
- m.render();
66
- m.hooks.afterRender.call();
67
- });
68
- }
69
-
70
- layer.render();
71
- layer.hooks.afterRender.call();
72
- });
73
- }
74
- }, {
75
- key: "pickRender",
76
- value: function pickRender(layers, target) {
77
- var _this3 = this;
78
-
79
41
  // Tip: 在进行拾取渲染的时候也需要先渲染一遍父组件然后再渲染子组件
80
42
  // 如需要在 栅格瓦片存在 Mask 的时候发生的拾取,那么就需要先渲染父组件(渲染父组件的帧缓冲)
81
- if (this.parent.type === 'RasterLayer') {
82
- this.renderMask(this.parent);
83
- }
84
-
43
+ this.tileRenderService.renderMask(this.parent);
85
44
  var isPicked = layers.filter(function (layer) {
86
- return _this3.parent.needPick(target.type) && layer.inited && layer.isVisible();
45
+ return _this2.parent.needPick(target.type) && layer.inited && layer.isVisible();
87
46
  }).some(function (layer) {
88
47
  layer.hooks.beforePickingEncode.call();
89
48
 
90
49
  if (layer.masks.length > 0) {
91
50
  // 清除上一次的模版缓存
92
- _this3.rendererService.clear({
51
+ _this2.rendererService.clear({
93
52
  stencil: 0,
94
53
  depth: 1,
95
54
  framebuffer: null
@@ -105,17 +64,17 @@ var TilePickManager = /*#__PURE__*/function (_EventEmitter) {
105
64
  layer.renderModels(true);
106
65
  layer.hooks.afterPickingEncode.call();
107
66
 
108
- var layerPicked = _this3.pickingService.pickFromPickingFBO(layer, target); // RasterLayer 不参与拾取后的 shader 计算
67
+ var layerPicked = _this2.pickingService.pickFromPickingFBO(layer, target); // RasterLayer 不参与拾取后的 shader 计算
109
68
 
110
69
 
111
- if (layerPicked && _this3.parent.type !== 'RasterLayer') {
112
- _this3.emit('pick', {
70
+ if (layerPicked && _this2.parent.type !== 'RasterLayer') {
71
+ _this2.emit('pick', {
113
72
  type: target.type,
114
- pickedColors: _this3.pickingService.pickedColors,
73
+ pickedColors: _this2.pickingService.pickedColors,
115
74
  layer: layer
116
75
  });
117
76
 
118
- _this3.pickingService.pickedTileLayers = [_this3.parent];
77
+ _this2.pickingService.pickedTileLayers = [_this2.parent];
119
78
  }
120
79
 
121
80
  return layerPicked;
@@ -159,28 +118,6 @@ var TilePickManager = /*#__PURE__*/function (_EventEmitter) {
159
118
  layer.hooks.beforeSelect.call(pickedColors);
160
119
  });
161
120
  }
162
- }, {
163
- key: "renderMask",
164
- value: function renderMask(layer) {
165
- if (layer.inited && layer.isVisible()) {
166
- layer.hooks.beforeRender.call();
167
-
168
- if (layer.masks.length > 0) {
169
- this.rendererService.clear({
170
- stencil: 0,
171
- depth: 1,
172
- framebuffer: null
173
- });
174
- layer.masks.map(function (m) {
175
- m.hooks.beforeRender.call();
176
- m.render();
177
- m.hooks.afterRender.call();
178
- });
179
- }
180
-
181
- layer.hooks.afterRender.call();
182
- }
183
- }
184
121
  }, {
185
122
  key: "destroy",
186
123
  value: function destroy() {
@@ -188,7 +125,5 @@ var TilePickManager = /*#__PURE__*/function (_EventEmitter) {
188
125
  }
189
126
  }]);
190
127
 
191
- return TilePickManager;
192
- }(EventEmitter);
193
-
194
- export { TilePickManager as default };
128
+ return TilePickService;
129
+ }(EventEmitter);
File without changes
File without changes
@@ -0,0 +1,4 @@
1
+ import { IMapService, IRendererService } from '@antv/l7-core';
2
+ import { Tile } from '@antv/l7-utils';
3
+ export declare function readRasterValue(tile: Tile, mapService: IMapService, x: number, y: number): any;
4
+ export declare function readPixel(x: number, y: number, rendererService: IRendererService): false | Uint8Array;