@antv/l7-layers 2.17.2 → 2.17.4

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 (242) hide show
  1. package/es/Geometry/index.js +31 -9
  2. package/es/Geometry/models/billboard.js +89 -51
  3. package/es/Geometry/models/plane.js +143 -81
  4. package/es/Geometry/models/sprite.js +118 -60
  5. package/es/canvas/index.js +33 -10
  6. package/es/canvas/models/canvas.js +97 -41
  7. package/es/citybuliding/building.js +27 -8
  8. package/es/citybuliding/models/build.js +82 -57
  9. package/es/core/BaseLayer.js +478 -313
  10. package/es/core/BaseModel.js +80 -51
  11. package/es/core/CommonStyleAttribute.js +5 -2
  12. package/es/core/LayerPickService.js +32 -21
  13. package/es/core/TextureService.js +13 -0
  14. package/es/core/interface.js +24 -17
  15. package/es/core/shape/Path.js +20 -13
  16. package/es/core/shape/extrude.js +39 -27
  17. package/es/core/triangulation.js +136 -99
  18. package/es/earth/index.js +33 -9
  19. package/es/earth/models/atmosphere.js +54 -30
  20. package/es/earth/models/base.js +85 -47
  21. package/es/earth/models/bloomsphere.js +54 -30
  22. package/es/earth/utils.js +13 -9
  23. package/es/heatmap/index.js +40 -10
  24. package/es/heatmap/models/grid.js +52 -28
  25. package/es/heatmap/models/grid3d.js +52 -28
  26. package/es/heatmap/models/heatmap.js +149 -92
  27. package/es/heatmap/models/hexagon.js +52 -28
  28. package/es/heatmap/triangulation.js +4 -0
  29. package/es/image/index.js +28 -9
  30. package/es/image/models/image.js +100 -66
  31. package/es/index.js +17 -9
  32. package/es/line/index.js +35 -9
  33. package/es/line/models/arc.js +114 -64
  34. package/es/line/models/arc_3d.js +102 -58
  35. package/es/line/models/earthArc_3d.js +105 -60
  36. package/es/line/models/flow.js +60 -36
  37. package/es/line/models/great_circle.js +94 -53
  38. package/es/line/models/line.js +138 -86
  39. package/es/line/models/linearline.js +76 -43
  40. package/es/line/models/simpleLine.js +69 -39
  41. package/es/line/models/wall.js +92 -52
  42. package/es/mask/index.js +28 -9
  43. package/es/mask/models/fill.js +54 -29
  44. package/es/plugins/DataMappingPlugin.js +114 -78
  45. package/es/plugins/DataSourcePlugin.js +68 -45
  46. package/es/plugins/FeatureScalePlugin.js +122 -67
  47. package/es/plugins/LayerAnimateStylePlugin.js +5 -0
  48. package/es/plugins/LayerMaskPlugin.js +11 -3
  49. package/es/plugins/LayerModelPlugin.js +108 -69
  50. package/es/plugins/LayerStylePlugin.js +9 -3
  51. package/es/plugins/LightingPlugin.js +18 -12
  52. package/es/plugins/MultiPassRendererPlugin.js +16 -11
  53. package/es/plugins/PixelPickingPlugin.js +21 -12
  54. package/es/plugins/RegisterStyleAttributePlugin.js +12 -5
  55. package/es/plugins/ShaderUniformPlugin.js +27 -13
  56. package/es/plugins/UpdateModelPlugin.js +5 -0
  57. package/es/plugins/UpdateStyleAttributePlugin.js +11 -5
  58. package/es/point/index.js +78 -26
  59. package/es/point/models/earthExtrude.js +95 -58
  60. package/es/point/models/earthFill.js +80 -52
  61. package/es/point/models/extrude.js +94 -57
  62. package/es/point/models/fill.js +81 -56
  63. package/es/point/models/fillmage.js +100 -60
  64. package/es/point/models/image.js +83 -47
  65. package/es/point/models/index.js +2 -2
  66. package/es/point/models/normal.js +54 -30
  67. package/es/point/models/radar.js +63 -38
  68. package/es/point/models/simplePoint.js +62 -38
  69. package/es/point/models/text.js +296 -199
  70. package/es/point/shape/extrude.js +13 -4
  71. package/es/polygon/index.js +41 -11
  72. package/es/polygon/models/extrude.js +135 -87
  73. package/es/polygon/models/fill.js +79 -50
  74. package/es/polygon/models/index.js +2 -3
  75. package/es/polygon/models/ocean.js +76 -42
  76. package/es/polygon/models/water.js +71 -37
  77. package/es/raster/buffers/triangulation.js +4 -2
  78. package/es/raster/index.js +32 -9
  79. package/es/raster/models/raster.js +116 -80
  80. package/es/raster/models/rasterRgb.js +127 -84
  81. package/es/raster/models/rasterTerrainRgb.js +84 -56
  82. package/es/tile/interaction/getRasterData.js +20 -14
  83. package/es/tile/interaction/utils.js +9 -7
  84. package/es/tile/manager/base.js +96 -63
  85. package/es/tile/service/TileLayerService.js +55 -33
  86. package/es/tile/service/TilePickService.js +40 -26
  87. package/es/tile/service/TileSourceService.js +7 -3
  88. package/es/tile/tileFactory/DebugTile.js +46 -29
  89. package/es/tile/tileFactory/ImageTile.js +38 -20
  90. package/es/tile/tileFactory/MaskTile.js +43 -22
  91. package/es/tile/tileFactory/RasterRGBTile.js +42 -22
  92. package/es/tile/tileFactory/RasterTerrainRGBTile.js +38 -20
  93. package/es/tile/tileFactory/RasterTile.js +53 -30
  94. package/es/tile/tileFactory/Tile.js +97 -63
  95. package/es/tile/tileFactory/VectorTile.js +68 -41
  96. package/es/tile/tileFactory/index.js +11 -0
  97. package/es/tile/tileFactory/layers/TileDebugLayer.js +27 -6
  98. package/es/tile/tileFactory/util.js +3 -0
  99. package/es/tile/tileLayer/BaseLayer.js +146 -105
  100. package/es/tile/utils.js +1 -1
  101. package/es/utils/blend.js +2 -0
  102. package/es/utils/collision-index.js +16 -9
  103. package/es/utils/extrude_polyline.js +149 -101
  104. package/es/utils/grid-index.js +27 -2
  105. package/es/utils/identityScale.js +8 -0
  106. package/es/utils/layerData.js +44 -30
  107. package/es/utils/multiPassRender.js +13 -11
  108. package/es/utils/polylineNormal.js +37 -31
  109. package/es/utils/simpleLine.js +16 -2
  110. package/es/utils/stencil.js +3 -2
  111. package/es/utils/symbol-layout.js +53 -27
  112. package/es/wind/index.js +29 -9
  113. package/es/wind/models/utils.js +51 -26
  114. package/es/wind/models/wind.js +147 -101
  115. package/es/wind/models/windRender.js +66 -53
  116. package/lib/Geometry/index.js +38 -9
  117. package/lib/Geometry/models/billboard.js +97 -51
  118. package/lib/Geometry/models/index.js +5 -0
  119. package/lib/Geometry/models/plane.js +151 -79
  120. package/lib/Geometry/models/sprite.js +127 -60
  121. package/lib/canvas/index.js +40 -10
  122. package/lib/canvas/models/canvas.js +101 -41
  123. package/lib/canvas/models/index.js +3 -0
  124. package/lib/citybuliding/building.js +35 -8
  125. package/lib/citybuliding/models/build.js +92 -57
  126. package/lib/core/BaseLayer.js +469 -313
  127. package/lib/core/BaseModel.js +90 -51
  128. package/lib/core/CommonStyleAttribute.js +7 -2
  129. package/lib/core/LayerPickService.js +37 -21
  130. package/lib/core/TextureService.js +16 -0
  131. package/lib/core/interface.js +31 -21
  132. package/lib/core/schema.js +1 -0
  133. package/lib/core/shape/Path.js +31 -14
  134. package/lib/core/shape/extrude.js +62 -27
  135. package/lib/core/triangulation.js +177 -98
  136. package/lib/earth/index.js +43 -9
  137. package/lib/earth/models/atmosphere.js +63 -30
  138. package/lib/earth/models/base.js +90 -47
  139. package/lib/earth/models/bloomsphere.js +63 -30
  140. package/lib/earth/utils.js +31 -7
  141. package/lib/heatmap/index.js +48 -10
  142. package/lib/heatmap/models/grid.js +60 -28
  143. package/lib/heatmap/models/grid3d.js +60 -28
  144. package/lib/heatmap/models/heatmap.js +166 -92
  145. package/lib/heatmap/models/hexagon.js +60 -28
  146. package/lib/heatmap/models/index.js +6 -0
  147. package/lib/heatmap/triangulation.js +5 -0
  148. package/lib/image/index.js +36 -9
  149. package/lib/image/models/image.js +109 -66
  150. package/lib/image/models/index.js +3 -0
  151. package/lib/index.js +61 -7
  152. package/lib/line/index.js +40 -9
  153. package/lib/line/models/arc.js +124 -62
  154. package/lib/line/models/arc_3d.js +113 -56
  155. package/lib/line/models/earthArc_3d.js +115 -58
  156. package/lib/line/models/flow.js +70 -36
  157. package/lib/line/models/great_circle.js +104 -53
  158. package/lib/line/models/index.js +11 -0
  159. package/lib/line/models/line.js +146 -84
  160. package/lib/line/models/linearline.js +88 -43
  161. package/lib/line/models/simpleLine.js +79 -39
  162. package/lib/line/models/wall.js +103 -52
  163. package/lib/mask/index.js +36 -9
  164. package/lib/mask/models/fill.js +63 -29
  165. package/lib/mask/models/index.js +3 -0
  166. package/lib/plugins/DataMappingPlugin.js +125 -78
  167. package/lib/plugins/DataSourcePlugin.js +76 -45
  168. package/lib/plugins/FeatureScalePlugin.js +138 -67
  169. package/lib/plugins/LayerAnimateStylePlugin.js +10 -0
  170. package/lib/plugins/LayerMaskPlugin.js +17 -4
  171. package/lib/plugins/LayerModelPlugin.js +117 -70
  172. package/lib/plugins/LayerStylePlugin.js +14 -4
  173. package/lib/plugins/LightingPlugin.js +25 -12
  174. package/lib/plugins/MultiPassRendererPlugin.js +22 -11
  175. package/lib/plugins/PixelPickingPlugin.js +27 -12
  176. package/lib/plugins/RegisterStyleAttributePlugin.js +19 -5
  177. package/lib/plugins/ShaderUniformPlugin.js +34 -13
  178. package/lib/plugins/UpdateModelPlugin.js +10 -1
  179. package/lib/plugins/UpdateStyleAttributePlugin.js +16 -5
  180. package/lib/point/index.js +83 -26
  181. package/lib/point/models/earthExtrude.js +106 -58
  182. package/lib/point/models/earthFill.js +110 -52
  183. package/lib/point/models/extrude.js +103 -57
  184. package/lib/point/models/fill.js +90 -54
  185. package/lib/point/models/fillmage.js +107 -58
  186. package/lib/point/models/image.js +92 -47
  187. package/lib/point/models/index.js +12 -1
  188. package/lib/point/models/normal.js +64 -30
  189. package/lib/point/models/radar.js +72 -38
  190. package/lib/point/models/simplePoint.js +72 -38
  191. package/lib/point/models/text.js +305 -199
  192. package/lib/point/shape/extrude.js +20 -4
  193. package/lib/polygon/index.js +48 -11
  194. package/lib/polygon/models/extrude.js +146 -87
  195. package/lib/polygon/models/fill.js +89 -50
  196. package/lib/polygon/models/index.js +14 -2
  197. package/lib/polygon/models/ocean.js +88 -42
  198. package/lib/polygon/models/water.js +82 -37
  199. package/lib/raster/buffers/triangulation.js +7 -3
  200. package/lib/raster/index.js +40 -9
  201. package/lib/raster/models/index.js +5 -0
  202. package/lib/raster/models/raster.js +125 -80
  203. package/lib/raster/models/rasterRgb.js +139 -84
  204. package/lib/raster/models/rasterTerrainRgb.js +93 -56
  205. package/lib/tile/interaction/getRasterData.js +25 -14
  206. package/lib/tile/interaction/utils.js +19 -7
  207. package/lib/tile/manager/base.js +104 -63
  208. package/lib/tile/service/TileLayerService.js +60 -33
  209. package/lib/tile/service/TilePickService.js +48 -26
  210. package/lib/tile/service/TileSourceService.js +16 -2
  211. package/lib/tile/style/utils.js +3 -0
  212. package/lib/tile/tileFactory/DebugTile.js +54 -29
  213. package/lib/tile/tileFactory/ImageTile.js +46 -20
  214. package/lib/tile/tileFactory/MaskTile.js +51 -22
  215. package/lib/tile/tileFactory/RasterRGBTile.js +50 -22
  216. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +46 -20
  217. package/lib/tile/tileFactory/RasterTile.js +63 -30
  218. package/lib/tile/tileFactory/Tile.js +102 -63
  219. package/lib/tile/tileFactory/VectorTile.js +76 -41
  220. package/lib/tile/tileFactory/index.js +25 -0
  221. package/lib/tile/tileFactory/layers/TileDebugLayer.js +32 -6
  222. package/lib/tile/tileFactory/util.js +9 -0
  223. package/lib/tile/tileLayer/BaseLayer.js +153 -105
  224. package/lib/tile/utils.js +5 -1
  225. package/lib/utils/blend.js +5 -0
  226. package/lib/utils/collision-index.js +25 -9
  227. package/lib/utils/extrude_polyline.js +181 -101
  228. package/lib/utils/grid-index.js +28 -2
  229. package/lib/utils/identityScale.js +9 -0
  230. package/lib/utils/layerData.js +49 -30
  231. package/lib/utils/multiPassRender.js +16 -11
  232. package/lib/utils/polylineNormal.js +66 -31
  233. package/lib/utils/simpleLine.js +21 -2
  234. package/lib/utils/stencil.js +4 -0
  235. package/lib/utils/symbol-layout.js +55 -27
  236. package/lib/wind/index.js +37 -9
  237. package/lib/wind/models/index.js +3 -0
  238. package/lib/wind/models/utils.js +62 -26
  239. package/lib/wind/models/wind.js +157 -101
  240. package/lib/wind/models/windRender.js +71 -53
  241. package/lib/wind/models/windShader.js +1 -0
  242. package/package.json +7 -7
@@ -4,12 +4,13 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
4
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
5
  import _applyDecoratedDescriptor from "@babel/runtime/helpers/esm/applyDecoratedDescriptor";
6
6
  import _initializerWarningHelper from "@babel/runtime/helpers/esm/initializerWarningHelper";
7
+
7
8
  var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4;
9
+
8
10
  import { CameraUniform, CoordinateUniform, TYPES } from '@antv/l7-core';
9
11
  import { $window } from '@antv/l7-utils';
10
12
  import { inject, injectable } from 'inversify';
11
13
  import 'reflect-metadata';
12
-
13
14
  /**
14
15
  * 在渲染之前需要获取当前 Shader 所需 Uniform,例如:
15
16
  * 1. 从相机服务中获取 View & ProjectionMatrix,当前缩放等级等等
@@ -17,61 +18,74 @@ import 'reflect-metadata';
17
18
  * @see https://yuque.antfin-inc.com/yuqi.pyq/fgetpa/doml91
18
19
  * 3. 当前 Layer 本身的样式属性
19
20
  */
21
+
20
22
  var ShaderUniformPlugin = (_dec = injectable(), _dec2 = inject(TYPES.ICameraService), _dec3 = inject(TYPES.ICoordinateSystemService), _dec4 = inject(TYPES.IRendererService), _dec5 = inject(TYPES.IMapService), _dec(_class = (_class2 = /*#__PURE__*/function () {
21
23
  function ShaderUniformPlugin() {
22
24
  _classCallCheck(this, ShaderUniformPlugin);
25
+
23
26
  _initializerDefineProperty(this, "cameraService", _descriptor, this);
27
+
24
28
  _initializerDefineProperty(this, "coordinateSystemService", _descriptor2, this);
29
+
25
30
  _initializerDefineProperty(this, "rendererService", _descriptor3, this);
31
+
26
32
  _initializerDefineProperty(this, "mapService", _descriptor4, this);
27
33
  }
34
+
28
35
  _createClass(ShaderUniformPlugin, [{
29
36
  key: "apply",
30
37
  value: function apply(layer) {
31
38
  var _this = this;
39
+
32
40
  var version = this.mapService.version;
33
41
  var mvp = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; // default matrix (for gaode2.x)
42
+
34
43
  var sceneCenterMercator = [0, 0];
35
44
  layer.hooks.beforeRender.tap('ShaderUniformPlugin', function () {
36
45
  // @ts-ignore
37
- var offset = layer.getLayerConfig().tileOrigin;
38
- // 重新计算坐标系参数
46
+ var offset = layer.getLayerConfig().tileOrigin; // 重新计算坐标系参数
47
+
39
48
  _this.coordinateSystemService.refresh(offset);
49
+
40
50
  if (version === 'GAODE2.x') {
41
- _this.setLayerCenter(layer);
42
- // @ts-ignore
43
- mvp = _this.mapService.map.customCoords.getMVPMatrix();
44
- // mvp = amapCustomCoords.getMVPMatrix()
51
+ _this.setLayerCenter(layer); // @ts-ignore
52
+
53
+
54
+ mvp = _this.mapService.map.customCoords.getMVPMatrix(); // mvp = amapCustomCoords.getMVPMatrix()
45
55
  // @ts-ignore
56
+
46
57
  sceneCenterMercator = _this.mapService.getCustomCoordCenter();
47
58
  }
59
+
48
60
  var _this$rendererService = _this.rendererService.getViewportSize(),
49
- width = _this$rendererService.width,
50
- height = _this$rendererService.height;
61
+ width = _this$rendererService.width,
62
+ height = _this$rendererService.height;
63
+
51
64
  layer.models.forEach(function (model) {
52
65
  var _model$addUniforms;
53
- model.addUniforms((_model$addUniforms = {}, _defineProperty(_model$addUniforms, CameraUniform.ProjectionMatrix, _this.cameraService.getProjectionMatrix()), _defineProperty(_model$addUniforms, CameraUniform.ViewMatrix, _this.cameraService.getViewMatrix()), _defineProperty(_model$addUniforms, CameraUniform.ViewProjectionMatrix, _this.cameraService.getViewProjectionMatrix()), _defineProperty(_model$addUniforms, CameraUniform.Zoom, _this.cameraService.getZoom()), _defineProperty(_model$addUniforms, CameraUniform.ZoomScale, _this.cameraService.getZoomScale()), _defineProperty(_model$addUniforms, CameraUniform.FocalDistance, _this.cameraService.getFocalDistance()), _defineProperty(_model$addUniforms, CameraUniform.CameraPosition, _this.cameraService.getCameraPosition()), _defineProperty(_model$addUniforms, CoordinateUniform.CoordinateSystem, _this.coordinateSystemService.getCoordinateSystem()), _defineProperty(_model$addUniforms, CoordinateUniform.ViewportCenter, _this.coordinateSystemService.getViewportCenter()), _defineProperty(_model$addUniforms, CoordinateUniform.ViewportCenterProjection, _this.coordinateSystemService.getViewportCenterProjection()), _defineProperty(_model$addUniforms, CoordinateUniform.PixelsPerDegree, _this.coordinateSystemService.getPixelsPerDegree()), _defineProperty(_model$addUniforms, CoordinateUniform.PixelsPerDegree2, _this.coordinateSystemService.getPixelsPerDegree2()), _defineProperty(_model$addUniforms, CoordinateUniform.PixelsPerMeter, _this.coordinateSystemService.getPixelsPerMeter()), _defineProperty(_model$addUniforms, CoordinateUniform.Mvp, mvp), _defineProperty(_model$addUniforms, "u_sceneCenterMercator", sceneCenterMercator), _defineProperty(_model$addUniforms, "u_ViewportSize", [width, height]), _defineProperty(_model$addUniforms, "u_ModelMatrix", _this.cameraService.getModelMatrix()), _defineProperty(_model$addUniforms, "u_DevicePixelRatio", $window.devicePixelRatio), _defineProperty(_model$addUniforms, "u_PickingBuffer", layer.getLayerConfig().pickingBuffer || 0), _defineProperty(_model$addUniforms, "u_shaderPick", Number(layer.getShaderPickStat())), _model$addUniforms));
54
- });
55
66
 
56
- // TODO:脏检查,决定是否需要渲染
67
+ model.addUniforms((_model$addUniforms = {}, _defineProperty(_model$addUniforms, CameraUniform.ProjectionMatrix, _this.cameraService.getProjectionMatrix()), _defineProperty(_model$addUniforms, CameraUniform.ViewMatrix, _this.cameraService.getViewMatrix()), _defineProperty(_model$addUniforms, CameraUniform.ViewProjectionMatrix, _this.cameraService.getViewProjectionMatrix()), _defineProperty(_model$addUniforms, CameraUniform.Zoom, _this.cameraService.getZoom()), _defineProperty(_model$addUniforms, CameraUniform.ZoomScale, _this.cameraService.getZoomScale()), _defineProperty(_model$addUniforms, CameraUniform.FocalDistance, _this.cameraService.getFocalDistance()), _defineProperty(_model$addUniforms, CameraUniform.CameraPosition, _this.cameraService.getCameraPosition()), _defineProperty(_model$addUniforms, CoordinateUniform.CoordinateSystem, _this.coordinateSystemService.getCoordinateSystem()), _defineProperty(_model$addUniforms, CoordinateUniform.ViewportCenter, _this.coordinateSystemService.getViewportCenter()), _defineProperty(_model$addUniforms, CoordinateUniform.ViewportCenterProjection, _this.coordinateSystemService.getViewportCenterProjection()), _defineProperty(_model$addUniforms, CoordinateUniform.PixelsPerDegree, _this.coordinateSystemService.getPixelsPerDegree()), _defineProperty(_model$addUniforms, CoordinateUniform.PixelsPerDegree2, _this.coordinateSystemService.getPixelsPerDegree2()), _defineProperty(_model$addUniforms, CoordinateUniform.PixelsPerMeter, _this.coordinateSystemService.getPixelsPerMeter()), _defineProperty(_model$addUniforms, CoordinateUniform.Mvp, mvp), _defineProperty(_model$addUniforms, "u_sceneCenterMercator", sceneCenterMercator), _defineProperty(_model$addUniforms, "u_ViewportSize", [width, height]), _defineProperty(_model$addUniforms, "u_ModelMatrix", _this.cameraService.getModelMatrix()), _defineProperty(_model$addUniforms, "u_DevicePixelRatio", $window.devicePixelRatio), _defineProperty(_model$addUniforms, "u_PickingBuffer", layer.getLayerConfig().pickingBuffer || 0), _defineProperty(_model$addUniforms, "u_shaderPick", Number(layer.getShaderPickStat())), _model$addUniforms));
68
+ }); // TODO:脏检查,决定是否需要渲染
57
69
  });
58
70
  }
59
-
60
71
  /**
61
72
  * 对于每个 layer 都有不同的几何中心点,因此在绘制每个 layer 的时候都需要重新设置
62
73
  * @param layer
63
74
  */
75
+
64
76
  }, {
65
77
  key: "setLayerCenter",
66
78
  value: function setLayerCenter(layer) {
67
79
  if (layer.coordCenter === undefined) {
68
80
  layer.coordCenter = layer.getSource().center;
69
81
  }
82
+
70
83
  if (this.mapService.setCoordCenter) {
71
84
  this.mapService.setCoordCenter(layer.coordCenter);
72
85
  }
73
86
  }
74
87
  }]);
88
+
75
89
  return ShaderUniformPlugin;
76
90
  }(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "cameraService", [_dec2], {
77
91
  configurable: true,
@@ -1,15 +1,19 @@
1
1
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
2
  import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+
3
4
  var _dec, _class;
5
+
4
6
  import { injectable } from 'inversify';
5
7
  import 'reflect-metadata';
6
8
  /**
7
9
  * Model 更新
8
10
  */
11
+
9
12
  var UpdateModelPlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function () {
10
13
  function UpdateModelPlugin() {
11
14
  _classCallCheck(this, UpdateModelPlugin);
12
15
  }
16
+
13
17
  _createClass(UpdateModelPlugin, [{
14
18
  key: "apply",
15
19
  value: function apply(layer) {
@@ -28,6 +32,7 @@ var UpdateModelPlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/functio
28
32
  });
29
33
  }
30
34
  }]);
35
+
31
36
  return UpdateModelPlugin;
32
37
  }()) || _class);
33
38
  export { UpdateModelPlugin as default };
@@ -1,20 +1,24 @@
1
1
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
2
  import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+
3
4
  var _dec, _class;
5
+
4
6
  import { injectable } from 'inversify';
5
7
  import 'reflect-metadata';
6
-
7
8
  /**
8
9
  * 在初始化阶段完成属性的注册,以及首次根据 Layer 指定的三角化方法完成 indices 和 attribute 的创建
9
10
  */
11
+
10
12
  var UpdateStyleAttributePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function () {
11
13
  function UpdateStyleAttributePlugin() {
12
14
  _classCallCheck(this, UpdateStyleAttributePlugin);
13
15
  }
16
+
14
17
  _createClass(UpdateStyleAttributePlugin, [{
15
18
  key: "apply",
16
19
  value: function apply(layer, _ref) {
17
20
  var _this = this;
21
+
18
22
  var styleAttributeService = _ref.styleAttributeService;
19
23
  layer.hooks.init.tapPromise('UpdateStyleAttributePlugin', function () {
20
24
  _this.initStyleAttribute(layer, {
@@ -25,6 +29,7 @@ var UpdateStyleAttributePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__
25
29
  if (layer.layerModelNeedUpdate) {
26
30
  return;
27
31
  }
32
+
28
33
  if (layer.inited) {
29
34
  _this.updateStyleAttribute(layer, {
30
35
  styleAttributeService: styleAttributeService
@@ -38,6 +43,7 @@ var UpdateStyleAttributePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__
38
43
  var styleAttributeService = _ref2.styleAttributeService;
39
44
  var attributes = styleAttributeService.getLayerStyleAttributes() || [];
40
45
  var filter = styleAttributeService.getLayerStyleAttribute('filter');
46
+
41
47
  if (filter && filter.needRegenerateVertices) {
42
48
  layer.layerModelNeedUpdate = true;
43
49
  attributes.forEach(function (attr) {
@@ -45,12 +51,12 @@ var UpdateStyleAttributePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__
45
51
  });
46
52
  return;
47
53
  }
54
+
48
55
  attributes.filter(function (attribute) {
49
56
  return attribute.needRegenerateVertices;
50
57
  }).forEach(function (attribute) {
51
58
  // 精确更新某个/某些 feature(s),需要传入 featureIdx d
52
- styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(),
53
- // 获取经过 mapping 最新的数据
59
+ styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(), // 获取经过 mapping 最新的数据
54
60
  attribute.featureRange.startIndex, attribute.featureRange.endIndex, layer);
55
61
  attribute.needRegenerateVertices = false;
56
62
  });
@@ -64,13 +70,13 @@ var UpdateStyleAttributePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__
64
70
  return attribute.needRegenerateVertices;
65
71
  }).forEach(function (attribute) {
66
72
  // 精确更新某个/某些 feature(s),需要传入 featureIdx d
67
- styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(),
68
- // 获取经过 mapping 最新的数据
73
+ styleAttributeService.updateAttributeByFeatureRange(attribute.name, layer.getEncodedData(), // 获取经过 mapping 最新的数据
69
74
  attribute.featureRange.startIndex, attribute.featureRange.endIndex);
70
75
  attribute.needRegenerateVertices = false;
71
76
  });
72
77
  }
73
78
  }]);
79
+
74
80
  return UpdateStyleAttributePlugin;
75
81
  }()) || _class);
76
82
  export { UpdateStyleAttributePlugin as default };
package/es/point/index.js CHANGED
@@ -6,26 +6,42 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
6
6
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
7
7
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
8
8
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
9
+
9
10
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
11
+
10
12
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
13
+
14
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
15
+
12
16
  import _regeneratorRuntime from "@babel/runtime/regenerator";
17
+
13
18
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
19
+
14
20
  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; } }
21
+
15
22
  import BaseLayer from "../core/BaseLayer";
16
23
  import PointModels from "./models/index";
24
+
17
25
  var PointLayer = /*#__PURE__*/function (_BaseLayer) {
18
26
  _inherits(PointLayer, _BaseLayer);
27
+
19
28
  var _super = _createSuper(PointLayer);
29
+
20
30
  function PointLayer() {
21
31
  var _this;
32
+
22
33
  _classCallCheck(this, PointLayer);
34
+
23
35
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
24
36
  args[_key] = arguments[_key];
25
37
  }
38
+
26
39
  _this = _super.call.apply(_super, [this].concat(args));
40
+
27
41
  _defineProperty(_assertThisInitialized(_this), "type", 'PointLayer');
42
+
28
43
  _defineProperty(_assertThisInitialized(_this), "enableEncodeStyles", ['opacity', 'offsets', 'stroke']);
44
+
29
45
  _defineProperty(_assertThisInitialized(_this), "defaultSourceConfig", {
30
46
  data: [],
31
47
  options: {
@@ -36,32 +52,41 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
36
52
  }
37
53
  }
38
54
  });
55
+
39
56
  return _this;
40
57
  }
58
+
41
59
  _createClass(PointLayer, [{
42
60
  key: "buildModels",
43
61
  value: function () {
44
62
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
45
63
  var modelType;
46
64
  return _regeneratorRuntime.wrap(function _callee$(_context) {
47
- while (1) switch (_context.prev = _context.next) {
48
- case 0:
49
- modelType = this.getModelType();
50
- if (this.layerModel) {
51
- this.layerModel.clearModels();
52
- }
53
- this.layerModel = new PointModels[modelType](this);
54
- _context.next = 5;
55
- return this.initLayerModels();
56
- case 5:
57
- case "end":
58
- return _context.stop();
65
+ while (1) {
66
+ switch (_context.prev = _context.next) {
67
+ case 0:
68
+ modelType = this.getModelType();
69
+
70
+ if (this.layerModel) {
71
+ this.layerModel.clearModels();
72
+ }
73
+
74
+ this.layerModel = new PointModels[modelType](this);
75
+ _context.next = 5;
76
+ return this.initLayerModels();
77
+
78
+ case 5:
79
+ case "end":
80
+ return _context.stop();
81
+ }
59
82
  }
60
83
  }, _callee, this);
61
84
  }));
85
+
62
86
  function buildModels() {
63
87
  return _buildModels.apply(this, arguments);
64
88
  }
89
+
65
90
  return buildModels;
66
91
  }()
67
92
  }, {
@@ -69,47 +94,60 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
69
94
  value: function () {
70
95
  var _rebuildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
71
96
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
72
- while (1) switch (_context2.prev = _context2.next) {
73
- case 0:
74
- _context2.next = 2;
75
- return this.buildModels();
76
- case 2:
77
- case "end":
78
- return _context2.stop();
97
+ while (1) {
98
+ switch (_context2.prev = _context2.next) {
99
+ case 0:
100
+ _context2.next = 2;
101
+ return this.buildModels();
102
+
103
+ case 2:
104
+ case "end":
105
+ return _context2.stop();
106
+ }
79
107
  }
80
108
  }, _callee2, this);
81
109
  }));
110
+
82
111
  function rebuildModels() {
83
112
  return _rebuildModels.apply(this, arguments);
84
113
  }
114
+
85
115
  return rebuildModels;
86
116
  }()
87
117
  /**
88
118
  * 在未传入数据的时候判断点图层的 shape 类型
89
119
  * @returns
90
120
  */
121
+
91
122
  }, {
92
123
  key: "getModelTypeWillEmptyData",
93
124
  value: function getModelTypeWillEmptyData() {
94
125
  if (this.shapeOption) {
95
126
  var _this$shapeOption = this.shapeOption,
96
- field = _this$shapeOption.field,
97
- values = _this$shapeOption.values;
127
+ field = _this$shapeOption.field,
128
+ values = _this$shapeOption.values;
129
+
98
130
  var _this$getLayerConfig = this.getLayerConfig(),
99
- shape2d = _this$getLayerConfig.shape2d;
131
+ shape2d = _this$getLayerConfig.shape2d;
132
+
100
133
  var iconMap = this.iconService.getIconMap();
134
+
101
135
  if (field && (shape2d === null || shape2d === void 0 ? void 0 : shape2d.indexOf(field)) !== -1) {
102
136
  return 'fill';
103
137
  }
138
+
104
139
  if (values === 'text') {
105
140
  return 'text';
106
141
  }
142
+
107
143
  if (values && values instanceof Array) {
108
144
  var _iterator = _createForOfIteratorHelper(values),
109
- _step;
145
+ _step;
146
+
110
147
  try {
111
148
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
112
149
  var v = _step.value;
150
+
113
151
  if (typeof v === 'string' && iconMap.hasOwnProperty(v)) {
114
152
  return 'image';
115
153
  }
@@ -121,6 +159,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
121
159
  }
122
160
  }
123
161
  }
162
+
124
163
  return 'normal';
125
164
  }
126
165
  }, {
@@ -154,29 +193,37 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
154
193
  value: function getModelType() {
155
194
  // 2D、 3d、 shape、image、text、normal、
156
195
  var layerData = this.getEncodedData();
196
+
157
197
  var _this$getLayerConfig2 = this.getLayerConfig(),
158
- shape2d = _this$getLayerConfig2.shape2d,
159
- shape3d = _this$getLayerConfig2.shape3d;
198
+ shape2d = _this$getLayerConfig2.shape2d,
199
+ shape3d = _this$getLayerConfig2.shape3d;
200
+
160
201
  var iconMap = this.iconService.getIconMap();
161
202
  var item = layerData.find(function (fe) {
162
203
  return fe.hasOwnProperty('shape');
163
204
  });
205
+
164
206
  if (!item) {
165
207
  return this.getModelTypeWillEmptyData();
166
208
  } else {
167
209
  var shape = item.shape;
210
+
168
211
  if (shape === 'dot') {
169
212
  return 'normal';
170
213
  }
214
+
171
215
  if (shape === 'simple') {
172
216
  return 'simplePoint';
173
217
  }
218
+
174
219
  if (shape === 'radar') {
175
220
  return 'radar';
176
221
  }
222
+
177
223
  if (this.layerType === 'fillImage') {
178
224
  return 'fillImage';
179
225
  }
226
+
180
227
  if ((shape2d === null || shape2d === void 0 ? void 0 : shape2d.indexOf(shape)) !== -1) {
181
228
  if (this.mapService.version === 'GLOBEL') {
182
229
  return 'earthFill';
@@ -184,6 +231,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
184
231
  return 'fill';
185
232
  }
186
233
  }
234
+
187
235
  if ((shape3d === null || shape3d === void 0 ? void 0 : shape3d.indexOf(shape)) !== -1) {
188
236
  if (this.mapService.version === 'GLOBEL') {
189
237
  return 'earthExtrude';
@@ -191,13 +239,17 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
191
239
  return 'extrude';
192
240
  }
193
241
  }
242
+
194
243
  if (iconMap.hasOwnProperty(shape)) {
195
244
  return 'image';
196
245
  }
246
+
197
247
  return 'text';
198
248
  }
199
249
  }
200
250
  }]);
251
+
201
252
  return PointLayer;
202
253
  }(BaseLayer);
254
+
203
255
  export { PointLayer as default };