@antv/l7-layers 2.9.15 → 2.9.16

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 (218) hide show
  1. package/LICENSE.md +1 -1
  2. package/es/core/BaseLayer.d.ts +4 -2
  3. package/es/core/BaseLayer.js +47 -21
  4. package/es/core/BaseLayer.js.map +1 -1
  5. package/es/core/BaseModel.d.ts +2 -1
  6. package/es/core/BaseModel.js +3 -0
  7. package/es/core/BaseModel.js.map +1 -1
  8. package/es/core/interface.d.ts +14 -1
  9. package/es/core/interface.js.map +1 -1
  10. package/es/image/models/image.js.map +1 -1
  11. package/es/line/index.d.ts +1 -1
  12. package/es/line/index.js +13 -1
  13. package/es/line/index.js.map +1 -1
  14. package/es/line/models/earthArc_3d.d.ts +17 -0
  15. package/es/line/models/earthArc_3d.js +311 -0
  16. package/es/line/models/earthArc_3d.js.map +1 -0
  17. package/es/line/models/half.d.ts +18 -0
  18. package/es/line/models/half.js +244 -0
  19. package/es/line/models/half.js.map +1 -0
  20. package/es/line/models/index.d.ts +1 -1
  21. package/es/line/models/index.js +9 -1
  22. package/es/line/models/index.js.map +1 -1
  23. package/es/line/models/tile.d.ts +20 -0
  24. package/es/line/models/tile.js +327 -0
  25. package/es/line/models/tile.js.map +1 -0
  26. package/es/plugins/DataMappingPlugin.js +1 -1
  27. package/es/plugins/DataMappingPlugin.js.map +1 -1
  28. package/es/plugins/DataSourcePlugin.js +7 -6
  29. package/es/plugins/DataSourcePlugin.js.map +1 -1
  30. package/es/plugins/FeatureScalePlugin.js +35 -9
  31. package/es/plugins/FeatureScalePlugin.js.map +1 -1
  32. package/es/plugins/ShaderUniformPlugin.js +3 -1
  33. package/es/plugins/ShaderUniformPlugin.js.map +1 -1
  34. package/es/point/index.d.ts +1 -1
  35. package/es/point/index.js +10 -2
  36. package/es/point/index.js.map +1 -1
  37. package/es/point/models/earthExtrude.d.ts +24 -0
  38. package/es/point/models/earthExtrude.js +259 -0
  39. package/es/point/models/earthExtrude.js.map +1 -0
  40. package/es/point/models/earthFill.d.ts +20 -0
  41. package/es/point/models/earthFill.js +255 -0
  42. package/es/point/models/earthFill.js.map +1 -0
  43. package/es/point/models/extrude.d.ts +0 -1
  44. package/es/point/models/extrude.js +2 -10
  45. package/es/point/models/extrude.js.map +1 -1
  46. package/es/point/models/fill.d.ts +8 -1
  47. package/es/point/models/fill.js +55 -75
  48. package/es/point/models/fill.js.map +1 -1
  49. package/es/point/models/index.d.ts +1 -1
  50. package/es/point/models/index.js +9 -1
  51. package/es/point/models/index.js.map +1 -1
  52. package/es/point/models/radar.js +2 -6
  53. package/es/point/models/radar.js.map +1 -1
  54. package/es/point/models/tile.d.ts +31 -0
  55. package/es/point/models/tile.js +291 -0
  56. package/es/point/models/tile.js.map +1 -0
  57. package/es/polygon/index.js +6 -0
  58. package/es/polygon/index.js.map +1 -1
  59. package/es/polygon/models/index.d.ts +1 -1
  60. package/es/polygon/models/index.js +5 -1
  61. package/es/polygon/models/index.js.map +1 -1
  62. package/es/polygon/models/tile.d.ts +16 -0
  63. package/es/polygon/models/tile.js +137 -0
  64. package/es/polygon/models/tile.js.map +1 -0
  65. package/es/raster/index.d.ts +2 -2
  66. package/es/raster/index.js +4 -4
  67. package/es/raster/index.js.map +1 -1
  68. package/es/raster/models/index.js +1 -1
  69. package/es/raster/models/index.js.map +1 -1
  70. package/es/raster/models/raster.d.ts +2 -0
  71. package/es/raster/models/raster.js +24 -12
  72. package/es/raster/models/raster.js.map +1 -1
  73. package/es/tile/interface.d.ts +28 -0
  74. package/es/tile/interface.js +2 -0
  75. package/es/tile/interface.js.map +1 -0
  76. package/es/tile/manager/tileConfigManager.d.ts +17 -0
  77. package/es/tile/manager/tileConfigManager.js +123 -0
  78. package/es/tile/manager/tileConfigManager.js.map +1 -0
  79. package/es/tile/manager/tileLayerManager.d.ts +35 -0
  80. package/es/tile/manager/tileLayerManager.js +297 -0
  81. package/es/tile/manager/tileLayerManager.js.map +1 -0
  82. package/es/tile/manager/tilePickerManager.d.ts +21 -0
  83. package/es/tile/manager/tilePickerManager.js +189 -0
  84. package/es/tile/manager/tilePickerManager.js.map +1 -0
  85. package/es/tile/models/tileModel.d.ts +8 -0
  86. package/es/tile/models/tileModel.js +61 -0
  87. package/es/tile/models/tileModel.js.map +1 -0
  88. package/es/tile/tileFactory/base.d.ts +44 -0
  89. package/es/tile/tileFactory/base.js +423 -0
  90. package/es/tile/tileFactory/base.js.map +1 -0
  91. package/es/tile/tileFactory/index.d.ts +5 -0
  92. package/es/tile/tileFactory/index.js +30 -0
  93. package/es/tile/tileFactory/index.js.map +1 -0
  94. package/es/tile/tileFactory/line.d.ts +12 -0
  95. package/es/tile/tileFactory/line.js +65 -0
  96. package/es/tile/tileFactory/line.js.map +1 -0
  97. package/es/tile/tileFactory/point.d.ts +12 -0
  98. package/es/tile/tileFactory/point.js +65 -0
  99. package/es/tile/tileFactory/point.js.map +1 -0
  100. package/es/tile/tileFactory/polygon.d.ts +12 -0
  101. package/es/tile/tileFactory/polygon.js +65 -0
  102. package/es/tile/tileFactory/polygon.js.map +1 -0
  103. package/es/tile/tileFactory/raster.d.ts +12 -0
  104. package/es/tile/tileFactory/raster.js +61 -0
  105. package/es/tile/tileFactory/raster.js.map +1 -0
  106. package/es/tile/tileFactory/rasterData.d.ts +12 -0
  107. package/es/tile/tileFactory/rasterData.js +86 -0
  108. package/es/tile/tileFactory/rasterData.js.map +1 -0
  109. package/es/tile/tileFactory/rasterDataLayer.d.ts +19 -0
  110. package/es/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +39 -32
  111. package/es/tile/tileFactory/rasterDataLayer.js.map +1 -0
  112. package/es/tile/tileFactory/vectorLayer.d.ts +27 -0
  113. package/es/tile/tileFactory/vectorLayer.js +131 -0
  114. package/es/tile/tileFactory/vectorLayer.js.map +1 -0
  115. package/es/tile/tileLayer/baseTileLayer.d.ts +47 -0
  116. package/es/tile/tileLayer/baseTileLayer.js +409 -0
  117. package/es/tile/tileLayer/baseTileLayer.js.map +1 -0
  118. package/es/tile/tmsTileLayer.d.ts +7 -0
  119. package/es/tile/tmsTileLayer.js +100 -0
  120. package/es/tile/tmsTileLayer.js.map +1 -0
  121. package/es/tile/utils.d.ts +11 -0
  122. package/es/tile/utils.js +125 -0
  123. package/es/tile/utils.js.map +1 -0
  124. package/lib/core/BaseLayer.js +45 -20
  125. package/lib/core/BaseLayer.js.map +1 -1
  126. package/lib/core/BaseModel.js +2 -0
  127. package/lib/core/BaseModel.js.map +1 -1
  128. package/lib/core/interface.js.map +1 -1
  129. package/lib/image/models/image.js.map +1 -1
  130. package/lib/line/index.js +13 -1
  131. package/lib/line/index.js.map +1 -1
  132. package/lib/line/models/earthArc_3d.js +328 -0
  133. package/lib/line/models/earthArc_3d.js.map +1 -0
  134. package/lib/line/models/half.js +260 -0
  135. package/lib/line/models/half.js.map +1 -0
  136. package/lib/line/models/index.js +13 -1
  137. package/lib/line/models/index.js.map +1 -1
  138. package/lib/line/models/tile.js +342 -0
  139. package/lib/line/models/tile.js.map +1 -0
  140. package/lib/plugins/DataMappingPlugin.js +1 -1
  141. package/lib/plugins/DataMappingPlugin.js.map +1 -1
  142. package/lib/plugins/DataSourcePlugin.js +7 -6
  143. package/lib/plugins/DataSourcePlugin.js.map +1 -1
  144. package/lib/plugins/FeatureScalePlugin.js +35 -9
  145. package/lib/plugins/FeatureScalePlugin.js.map +1 -1
  146. package/lib/plugins/ShaderUniformPlugin.js +3 -1
  147. package/lib/plugins/ShaderUniformPlugin.js.map +1 -1
  148. package/lib/point/index.js +10 -2
  149. package/lib/point/index.js.map +1 -1
  150. package/lib/point/models/earthExtrude.js +277 -0
  151. package/lib/point/models/earthExtrude.js.map +1 -0
  152. package/lib/point/models/earthFill.js +291 -0
  153. package/lib/point/models/earthFill.js.map +1 -0
  154. package/lib/point/models/extrude.js +2 -11
  155. package/lib/point/models/extrude.js.map +1 -1
  156. package/lib/point/models/fill.js +51 -93
  157. package/lib/point/models/fill.js.map +1 -1
  158. package/lib/point/models/index.js +13 -1
  159. package/lib/point/models/index.js.map +1 -1
  160. package/lib/point/models/radar.js +1 -5
  161. package/lib/point/models/radar.js.map +1 -1
  162. package/lib/point/models/tile.js +308 -0
  163. package/lib/point/models/tile.js.map +1 -0
  164. package/lib/polygon/index.js +6 -0
  165. package/lib/polygon/index.js.map +1 -1
  166. package/lib/polygon/models/index.js +7 -1
  167. package/lib/polygon/models/index.js.map +1 -1
  168. package/lib/polygon/models/tile.js +152 -0
  169. package/lib/polygon/models/tile.js.map +1 -0
  170. package/lib/raster/index.js +4 -4
  171. package/lib/raster/index.js.map +1 -1
  172. package/lib/raster/models/index.js +2 -2
  173. package/lib/raster/models/index.js.map +1 -1
  174. package/lib/raster/models/raster.js +24 -12
  175. package/lib/raster/models/raster.js.map +1 -1
  176. package/lib/tile/interface.js +2 -0
  177. package/lib/tile/interface.js.map +1 -0
  178. package/lib/tile/manager/tileConfigManager.js +134 -0
  179. package/lib/tile/manager/tileConfigManager.js.map +1 -0
  180. package/lib/tile/manager/tileLayerManager.js +305 -0
  181. package/lib/tile/manager/tileLayerManager.js.map +1 -0
  182. package/lib/tile/manager/tilePickerManager.js +195 -0
  183. package/lib/tile/manager/tilePickerManager.js.map +1 -0
  184. package/lib/tile/models/tileModel.js +73 -0
  185. package/lib/tile/models/tileModel.js.map +1 -0
  186. package/lib/tile/tileFactory/base.js +436 -0
  187. package/lib/tile/tileFactory/base.js.map +1 -0
  188. package/lib/tile/tileFactory/index.js +60 -0
  189. package/lib/tile/tileFactory/index.js.map +1 -0
  190. package/lib/tile/tileFactory/line.js +76 -0
  191. package/lib/tile/tileFactory/line.js.map +1 -0
  192. package/lib/tile/tileFactory/point.js +76 -0
  193. package/lib/tile/tileFactory/point.js.map +1 -0
  194. package/lib/tile/tileFactory/polygon.js +76 -0
  195. package/lib/tile/tileFactory/polygon.js.map +1 -0
  196. package/lib/tile/tileFactory/raster.js +74 -0
  197. package/lib/tile/tileFactory/raster.js.map +1 -0
  198. package/lib/tile/tileFactory/rasterData.js +99 -0
  199. package/lib/tile/tileFactory/rasterData.js.map +1 -0
  200. package/lib/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +40 -32
  201. package/lib/tile/tileFactory/rasterDataLayer.js.map +1 -0
  202. package/lib/tile/tileFactory/vectorLayer.js +145 -0
  203. package/lib/tile/tileFactory/vectorLayer.js.map +1 -0
  204. package/lib/tile/tileLayer/baseTileLayer.js +407 -0
  205. package/lib/tile/tileLayer/baseTileLayer.js.map +1 -0
  206. package/lib/tile/tmsTileLayer.js +116 -0
  207. package/lib/tile/tmsTileLayer.js.map +1 -0
  208. package/lib/tile/utils.js +147 -0
  209. package/lib/tile/utils.js.map +1 -0
  210. package/package.json +8 -6
  211. package/es/core/LayerGroup.d.ts +0 -9
  212. package/es/core/LayerGroup.js.map +0 -1
  213. package/es/raster/models/raste-tile.d.ts +0 -23
  214. package/es/raster/models/raste-tile.js +0 -285
  215. package/es/raster/models/raste-tile.js.map +0 -1
  216. package/lib/core/LayerGroup.js.map +0 -1
  217. package/lib/raster/models/raste-tile.js +0 -294
  218. package/lib/raster/models/raste-tile.js.map +0 -1
@@ -0,0 +1,125 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import { createLayerContainer } from '@antv/l7-core';
3
+ import { DOM } from '@antv/l7-utils';
4
+ export function registerLayers(parentLayer, layers) {
5
+ layers.map(function (layer) {
6
+ var container = createLayerContainer(parentLayer.sceneContainer);
7
+ layer.setContainer(container, parentLayer.sceneContainer);
8
+ layer.init();
9
+ });
10
+ }
11
+ export function getLayerShape(layerType, layer) {
12
+ var _layerShape$scale;
13
+
14
+ var layerShape = layer.getAttribute('shape');
15
+
16
+ if (layerShape && (_layerShape$scale = layerShape.scale) !== null && _layerShape$scale !== void 0 && _layerShape$scale.field) {
17
+ var _layerShape$scale2;
18
+
19
+ if (((_layerShape$scale2 = layerShape.scale) === null || _layerShape$scale2 === void 0 ? void 0 : _layerShape$scale2.values) === 'text') {
20
+ return [layerShape.scale.field, layerShape.scale.values];
21
+ }
22
+
23
+ return layerShape.scale.field;
24
+ }
25
+
26
+ switch (layerType) {
27
+ case 'PolygonLayer':
28
+ return 'fill';
29
+
30
+ case 'LineLayer':
31
+ return 'tileline';
32
+
33
+ case 'PointLayer':
34
+ return 'circle';
35
+
36
+ case 'RasterLayer':
37
+ return 'image';
38
+
39
+ default:
40
+ return '';
41
+ }
42
+ }
43
+ export function getMaskValue(layerType, mask) {
44
+ switch (layerType) {
45
+ case 'PolygonLayer':
46
+ return true;
47
+
48
+ case 'LineLayer':
49
+ return true;
50
+
51
+ case 'PointLayer':
52
+ return false;
53
+
54
+ case 'RasterLayer':
55
+ return mask;
56
+
57
+ default:
58
+ return mask;
59
+ }
60
+ }
61
+ export function getContainerSize(container) {
62
+ if (!!container.getContext) {
63
+ return {
64
+ width: container.width / DOM.DPR,
65
+ height: container.height / DOM.DPR
66
+ };
67
+ } else {
68
+ return container.getBoundingClientRect();
69
+ }
70
+ }
71
+ export function readRasterValue(tile, mapService, x, y) {
72
+ var _tile$bboxPolygon, _tile$data, _tile$data2, _tile$data3;
73
+
74
+ 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];
75
+
76
+ var _bbox = _slicedToArray(bbox, 4),
77
+ _bbox$ = _bbox[0],
78
+ minLng = _bbox$ === void 0 ? 0 : _bbox$,
79
+ _bbox$2 = _bbox[1],
80
+ minLat = _bbox$2 === void 0 ? 0 : _bbox$2,
81
+ _bbox$3 = _bbox[2],
82
+ maxLng = _bbox$3 === void 0 ? 10 : _bbox$3,
83
+ _bbox$4 = _bbox[3],
84
+ maxLat = _bbox$4 === void 0 ? -10 : _bbox$4;
85
+
86
+ var tileXY = mapService.lngLatToContainer([minLng, minLat]);
87
+ var tileMaxXY = mapService.lngLatToContainer([maxLng, maxLat]);
88
+ var tilePixelWidth = tileMaxXY.x - tileXY.x;
89
+ var tilePixelHeight = tileXY.y - tileMaxXY.y;
90
+ var pos = [(x - tileXY.x) / tilePixelWidth, (y - tileMaxXY.y) / tilePixelHeight];
91
+ var tileWidth = (tile === null || tile === void 0 ? void 0 : (_tile$data = tile.data) === null || _tile$data === void 0 ? void 0 : _tile$data.width) || 1;
92
+ var tileHeight = (tile === null || tile === void 0 ? void 0 : (_tile$data2 = tile.data) === null || _tile$data2 === void 0 ? void 0 : _tile$data2.height) || 1;
93
+ var indexX = Math.floor(pos[0] * tileWidth);
94
+ var indexY = Math.floor(pos[1] * tileHeight);
95
+ var index = Math.max(0, indexY - 1) * tileWidth + indexX;
96
+ var data = tile === null || tile === void 0 ? void 0 : (_tile$data3 = tile.data) === null || _tile$data3 === void 0 ? void 0 : _tile$data3.data[index];
97
+ return data;
98
+ }
99
+ export function readPixel(x, y, rendererService) {
100
+ var readPixels = rendererService.readPixels,
101
+ getContainer = rendererService.getContainer;
102
+ var xInDevicePixel = x * DOM.DPR;
103
+ var yInDevicePixel = y * DOM.DPR;
104
+
105
+ var _getContainerSize = getContainerSize(getContainer()),
106
+ width = _getContainerSize.width,
107
+ height = _getContainerSize.height;
108
+
109
+ width *= DOM.DPR;
110
+ height *= DOM.DPR;
111
+
112
+ if (xInDevicePixel > width - 1 * DOM.DPR || xInDevicePixel < 0 || yInDevicePixel > height - 1 * DOM.DPR || yInDevicePixel < 0) {
113
+ return false;
114
+ }
115
+
116
+ var pickedColors = readPixels({
117
+ x: Math.floor(xInDevicePixel),
118
+ y: Math.floor(height - (y + 1) * DOM.DPR),
119
+ width: 1,
120
+ height: 1,
121
+ data: new Uint8Array(1 * 1 * 4)
122
+ });
123
+ return pickedColors;
124
+ }
125
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/tile/utils.ts"],"names":["createLayerContainer","DOM","registerLayers","parentLayer","layers","map","layer","container","sceneContainer","setContainer","init","getLayerShape","layerType","layerShape","getAttribute","scale","field","values","getMaskValue","mask","getContainerSize","getContext","width","DPR","height","getBoundingClientRect","readRasterValue","tile","mapService","x","y","bbox","bboxPolygon","minLng","minLat","maxLng","maxLat","tileXY","lngLatToContainer","tileMaxXY","tilePixelWidth","tilePixelHeight","pos","tileWidth","data","tileHeight","indexX","Math","floor","indexY","index","max","readPixel","rendererService","readPixels","getContainer","xInDevicePixel","yInDevicePixel","pickedColors","Uint8Array"],"mappings":"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","sourcesContent":["import {\n createLayerContainer,\n ILayer,\n IMapService,\n IRendererService,\n} from '@antv/l7-core';\nimport { DOM, Tile } from '@antv/l7-utils';\nimport { Container } from 'inversify';\nexport function registerLayers(parentLayer: ILayer, layers: ILayer[]) {\n layers.map((layer) => {\n const container = createLayerContainer(\n parentLayer.sceneContainer as Container,\n );\n layer.setContainer(container, parentLayer.sceneContainer as Container);\n layer.init();\n });\n}\n\nexport function getLayerShape(layerType: string, layer: ILayer) {\n const layerShape = layer.getAttribute('shape');\n if (layerShape && layerShape.scale?.field) {\n if (layerShape.scale?.values === 'text') {\n return [layerShape.scale.field, layerShape.scale.values] as string[];\n }\n return layerShape.scale.field as string;\n }\n switch (layerType) {\n case 'PolygonLayer':\n return 'fill';\n case 'LineLayer':\n return 'tileline';\n case 'PointLayer':\n return 'circle';\n case 'RasterLayer':\n return 'image';\n default:\n return '';\n }\n}\n\nexport function getMaskValue(layerType: string, mask: boolean) {\n switch (layerType) {\n case 'PolygonLayer':\n return true;\n case 'LineLayer':\n return true;\n case 'PointLayer':\n return false;\n case 'RasterLayer':\n return mask;\n default:\n return mask;\n }\n}\n\nexport function getContainerSize(container: HTMLCanvasElement | HTMLElement) {\n if (!!(container as HTMLCanvasElement).getContext) {\n return {\n width: (container as HTMLCanvasElement).width / DOM.DPR,\n height: (container as HTMLCanvasElement).height / DOM.DPR,\n };\n } else {\n return container.getBoundingClientRect();\n }\n}\n\nexport function readRasterValue(\n tile: Tile,\n mapService: IMapService,\n x: number,\n y: number,\n) {\n const bbox = tile?.bboxPolygon?.bbox || [0, 0, 10, -10];\n\n const [minLng = 0, minLat = 0, maxLng = 10, maxLat = -10] = bbox;\n\n const tileXY = mapService.lngLatToContainer([minLng, minLat]);\n const tileMaxXY = mapService.lngLatToContainer([maxLng, maxLat]);\n\n const tilePixelWidth = tileMaxXY.x - tileXY.x;\n const tilePixelHeight = tileXY.y - tileMaxXY.y;\n const pos = [\n (x - tileXY.x) / tilePixelWidth, // x\n (y - tileMaxXY.y) / tilePixelHeight, // y\n ];\n\n const tileWidth = tile?.data?.width || 1;\n const tileHeight = tile?.data?.height || 1;\n\n const indexX = Math.floor(pos[0] * tileWidth);\n const indexY = Math.floor(pos[1] * tileHeight);\n const index = Math.max(0, indexY - 1) * tileWidth + indexX;\n\n const data = tile?.data?.data[index];\n\n return data;\n}\n\nexport function readPixel(\n x: number,\n y: number,\n rendererService: IRendererService,\n) {\n const { readPixels, getContainer } = rendererService;\n const xInDevicePixel = x * DOM.DPR;\n const yInDevicePixel = y * DOM.DPR;\n let { width, height } = getContainerSize(\n getContainer() as HTMLCanvasElement | HTMLElement,\n );\n width *= DOM.DPR;\n height *= DOM.DPR;\n if (\n xInDevicePixel > width - 1 * DOM.DPR ||\n xInDevicePixel < 0 ||\n yInDevicePixel > height - 1 * DOM.DPR ||\n yInDevicePixel < 0\n ) {\n return false;\n }\n\n const pickedColors = readPixels({\n x: Math.floor(xInDevicePixel),\n // 视口坐标系原点在左上,而 WebGL 在左下,需要翻转 Y 轴\n y: Math.floor(height - (y + 1) * DOM.DPR),\n width: 1,\n height: 1,\n data: new Uint8Array(1 * 1 * 4),\n });\n return pickedColors;\n}\n"],"file":"utils.js"}
@@ -105,7 +105,6 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
105
105
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "rendering", void 0);
106
106
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "clusterZoom", 0);
107
107
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "layerType", void 0);
108
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isLayerGroup", false);
109
108
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "triangulation", void 0);
110
109
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "dataState", {
111
110
  dataSourceNeedUpdate: false,
@@ -136,8 +135,10 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
136
135
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "layerModel", void 0);
137
136
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "shapeOption", void 0);
138
137
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sceneContainer", void 0);
138
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "tileLayer", void 0);
139
139
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "layerChildren", []);
140
140
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "masks", []);
141
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isVector", false);
141
142
  (0, _initializerDefineProperty2.default)((0, _assertThisInitialized2.default)(_this), "configService", _descriptor, (0, _assertThisInitialized2.default)(_this));
142
143
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "shaderModuleService", void 0);
143
144
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "cameraService", void 0);
@@ -203,6 +204,11 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
203
204
 
204
205
  maskLayer.destroy();
205
206
  }
207
+ }, {
208
+ key: "getAttribute",
209
+ value: function getAttribute(name) {
210
+ return this.styleAttributeService.getLayerStyleAttribute(name);
211
+ }
206
212
  }, {
207
213
  key: "getLayerConfig",
208
214
  value: function getLayerConfig() {
@@ -211,6 +217,14 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
211
217
  }, {
212
218
  key: "updateLayerConfig",
213
219
  value: function updateLayerConfig(configToUpdate) {
220
+ var _this2 = this;
221
+
222
+ Object.keys(configToUpdate).map(function (key) {
223
+ if (key in _this2.rawConfig) {
224
+ _this2.rawConfig[key] = configToUpdate[key];
225
+ }
226
+ });
227
+
214
228
  if (!this.inited) {
215
229
  this.needUpdateConfig = _objectSpread(_objectSpread({}, this.needUpdateConfig), configToUpdate);
216
230
  } else {
@@ -250,7 +264,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
250
264
  }, {
251
265
  key: "init",
252
266
  value: function init() {
253
- var _this2 = this;
267
+ var _this3 = this;
254
268
 
255
269
  var sceneId = this.container.get(_l7Core.TYPES.SceneID);
256
270
  this.configService.setLayerConfig(sceneId, this.id, this.rawConfig);
@@ -269,7 +283,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
269
283
 
270
284
  if (enableMultiPassRenderer && passes !== null && passes !== void 0 && passes.length && passes.length > 0) {
271
285
  this.mapService.on('mapAfterFrameChange', function () {
272
- _this2.renderLayers();
286
+ _this3.renderLayers();
273
287
  });
274
288
  }
275
289
 
@@ -287,10 +301,10 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
287
301
  attributeValues = _ref.attributeValues,
288
302
  updateOptions = _ref.updateOptions;
289
303
 
290
- _this2.styleAttributeService.updateStyleAttribute(attributeName, {
304
+ _this3.styleAttributeService.updateStyleAttribute(attributeName, {
291
305
  scale: _objectSpread({
292
306
  field: attributeField
293
- }, _this2.splitValuesAndCallbackInAttribute(attributeValues, _this2.getLayerConfig()[attributeName]))
307
+ }, _this3.splitValuesAndCallbackInAttribute(attributeValues, _this3.getLayerConfig()[attributeName]))
294
308
  }, updateOptions);
295
309
  });
296
310
  this.pendingStyleAttributes = [];
@@ -424,7 +438,11 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
424
438
  values: values
425
439
  };
426
440
  this.updateStyleAttribute('shape', field, values, updateOptions);
427
- (0, _updateShape.updateShape)(this, lastShape, currentShape);
441
+
442
+ if (!this.tileLayer) {
443
+ (0, _updateShape.updateShape)(this, lastShape, currentShape);
444
+ }
445
+
428
446
  return this;
429
447
  }
430
448
  }, {
@@ -473,20 +491,20 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
473
491
  }, {
474
492
  key: "setData",
475
493
  value: function setData(data, options) {
476
- var _this3 = this;
494
+ var _this4 = this;
477
495
 
478
496
  if (this.inited) {
479
497
  this.layerSource.setData(data, options);
480
498
  } else {
481
499
  this.on('inited', function () {
482
- var currentSource = _this3.getSource();
500
+ var currentSource = _this4.getSource();
483
501
 
484
502
  if (!currentSource) {
485
- _this3.source(new _l7Source.default(data, options));
503
+ _this4.source(new _l7Source.default(data, options));
486
504
 
487
- _this3.sourceEvent();
505
+ _this4.sourceEvent();
488
506
  } else {
489
- _this3.layerSource.setData(data, options);
507
+ _this4.layerSource.setData(data, options);
490
508
  }
491
509
  });
492
510
  }
@@ -496,7 +514,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
496
514
  }, {
497
515
  key: "style",
498
516
  value: function style(options) {
499
- var _this4 = this;
517
+ var _this5 = this;
500
518
 
501
519
  var lastConfig = this.getLayerConfig();
502
520
  var passes = options.passes,
@@ -504,7 +522,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
504
522
 
505
523
  if (passes) {
506
524
  (0, _multiPassRender.normalizePasses)(passes).forEach(function (pass) {
507
- var postProcessingPass = _this4.multiPassRenderer.getPostProcessor().getPostProcessingPassByName(pass[0]);
525
+ var postProcessingPass = _this5.multiPassRenderer.getPostProcessor().getPostProcessingPassByName(pass[0]);
508
526
 
509
527
  if (postProcessingPass) {
510
528
  postProcessingPass.updateOptions(pass[1]);
@@ -547,6 +565,11 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
547
565
  }, {
548
566
  key: "render",
549
567
  value: function render() {
568
+ if (this.tileLayer !== undefined) {
569
+ this.tileLayer.render();
570
+ return this;
571
+ }
572
+
550
573
  if (this.getEncodedData().length !== 0) {
551
574
  this.renderModels();
552
575
  }
@@ -625,7 +648,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
625
648
  }, {
626
649
  key: "setActive",
627
650
  value: function setActive(id, options) {
628
- var _this5 = this;
651
+ var _this6 = this;
629
652
 
630
653
  if ((0, _isObject2.default)(id)) {
631
654
  var _id$x = id.x,
@@ -648,7 +671,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
648
671
  });
649
672
  this.hooks.beforeSelect.call((0, _l7Utils.encodePickingColor)(id)).then(function () {
650
673
  setTimeout(function () {
651
- _this5.reRender();
674
+ _this6.reRender();
652
675
  }, 1);
653
676
  });
654
677
  }
@@ -679,7 +702,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
679
702
  }, {
680
703
  key: "setSelect",
681
704
  value: function setSelect(id, options) {
682
- var _this6 = this;
705
+ var _this7 = this;
683
706
 
684
707
  if ((0, _isObject2.default)(id)) {
685
708
  var _id$x2 = id.x,
@@ -702,7 +725,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
702
725
  });
703
726
  this.hooks.beforeSelect.call((0, _l7Utils.encodePickingColor)(id)).then(function () {
704
727
  setTimeout(function () {
705
- _this6.reRender();
728
+ _this7.reRender();
706
729
  }, 1);
707
730
  });
708
731
  }
@@ -885,6 +908,8 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
885
908
  value: function destroy() {
886
909
  var _this$layerModel;
887
910
 
911
+ var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
912
+
888
913
  if (this.isDestroied) {
889
914
  return;
890
915
  }
@@ -904,7 +929,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
904
929
  this.hooks.afterDestroy.call();
905
930
  (_this$layerModel = this.layerModel) === null || _this$layerModel === void 0 ? void 0 : _this$layerModel.clearModels();
906
931
  this.models = [];
907
- this.layerService.cleanRemove(this);
932
+ this.layerService.cleanRemove(this, refresh);
908
933
  this.emit('remove', {
909
934
  target: this,
910
935
  type: 'remove'
@@ -1163,7 +1188,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1163
1188
  }, {
1164
1189
  key: "renderModels",
1165
1190
  value: function renderModels(isPicking) {
1166
- var _this7 = this;
1191
+ var _this8 = this;
1167
1192
 
1168
1193
  if (this.getEncodedData().length > 0) {
1169
1194
  if (this.layerModelNeedUpdate && this.layerModel) {
@@ -1178,7 +1203,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1178
1203
 
1179
1204
  this.models.forEach(function (model) {
1180
1205
  model.draw({
1181
- uniforms: _this7.layerModel.getUninforms()
1206
+ uniforms: _this8.layerModel.getUninforms()
1182
1207
  }, isPicking);
1183
1208
  });
1184
1209
  }