@antv/l7-layers 2.15.5 → 2.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) 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 +486 -321
  10. package/es/core/BaseModel.js +126 -97
  11. package/es/core/LayerPickService.js +32 -21
  12. package/es/core/TextureService.js +13 -0
  13. package/es/core/interface.js +24 -17
  14. package/es/core/shape/Path.js +20 -13
  15. package/es/core/shape/extrude.js +31 -10
  16. package/es/core/triangulation.js +114 -54
  17. package/es/earth/index.js +33 -9
  18. package/es/earth/models/atmosphere.js +54 -30
  19. package/es/earth/models/base.js +85 -47
  20. package/es/earth/models/bloomsphere.js +54 -30
  21. package/es/earth/utils.js +13 -9
  22. package/es/heatmap/index.js +40 -10
  23. package/es/heatmap/models/grid.js +52 -28
  24. package/es/heatmap/models/grid3d.js +52 -28
  25. package/es/heatmap/models/heatmap.js +146 -91
  26. package/es/heatmap/models/hexagon.js +52 -28
  27. package/es/heatmap/triangulation.js +4 -0
  28. package/es/image/index.js +28 -9
  29. package/es/image/models/image.js +100 -66
  30. package/es/index.js +17 -9
  31. package/es/line/index.js +34 -9
  32. package/es/line/models/arc.js +118 -66
  33. package/es/line/models/arc_3d.js +108 -60
  34. package/es/line/models/earthArc_3d.js +111 -63
  35. package/es/line/models/great_circle.js +100 -56
  36. package/es/line/models/half.js +77 -46
  37. package/es/line/models/line.js +148 -94
  38. package/es/line/models/linearline.js +80 -45
  39. package/es/line/models/simpleLine.js +74 -41
  40. package/es/line/models/wall.js +92 -52
  41. package/es/mask/index.js +28 -9
  42. package/es/mask/models/fill.js +54 -29
  43. package/es/plugins/DataMappingPlugin.js +117 -80
  44. package/es/plugins/DataSourcePlugin.js +68 -45
  45. package/es/plugins/FeatureScalePlugin.js +122 -67
  46. package/es/plugins/LayerAnimateStylePlugin.js +5 -0
  47. package/es/plugins/LayerMaskPlugin.js +11 -3
  48. package/es/plugins/LayerModelPlugin.js +104 -67
  49. package/es/plugins/LayerStylePlugin.js +9 -3
  50. package/es/plugins/LightingPlugin.js +18 -12
  51. package/es/plugins/MultiPassRendererPlugin.js +16 -11
  52. package/es/plugins/PixelPickingPlugin.js +21 -12
  53. package/es/plugins/RegisterStyleAttributePlugin.js +12 -5
  54. package/es/plugins/ShaderUniformPlugin.js +27 -13
  55. package/es/plugins/UpdateModelPlugin.js +5 -0
  56. package/es/plugins/UpdateStyleAttributePlugin.js +11 -5
  57. package/es/point/index.js +77 -26
  58. package/es/point/models/earthExtrude.js +102 -61
  59. package/es/point/models/earthFill.js +87 -57
  60. package/es/point/models/extrude.js +101 -60
  61. package/es/point/models/fill.js +100 -70
  62. package/es/point/models/fillmage.js +107 -63
  63. package/es/point/models/image.js +88 -48
  64. package/es/point/models/index.js +2 -2
  65. package/es/point/models/normal.js +54 -30
  66. package/es/point/models/radar.js +64 -40
  67. package/es/point/models/simplePoint.js +69 -41
  68. package/es/point/models/text.d.ts +2 -1
  69. package/es/point/models/text.js +305 -201
  70. package/es/point/shape/extrude.js +13 -4
  71. package/es/polygon/index.js +40 -11
  72. package/es/polygon/models/extrude.js +92 -48
  73. package/es/polygon/models/fill.js +88 -54
  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/dataMappingStyle.js +18 -8
  104. package/es/utils/extrude_polyline.js +149 -101
  105. package/es/utils/grid-index.js +27 -2
  106. package/es/utils/identityScale.js +8 -0
  107. package/es/utils/layerData.js +44 -30
  108. package/es/utils/multiPassRender.js +13 -11
  109. package/es/utils/polylineNormal.js +37 -31
  110. package/es/utils/simpleLine.js +16 -2
  111. package/es/utils/stencil.js +3 -2
  112. package/es/utils/symbol-layout.js +53 -27
  113. package/es/wind/index.js +29 -9
  114. package/es/wind/models/utils.js +51 -26
  115. package/es/wind/models/wind.js +147 -101
  116. package/es/wind/models/windRender.js +66 -53
  117. package/lib/Geometry/index.js +38 -9
  118. package/lib/Geometry/models/billboard.js +97 -51
  119. package/lib/Geometry/models/index.js +5 -0
  120. package/lib/Geometry/models/plane.js +151 -79
  121. package/lib/Geometry/models/sprite.js +127 -60
  122. package/lib/canvas/index.js +40 -10
  123. package/lib/canvas/models/canvas.js +101 -41
  124. package/lib/canvas/models/index.js +3 -0
  125. package/lib/citybuliding/building.js +35 -8
  126. package/lib/citybuliding/models/build.js +92 -57
  127. package/lib/core/BaseLayer.js +480 -321
  128. package/lib/core/BaseModel.js +139 -97
  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 +54 -10
  135. package/lib/core/triangulation.js +153 -53
  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 +162 -91
  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 +128 -64
  154. package/lib/line/models/arc_3d.js +119 -58
  155. package/lib/line/models/earthArc_3d.js +122 -61
  156. package/lib/line/models/great_circle.js +111 -56
  157. package/lib/line/models/half.js +87 -46
  158. package/lib/line/models/index.js +11 -0
  159. package/lib/line/models/line.js +156 -92
  160. package/lib/line/models/linearline.js +92 -45
  161. package/lib/line/models/simpleLine.js +84 -41
  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 +128 -80
  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 +113 -68
  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 +113 -61
  182. package/lib/point/models/earthFill.js +117 -57
  183. package/lib/point/models/extrude.js +111 -60
  184. package/lib/point/models/fill.js +109 -68
  185. package/lib/point/models/fillmage.js +115 -61
  186. package/lib/point/models/image.js +98 -48
  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 +74 -40
  190. package/lib/point/models/simplePoint.js +79 -41
  191. package/lib/point/models/text.js +314 -202
  192. package/lib/point/shape/extrude.js +20 -4
  193. package/lib/polygon/index.js +48 -11
  194. package/lib/polygon/models/extrude.js +103 -48
  195. package/lib/polygon/models/fill.js +98 -54
  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/dataMappingStyle.js +19 -8
  228. package/lib/utils/extrude_polyline.js +181 -101
  229. package/lib/utils/grid-index.js +28 -2
  230. package/lib/utils/identityScale.js +9 -0
  231. package/lib/utils/layerData.js +49 -30
  232. package/lib/utils/multiPassRender.js +16 -11
  233. package/lib/utils/polylineNormal.js +66 -31
  234. package/lib/utils/simpleLine.js +21 -2
  235. package/lib/utils/stencil.js +4 -0
  236. package/lib/utils/symbol-layout.js +55 -27
  237. package/lib/wind/index.js +37 -9
  238. package/lib/wind/models/index.js +3 -0
  239. package/lib/wind/models/utils.js +62 -26
  240. package/lib/wind/models/wind.js +157 -101
  241. package/lib/wind/models/windRender.js +71 -53
  242. package/lib/wind/models/windShader.js +1 -0
  243. 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 sceneCenterMKT = [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
  sceneCenterMKT = _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_SceneCenterMKT", sceneCenterMKT), _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_SceneCenterMKT", sceneCenterMKT), _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,25 +6,40 @@ 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), "defaultSourceConfig", {
29
44
  data: [],
30
45
  options: {
@@ -35,32 +50,41 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
35
50
  }
36
51
  }
37
52
  });
53
+
38
54
  return _this;
39
55
  }
56
+
40
57
  _createClass(PointLayer, [{
41
58
  key: "buildModels",
42
59
  value: function () {
43
60
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
44
61
  var modelType;
45
62
  return _regeneratorRuntime.wrap(function _callee$(_context) {
46
- while (1) switch (_context.prev = _context.next) {
47
- case 0:
48
- modelType = this.getModelType();
49
- if (this.layerModel) {
50
- this.layerModel.clearModels();
51
- }
52
- this.layerModel = new PointModels[modelType](this);
53
- _context.next = 5;
54
- return this.initLayerModels();
55
- case 5:
56
- case "end":
57
- return _context.stop();
63
+ while (1) {
64
+ switch (_context.prev = _context.next) {
65
+ case 0:
66
+ modelType = this.getModelType();
67
+
68
+ if (this.layerModel) {
69
+ this.layerModel.clearModels();
70
+ }
71
+
72
+ this.layerModel = new PointModels[modelType](this);
73
+ _context.next = 5;
74
+ return this.initLayerModels();
75
+
76
+ case 5:
77
+ case "end":
78
+ return _context.stop();
79
+ }
58
80
  }
59
81
  }, _callee, this);
60
82
  }));
83
+
61
84
  function buildModels() {
62
85
  return _buildModels.apply(this, arguments);
63
86
  }
87
+
64
88
  return buildModels;
65
89
  }()
66
90
  }, {
@@ -68,47 +92,60 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
68
92
  value: function () {
69
93
  var _rebuildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
70
94
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
71
- while (1) switch (_context2.prev = _context2.next) {
72
- case 0:
73
- _context2.next = 2;
74
- return this.buildModels();
75
- case 2:
76
- case "end":
77
- return _context2.stop();
95
+ while (1) {
96
+ switch (_context2.prev = _context2.next) {
97
+ case 0:
98
+ _context2.next = 2;
99
+ return this.buildModels();
100
+
101
+ case 2:
102
+ case "end":
103
+ return _context2.stop();
104
+ }
78
105
  }
79
106
  }, _callee2, this);
80
107
  }));
108
+
81
109
  function rebuildModels() {
82
110
  return _rebuildModels.apply(this, arguments);
83
111
  }
112
+
84
113
  return rebuildModels;
85
114
  }()
86
115
  /**
87
116
  * 在未传入数据的时候判断点图层的 shape 类型
88
117
  * @returns
89
118
  */
119
+
90
120
  }, {
91
121
  key: "getModelTypeWillEmptyData",
92
122
  value: function getModelTypeWillEmptyData() {
93
123
  if (this.shapeOption) {
94
124
  var _this$shapeOption = this.shapeOption,
95
- field = _this$shapeOption.field,
96
- values = _this$shapeOption.values;
125
+ field = _this$shapeOption.field,
126
+ values = _this$shapeOption.values;
127
+
97
128
  var _this$getLayerConfig = this.getLayerConfig(),
98
- shape2d = _this$getLayerConfig.shape2d;
129
+ shape2d = _this$getLayerConfig.shape2d;
130
+
99
131
  var iconMap = this.iconService.getIconMap();
132
+
100
133
  if (field && (shape2d === null || shape2d === void 0 ? void 0 : shape2d.indexOf(field)) !== -1) {
101
134
  return 'fill';
102
135
  }
136
+
103
137
  if (values === 'text') {
104
138
  return 'text';
105
139
  }
140
+
106
141
  if (values && values instanceof Array) {
107
142
  var _iterator = _createForOfIteratorHelper(values),
108
- _step;
143
+ _step;
144
+
109
145
  try {
110
146
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
111
147
  var v = _step.value;
148
+
112
149
  if (typeof v === 'string' && iconMap.hasOwnProperty(v)) {
113
150
  return 'image';
114
151
  }
@@ -120,6 +157,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
120
157
  }
121
158
  }
122
159
  }
160
+
123
161
  return 'normal';
124
162
  }
125
163
  }, {
@@ -153,29 +191,37 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
153
191
  value: function getModelType() {
154
192
  // 2D、 3d、 shape、image、text、normal、
155
193
  var layerData = this.getEncodedData();
194
+
156
195
  var _this$getLayerConfig2 = this.getLayerConfig(),
157
- shape2d = _this$getLayerConfig2.shape2d,
158
- shape3d = _this$getLayerConfig2.shape3d;
196
+ shape2d = _this$getLayerConfig2.shape2d,
197
+ shape3d = _this$getLayerConfig2.shape3d;
198
+
159
199
  var iconMap = this.iconService.getIconMap();
160
200
  var item = layerData.find(function (fe) {
161
201
  return fe.hasOwnProperty('shape');
162
202
  });
203
+
163
204
  if (!item) {
164
205
  return this.getModelTypeWillEmptyData();
165
206
  } else {
166
207
  var shape = item.shape;
208
+
167
209
  if (shape === 'dot') {
168
210
  return 'normal';
169
211
  }
212
+
170
213
  if (shape === 'simple') {
171
214
  return 'simplePoint';
172
215
  }
216
+
173
217
  if (shape === 'radar') {
174
218
  return 'radar';
175
219
  }
220
+
176
221
  if (this.layerType === 'fillImage') {
177
222
  return 'fillImage';
178
223
  }
224
+
179
225
  if ((shape2d === null || shape2d === void 0 ? void 0 : shape2d.indexOf(shape)) !== -1) {
180
226
  if (this.mapService.version === 'GLOBEL') {
181
227
  return 'earthFill';
@@ -183,6 +229,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
183
229
  return 'fill';
184
230
  }
185
231
  }
232
+
186
233
  if ((shape3d === null || shape3d === void 0 ? void 0 : shape3d.indexOf(shape)) !== -1) {
187
234
  if (this.mapService.version === 'GLOBEL') {
188
235
  return 'earthExtrude';
@@ -190,13 +237,17 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
190
237
  return 'extrude';
191
238
  }
192
239
  }
240
+
193
241
  if (iconMap.hasOwnProperty(shape)) {
194
242
  return 'image';
195
243
  }
244
+
196
245
  return 'text';
197
246
  }
198
247
  }
199
248
  }]);
249
+
200
250
  return PointLayer;
201
251
  }(BaseLayer);
252
+
202
253
  export { PointLayer as default };