@antv/l7-layers 2.15.1 → 2.15.3

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 +9 -31
  2. package/es/Geometry/models/billboard.js +51 -89
  3. package/es/Geometry/models/plane.js +81 -143
  4. package/es/Geometry/models/sprite.js +60 -118
  5. package/es/canvas/index.js +10 -33
  6. package/es/canvas/models/canvas.js +41 -97
  7. package/es/citybuliding/building.js +8 -27
  8. package/es/citybuliding/models/build.js +57 -82
  9. package/es/core/BaseLayer.js +320 -484
  10. package/es/core/BaseModel.js +97 -126
  11. package/es/core/LayerPickService.js +21 -32
  12. package/es/core/TextureService.js +0 -13
  13. package/es/core/interface.js +17 -24
  14. package/es/core/shape/Path.js +13 -20
  15. package/es/core/shape/extrude.js +10 -31
  16. package/es/core/triangulation.js +54 -114
  17. package/es/earth/index.js +9 -33
  18. package/es/earth/models/atmosphere.js +30 -54
  19. package/es/earth/models/base.js +47 -85
  20. package/es/earth/models/bloomsphere.js +30 -54
  21. package/es/earth/utils.js +9 -13
  22. package/es/heatmap/index.js +10 -40
  23. package/es/heatmap/models/grid.js +28 -52
  24. package/es/heatmap/models/grid3d.js +28 -52
  25. package/es/heatmap/models/heatmap.js +91 -146
  26. package/es/heatmap/models/hexagon.js +28 -52
  27. package/es/heatmap/triangulation.js +0 -4
  28. package/es/image/index.js +9 -28
  29. package/es/image/models/image.js +66 -100
  30. package/es/index.js +9 -17
  31. package/es/line/index.js +9 -34
  32. package/es/line/models/arc.js +66 -118
  33. package/es/line/models/arc_3d.js +60 -108
  34. package/es/line/models/earthArc_3d.js +63 -111
  35. package/es/line/models/great_circle.js +56 -100
  36. package/es/line/models/half.js +46 -77
  37. package/es/line/models/line.js +94 -148
  38. package/es/line/models/linearline.js +45 -80
  39. package/es/line/models/simpleLine.js +41 -74
  40. package/es/line/models/wall.js +52 -92
  41. package/es/mask/index.js +9 -28
  42. package/es/mask/models/fill.js +29 -54
  43. package/es/plugins/DataMappingPlugin.js +80 -117
  44. package/es/plugins/DataSourcePlugin.js +45 -68
  45. package/es/plugins/FeatureScalePlugin.js +67 -122
  46. package/es/plugins/LayerAnimateStylePlugin.js +0 -5
  47. package/es/plugins/LayerMaskPlugin.js +3 -11
  48. package/es/plugins/LayerModelPlugin.js +67 -104
  49. package/es/plugins/LayerStylePlugin.js +3 -9
  50. package/es/plugins/LightingPlugin.js +12 -18
  51. package/es/plugins/MultiPassRendererPlugin.js +11 -16
  52. package/es/plugins/PixelPickingPlugin.js +12 -21
  53. package/es/plugins/RegisterStyleAttributePlugin.js +5 -12
  54. package/es/plugins/ShaderUniformPlugin.js +13 -27
  55. package/es/plugins/UpdateModelPlugin.js +0 -5
  56. package/es/plugins/UpdateStyleAttributePlugin.js +5 -11
  57. package/es/point/index.js +26 -77
  58. package/es/point/models/earthExtrude.js +61 -102
  59. package/es/point/models/earthFill.js +57 -87
  60. package/es/point/models/extrude.js +60 -101
  61. package/es/point/models/fill.js +70 -100
  62. package/es/point/models/fillmage.js +63 -107
  63. package/es/point/models/image.js +48 -88
  64. package/es/point/models/index.js +2 -2
  65. package/es/point/models/normal.js +30 -54
  66. package/es/point/models/radar.js +40 -64
  67. package/es/point/models/simplePoint.js +41 -69
  68. package/es/point/models/text.d.ts +2 -0
  69. package/es/point/models/text.js +214 -295
  70. package/es/point/shape/extrude.js +4 -13
  71. package/es/polygon/index.js +11 -40
  72. package/es/polygon/models/extrude.js +48 -92
  73. package/es/polygon/models/fill.js +54 -88
  74. package/es/polygon/models/index.js +3 -2
  75. package/es/polygon/models/ocean.js +42 -76
  76. package/es/polygon/models/water.js +37 -71
  77. package/es/raster/buffers/triangulation.js +2 -4
  78. package/es/raster/index.js +9 -32
  79. package/es/raster/models/raster.js +80 -116
  80. package/es/raster/models/rasterRgb.js +84 -127
  81. package/es/raster/models/rasterTerrainRgb.js +56 -84
  82. package/es/tile/interaction/getRasterData.js +14 -20
  83. package/es/tile/interaction/utils.js +7 -9
  84. package/es/tile/manager/base.js +63 -96
  85. package/es/tile/service/TileLayerService.js +30 -52
  86. package/es/tile/service/TilePickService.js +26 -40
  87. package/es/tile/service/TileSourceService.js +3 -7
  88. package/es/tile/tileFactory/DebugTile.js +28 -45
  89. package/es/tile/tileFactory/ImageTile.js +20 -38
  90. package/es/tile/tileFactory/MaskTile.js +22 -43
  91. package/es/tile/tileFactory/RasterRGBTile.js +22 -42
  92. package/es/tile/tileFactory/RasterTerrainRGBTile.js +20 -38
  93. package/es/tile/tileFactory/RasterTile.js +30 -53
  94. package/es/tile/tileFactory/Tile.js +63 -97
  95. package/es/tile/tileFactory/VectorTile.js +41 -68
  96. package/es/tile/tileFactory/index.js +0 -11
  97. package/es/tile/tileFactory/layers/TileDebugLayer.js +6 -27
  98. package/es/tile/tileFactory/util.js +0 -3
  99. package/es/tile/tileLayer/BaseLayer.js +105 -146
  100. package/es/tile/utils.js +1 -1
  101. package/es/utils/blend.js +0 -2
  102. package/es/utils/collision-index.js +9 -16
  103. package/es/utils/dataMappingStyle.js +8 -18
  104. package/es/utils/extrude_polyline.js +101 -149
  105. package/es/utils/grid-index.js +2 -27
  106. package/es/utils/identityScale.js +0 -8
  107. package/es/utils/layerData.js +30 -44
  108. package/es/utils/multiPassRender.js +11 -13
  109. package/es/utils/polylineNormal.js +31 -37
  110. package/es/utils/simpleLine.js +2 -16
  111. package/es/utils/stencil.js +2 -3
  112. package/es/utils/symbol-layout.js +27 -53
  113. package/es/wind/index.js +9 -29
  114. package/es/wind/models/utils.js +26 -51
  115. package/es/wind/models/wind.js +101 -147
  116. package/es/wind/models/windRender.js +53 -66
  117. package/lib/Geometry/index.js +9 -38
  118. package/lib/Geometry/models/billboard.js +51 -97
  119. package/lib/Geometry/models/index.js +0 -5
  120. package/lib/Geometry/models/plane.js +79 -151
  121. package/lib/Geometry/models/sprite.js +60 -127
  122. package/lib/canvas/index.js +10 -40
  123. package/lib/canvas/models/canvas.js +41 -101
  124. package/lib/canvas/models/index.js +0 -3
  125. package/lib/citybuliding/building.js +8 -35
  126. package/lib/citybuliding/models/build.js +57 -92
  127. package/lib/core/BaseLayer.js +320 -478
  128. package/lib/core/BaseModel.js +97 -139
  129. package/lib/core/LayerPickService.js +21 -37
  130. package/lib/core/TextureService.js +0 -16
  131. package/lib/core/interface.js +21 -31
  132. package/lib/core/schema.js +0 -1
  133. package/lib/core/shape/Path.js +14 -31
  134. package/lib/core/shape/extrude.js +10 -54
  135. package/lib/core/triangulation.js +53 -153
  136. package/lib/earth/index.js +9 -43
  137. package/lib/earth/models/atmosphere.js +30 -63
  138. package/lib/earth/models/base.js +47 -90
  139. package/lib/earth/models/bloomsphere.js +30 -63
  140. package/lib/earth/utils.js +7 -31
  141. package/lib/heatmap/index.js +10 -48
  142. package/lib/heatmap/models/grid.js +28 -60
  143. package/lib/heatmap/models/grid3d.js +28 -60
  144. package/lib/heatmap/models/heatmap.js +91 -162
  145. package/lib/heatmap/models/hexagon.js +28 -60
  146. package/lib/heatmap/models/index.js +0 -6
  147. package/lib/heatmap/triangulation.js +0 -5
  148. package/lib/image/index.js +9 -36
  149. package/lib/image/models/image.js +66 -109
  150. package/lib/image/models/index.js +0 -3
  151. package/lib/index.js +7 -61
  152. package/lib/line/index.js +9 -40
  153. package/lib/line/models/arc.js +64 -128
  154. package/lib/line/models/arc_3d.js +58 -119
  155. package/lib/line/models/earthArc_3d.js +61 -122
  156. package/lib/line/models/great_circle.js +56 -111
  157. package/lib/line/models/half.js +46 -87
  158. package/lib/line/models/index.js +0 -11
  159. package/lib/line/models/line.js +92 -156
  160. package/lib/line/models/linearline.js +45 -92
  161. package/lib/line/models/simpleLine.js +41 -84
  162. package/lib/line/models/wall.js +52 -103
  163. package/lib/mask/index.js +9 -36
  164. package/lib/mask/models/fill.js +29 -63
  165. package/lib/mask/models/index.js +0 -3
  166. package/lib/plugins/DataMappingPlugin.js +80 -128
  167. package/lib/plugins/DataSourcePlugin.js +45 -76
  168. package/lib/plugins/FeatureScalePlugin.js +67 -138
  169. package/lib/plugins/LayerAnimateStylePlugin.js +0 -10
  170. package/lib/plugins/LayerMaskPlugin.js +4 -17
  171. package/lib/plugins/LayerModelPlugin.js +68 -113
  172. package/lib/plugins/LayerStylePlugin.js +4 -14
  173. package/lib/plugins/LightingPlugin.js +12 -25
  174. package/lib/plugins/MultiPassRendererPlugin.js +11 -22
  175. package/lib/plugins/PixelPickingPlugin.js +12 -27
  176. package/lib/plugins/RegisterStyleAttributePlugin.js +5 -19
  177. package/lib/plugins/ShaderUniformPlugin.js +13 -34
  178. package/lib/plugins/UpdateModelPlugin.js +1 -10
  179. package/lib/plugins/UpdateStyleAttributePlugin.js +5 -16
  180. package/lib/point/index.js +26 -83
  181. package/lib/point/models/earthExtrude.js +61 -113
  182. package/lib/point/models/earthFill.js +57 -117
  183. package/lib/point/models/extrude.js +60 -111
  184. package/lib/point/models/fill.js +68 -109
  185. package/lib/point/models/fillmage.js +61 -115
  186. package/lib/point/models/image.js +48 -98
  187. package/lib/point/models/index.js +1 -12
  188. package/lib/point/models/normal.js +30 -64
  189. package/lib/point/models/radar.js +40 -74
  190. package/lib/point/models/simplePoint.js +41 -79
  191. package/lib/point/models/text.js +214 -303
  192. package/lib/point/shape/extrude.js +4 -20
  193. package/lib/polygon/index.js +11 -48
  194. package/lib/polygon/models/extrude.js +48 -103
  195. package/lib/polygon/models/fill.js +54 -98
  196. package/lib/polygon/models/index.js +2 -14
  197. package/lib/polygon/models/ocean.js +42 -88
  198. package/lib/polygon/models/water.js +37 -82
  199. package/lib/raster/buffers/triangulation.js +3 -7
  200. package/lib/raster/index.js +9 -40
  201. package/lib/raster/models/index.js +0 -5
  202. package/lib/raster/models/raster.js +80 -125
  203. package/lib/raster/models/rasterRgb.js +84 -139
  204. package/lib/raster/models/rasterTerrainRgb.js +56 -93
  205. package/lib/tile/interaction/getRasterData.js +14 -25
  206. package/lib/tile/interaction/utils.js +7 -19
  207. package/lib/tile/manager/base.js +63 -104
  208. package/lib/tile/service/TileLayerService.js +30 -57
  209. package/lib/tile/service/TilePickService.js +26 -48
  210. package/lib/tile/service/TileSourceService.js +2 -16
  211. package/lib/tile/style/utils.js +0 -3
  212. package/lib/tile/tileFactory/DebugTile.js +28 -53
  213. package/lib/tile/tileFactory/ImageTile.js +20 -46
  214. package/lib/tile/tileFactory/MaskTile.js +22 -51
  215. package/lib/tile/tileFactory/RasterRGBTile.js +22 -50
  216. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +20 -46
  217. package/lib/tile/tileFactory/RasterTile.js +30 -63
  218. package/lib/tile/tileFactory/Tile.js +63 -102
  219. package/lib/tile/tileFactory/VectorTile.js +41 -76
  220. package/lib/tile/tileFactory/index.js +0 -25
  221. package/lib/tile/tileFactory/layers/TileDebugLayer.js +6 -32
  222. package/lib/tile/tileFactory/util.js +0 -9
  223. package/lib/tile/tileLayer/BaseLayer.js +105 -153
  224. package/lib/tile/utils.js +1 -5
  225. package/lib/utils/blend.js +0 -5
  226. package/lib/utils/collision-index.js +9 -25
  227. package/lib/utils/dataMappingStyle.js +8 -19
  228. package/lib/utils/extrude_polyline.js +101 -181
  229. package/lib/utils/grid-index.js +2 -28
  230. package/lib/utils/identityScale.js +0 -9
  231. package/lib/utils/layerData.js +30 -49
  232. package/lib/utils/multiPassRender.js +11 -16
  233. package/lib/utils/polylineNormal.js +31 -66
  234. package/lib/utils/simpleLine.js +2 -21
  235. package/lib/utils/stencil.js +0 -4
  236. package/lib/utils/symbol-layout.js +27 -55
  237. package/lib/wind/index.js +9 -37
  238. package/lib/wind/models/index.js +0 -3
  239. package/lib/wind/models/utils.js +26 -62
  240. package/lib/wind/models/wind.js +101 -157
  241. package/lib/wind/models/windRender.js +53 -71
  242. package/lib/wind/models/windShader.js +0 -1
  243. package/package.json +7 -7
@@ -1,74 +1,50 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
-
14
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
-
16
11
  var _initializerDefineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/initializerDefineProperty"));
17
-
18
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
-
20
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
-
22
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
15
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
25
-
26
16
  var _initializerWarningHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/initializerWarningHelper"));
27
-
28
17
  var _l7Core = require("@antv/l7-core");
29
-
30
18
  var _l7Maps = require("@antv/l7-maps");
31
-
32
19
  var _l7Utils = require("@antv/l7-utils");
33
-
34
20
  var _inversify = require("inversify");
35
-
36
21
  var _lodash = require("lodash");
37
-
38
22
  require("reflect-metadata");
39
-
40
23
  var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
41
-
42
24
  var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inversify.inject)(_l7Core.TYPES.IMapService), _dec3 = (0, _inversify.inject)(_l7Core.TYPES.IFontService), _dec(_class = (_class2 = /*#__PURE__*/function () {
43
25
  function DataMappingPlugin() {
44
26
  (0, _classCallCheck2.default)(this, DataMappingPlugin);
45
27
  (0, _initializerDefineProperty2.default)(this, "mapService", _descriptor, this);
46
28
  (0, _initializerDefineProperty2.default)(this, "fontService", _descriptor2, this);
47
29
  }
48
-
49
30
  (0, _createClass2.default)(DataMappingPlugin, [{
50
31
  key: "apply",
51
32
  value: function apply(layer, _ref) {
52
33
  var _this = this;
53
-
54
34
  var styleAttributeService = _ref.styleAttributeService;
55
35
  layer.hooks.init.tapPromise('DataMappingPlugin', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
56
36
  return _regenerator.default.wrap(function _callee$(_context) {
57
- while (1) {
58
- switch (_context.prev = _context.next) {
59
- case 0:
60
- layer.log(_l7Core.IDebugLog.MappingStart, _l7Core.ILayerStage.INIT); // 初始化重新生成 map
61
-
62
- _this.generateMaping(layer, {
63
- styleAttributeService: styleAttributeService
64
- });
65
-
66
- layer.log(_l7Core.IDebugLog.MappingEnd, _l7Core.ILayerStage.INIT);
67
-
68
- case 3:
69
- case "end":
70
- return _context.stop();
71
- }
37
+ while (1) switch (_context.prev = _context.next) {
38
+ case 0:
39
+ layer.log(_l7Core.IDebugLog.MappingStart, _l7Core.ILayerStage.INIT);
40
+ // 初始化重新生成 map
41
+ _this.generateMaping(layer, {
42
+ styleAttributeService: styleAttributeService
43
+ });
44
+ layer.log(_l7Core.IDebugLog.MappingEnd, _l7Core.ILayerStage.INIT);
45
+ case 3:
46
+ case "end":
47
+ return _context.stop();
72
48
  }
73
49
  }, _callee);
74
50
  })));
@@ -76,104 +52,93 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
76
52
  var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(flag) {
77
53
  var mappingResult;
78
54
  return _regenerator.default.wrap(function _callee2$(_context2) {
79
- while (1) {
80
- switch (_context2.prev = _context2.next) {
81
- case 0:
82
- if (flag) {
83
- _context2.next = 2;
84
- break;
85
- }
86
-
87
- return _context2.abrupt("return", flag);
88
-
89
- case 2:
90
- layer.dataState.dataMappingNeedUpdate = false;
91
- layer.log(_l7Core.IDebugLog.MappingStart, _l7Core.ILayerStage.UPDATE);
92
- mappingResult = _this.generateMaping(layer, {
93
- styleAttributeService: styleAttributeService
94
- });
95
- layer.log(_l7Core.IDebugLog.MappingEnd, _l7Core.ILayerStage.UPDATE);
96
- return _context2.abrupt("return", mappingResult);
97
-
98
- case 7:
99
- case "end":
100
- return _context2.stop();
101
- }
55
+ while (1) switch (_context2.prev = _context2.next) {
56
+ case 0:
57
+ if (flag) {
58
+ _context2.next = 2;
59
+ break;
60
+ }
61
+ return _context2.abrupt("return", flag);
62
+ case 2:
63
+ layer.dataState.dataMappingNeedUpdate = false;
64
+ layer.log(_l7Core.IDebugLog.MappingStart, _l7Core.ILayerStage.UPDATE);
65
+ mappingResult = _this.generateMaping(layer, {
66
+ styleAttributeService: styleAttributeService
67
+ });
68
+ layer.log(_l7Core.IDebugLog.MappingEnd, _l7Core.ILayerStage.UPDATE);
69
+ return _context2.abrupt("return", mappingResult);
70
+ case 7:
71
+ case "end":
72
+ return _context2.stop();
102
73
  }
103
74
  }, _callee2);
104
75
  }));
105
-
106
76
  return function (_x) {
107
77
  return _ref3.apply(this, arguments);
108
78
  };
109
- }()); // remapping before render
79
+ }());
110
80
 
81
+ // remapping before render
111
82
  layer.hooks.beforeRender.tap('DataMappingPlugin', function () {
112
83
  var source = layer.getSource();
113
-
114
84
  if (layer.layerModelNeedUpdate || !source || !source.inited) {
115
85
  return;
116
86
  }
117
-
118
87
  var attributes = styleAttributeService.getLayerStyleAttributes() || [];
119
88
  var filter = styleAttributeService.getLayerStyleAttribute('filter');
120
- var dataArray = source.data.dataArray; // TODO 数据为空的情况
121
-
89
+ var dataArray = source.data.dataArray;
90
+ // TODO 数据为空的情况
122
91
  if (Array.isArray(dataArray) && dataArray.length === 0) {
123
92
  return;
124
93
  }
125
-
126
94
  var attributesToRemapping = attributes.filter(function (attribute) {
127
95
  return attribute.needRemapping;
128
96
  } // 如果filter变化
129
97
  );
130
- var filterData = dataArray; // 数据过滤完 再执行数据映射
131
98
 
99
+ var filterData = dataArray;
100
+ // 数据过滤完 再执行数据映射
132
101
  if (filter !== null && filter !== void 0 && filter.needRemapping && filter !== null && filter !== void 0 && filter.scale) {
133
102
  filterData = dataArray.filter(function (record) {
134
103
  return _this.applyAttributeMapping(filter, record)[0];
135
104
  });
136
105
  }
137
-
138
106
  if (attributesToRemapping.length) {
139
107
  // 过滤数据
140
108
  var encodeData = _this.mapping(layer, attributesToRemapping, filterData, layer.getEncodedData());
141
-
142
109
  layer.setEncodedData(encodeData);
143
- } // 处理文本更新,更新文字形状
144
- // layer.emit('remapping', null);
110
+ }
145
111
 
112
+ // 处理文本更新,更新文字形状
113
+ // layer.emit('remapping', null);
146
114
  });
147
115
  }
148
116
  }, {
149
117
  key: "generateMaping",
150
118
  value: function generateMaping(layer, _ref4) {
151
119
  var _this2 = this;
152
-
153
120
  var styleAttributeService = _ref4.styleAttributeService;
154
121
  var attributes = styleAttributeService.getLayerStyleAttributes() || [];
155
122
  var filter = styleAttributeService.getLayerStyleAttribute('filter');
156
123
  var dataArray = layer.getSource().data.dataArray;
157
- var filterData = dataArray; // 数据过滤完 再执行数据映射
158
-
124
+ var filterData = dataArray;
125
+ // 数据过滤完 再执行数据映射
159
126
  if (filter !== null && filter !== void 0 && filter.scale) {
160
127
  filterData = dataArray.filter(function (record) {
161
128
  return _this2.applyAttributeMapping(filter, record)[0];
162
129
  });
163
- } // Tip: layer 对数据做处理
130
+ }
131
+ // Tip: layer 对数据做处理
164
132
  // 数据处理 在数据进行 mapping 生成 encodeData 之前对数据进行处理
165
133
  // 在各个 layer 中继承
166
134
 
167
-
168
135
  filterData = layer.processData(filterData);
169
136
  var encodeData = this.mapping(layer, attributes, filterData, undefined);
170
137
  layer.setEncodedData(encodeData);
171
-
172
138
  if (dataArray.length === 0 && layer.encodeDataLength === 0) {
173
139
  return false;
174
- } // 对外暴露事件
175
-
176
-
140
+ }
141
+ // 对外暴露事件
177
142
  layer.emit('dataUpdate', null);
178
143
  return true;
179
144
  }
@@ -181,13 +146,11 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
181
146
  key: "mapping",
182
147
  value: function mapping(layer, attributes, data, predata) {
183
148
  var _this3 = this;
184
-
185
149
  var _ref5 = layer.getLayerConfig(),
186
- _ref5$arrow = _ref5.arrow,
187
- arrow = _ref5$arrow === void 0 ? {
188
- enable: false
189
- } : _ref5$arrow;
190
-
150
+ _ref5$arrow = _ref5.arrow,
151
+ arrow = _ref5$arrow === void 0 ? {
152
+ enable: false
153
+ } : _ref5$arrow;
191
154
  var usedAttributes = attributes.filter(function (attribute) {
192
155
  return attribute.scale !== undefined;
193
156
  }).filter(function (attribute) {
@@ -200,45 +163,42 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
200
163
  coordinates: record.coordinates
201
164
  }, preRecord);
202
165
  usedAttributes.forEach(function (attribute) {
203
- var values = _this3.applyAttributeMapping(attribute, record); // TODO: 支持每个属性配置 postprocess
204
-
205
-
166
+ var values = _this3.applyAttributeMapping(attribute, record);
167
+ // TODO: 支持每个属性配置 postprocess
206
168
  if (attribute.name === 'color') {
207
169
  values = values.map(function (c) {
208
170
  return (0, _l7Utils.rgb2arr)(c);
209
171
  });
210
- } // @ts-ignore
211
-
212
-
213
- encodeRecord[attribute.name] = Array.isArray(values) && values.length === 1 ? values[0] : values; // 增加对 layer/text/iconfont unicode 映射的解析
172
+ }
173
+ // @ts-ignore
174
+ encodeRecord[attribute.name] = Array.isArray(values) && values.length === 1 ? values[0] : values;
214
175
 
176
+ // 增加对 layer/text/iconfont unicode 映射的解析
215
177
  if (attribute.name === 'shape') {
216
178
  encodeRecord.shape = _this3.fontService.getIconFontKey(encodeRecord[attribute.name]);
217
179
  }
218
180
  });
219
-
220
181
  if (arrow.enable && (encodeRecord.shape === 'line' || encodeRecord.shape === 'halfLine')) {
221
182
  // 只有在线图层且支持配置箭头的时候进行插入顶点的处理
222
- var coords = encodeRecord.coordinates; // @ts-ignore
223
-
183
+ var coords = encodeRecord.coordinates;
184
+ // @ts-ignore
224
185
  if (layer.arrowInsertCount < layer.encodeDataLength) {
225
186
  // Tip: arrowInsert 的判断用于确保每一条线数据 arrow 的属性点只会被植入一次
226
187
  var arrowPoint = _this3.getArrowPoints(coords[0], coords[1]);
227
-
228
- encodeRecord.coordinates.splice(1, 0, arrowPoint, arrowPoint); // @ts-ignore
229
-
188
+ encodeRecord.coordinates.splice(1, 0, arrowPoint, arrowPoint);
189
+ // @ts-ignore
230
190
  layer.arrowInsertCount++;
231
191
  }
232
192
  }
233
-
234
193
  return encodeRecord;
235
194
  });
236
195
  attributes.forEach(function (attribute) {
237
196
  attribute.needRemapping = false;
238
- }); // 调整数据兼容 Amap2.0
239
-
240
- this.adjustData2Amap2Coordinates(mappedData, layer); // 调整数据兼容 SimpleCoordinates
197
+ });
198
+ // 调整数据兼容 Amap2.0
199
+ this.adjustData2Amap2Coordinates(mappedData, layer);
241
200
 
201
+ // 调整数据兼容 SimpleCoordinates
242
202
  this.adjustData2SimpleCoordinates(mappedData);
243
203
  return mappedData;
244
204
  }
@@ -246,38 +206,36 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
246
206
  key: "adjustData2Amap2Coordinates",
247
207
  value: function adjustData2Amap2Coordinates(mappedData, layer) {
248
208
  var _this4 = this;
249
-
250
209
  // 根据地图的类型判断是否需要对点位数据进行处理, 若是高德2.0则需要对坐标进行相对偏移
251
210
  if (mappedData.length > 0 && this.mapService.version === _l7Maps.Version['GAODE2.x']) {
252
211
  var layerCenter = layer.coordCenter || layer.getSource().center;
253
-
254
212
  if (typeof mappedData[0].coordinates[0] === 'number') {
255
213
  // 单个的点数据
256
214
  // @ts-ignore
257
- mappedData // TODO: 避免经纬度被重复计算导致坐标位置偏移
215
+ mappedData
216
+ // TODO: 避免经纬度被重复计算导致坐标位置偏移
258
217
  .filter(function (d) {
259
218
  return !d.originCoordinates;
260
219
  }).map(function (d) {
261
- d.version = _l7Maps.Version['GAODE2.x']; // @ts-ignore
262
-
220
+ d.version = _l7Maps.Version['GAODE2.x'];
221
+ // @ts-ignore
263
222
  d.originCoordinates = (0, _lodash.cloneDeep)(d.coordinates); // 为了兼容高德1.x 需要保存一份原始的经纬度坐标数据(许多上层逻辑依赖经纬度数据)
264
223
  // @ts-ignore
265
224
  // d.coordinates = this.mapService.lngLatToCoord(d.coordinates);
266
-
267
225
  d.coordinates = _this4.mapService.lngLatToCoordByLayer(d.coordinates, layerCenter);
268
226
  });
269
227
  } else {
270
228
  // 连续的线、面数据
271
- mappedData // TODO: 避免经纬度被重复计算导致坐标位置偏移
229
+ mappedData
230
+ // TODO: 避免经纬度被重复计算导致坐标位置偏移
272
231
  .filter(function (d) {
273
232
  return !d.originCoordinates;
274
233
  }).map(function (d) {
275
- d.version = _l7Maps.Version['GAODE2.x']; // @ts-ignore
276
-
234
+ d.version = _l7Maps.Version['GAODE2.x'];
235
+ // @ts-ignore
277
236
  d.originCoordinates = (0, _lodash.cloneDeep)(d.coordinates); // 为了兼容高德1.x 需要保存一份原始的经纬度坐标数据(许多上层逻辑依赖经纬度数据)
278
237
  // @ts-ignore
279
238
  // d.coordinates = this.mapService.lngLatToCoords(d.coordinates);
280
-
281
239
  d.coordinates = _this4.mapService.lngLatToCoordsByLayer(d.coordinates, layerCenter);
282
240
  });
283
241
  }
@@ -287,7 +245,6 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
287
245
  key: "adjustData2SimpleCoordinates",
288
246
  value: function adjustData2SimpleCoordinates(mappedData) {
289
247
  var _this5 = this;
290
-
291
248
  if (mappedData.length > 0 && this.mapService.version === _l7Maps.Version.SIMPLE) {
292
249
  mappedData.map(function (d) {
293
250
  if (!d.simpleCoordinate) {
@@ -301,11 +258,9 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
301
258
  key: "unProjectCoordinates",
302
259
  value: function unProjectCoordinates(coordinates) {
303
260
  var _this6 = this;
304
-
305
261
  if (typeof coordinates[0] === 'number') {
306
262
  return this.mapService.simpleMapCoord.unproject(coordinates);
307
263
  }
308
-
309
264
  if (coordinates[0] && coordinates[0][0] instanceof Array) {
310
265
  // @ts-ignore
311
266
  var coords = [];
@@ -314,20 +269,20 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
314
269
  var c1 = [];
315
270
  coord.map(function (co) {
316
271
  c1.push(_this6.mapService.simpleMapCoord.unproject(co));
317
- }); // @ts-ignore
318
-
272
+ });
273
+ // @ts-ignore
319
274
  coords.push(c1);
320
- }); // @ts-ignore
321
-
275
+ });
276
+ // @ts-ignore
322
277
  return coords;
323
278
  } else {
324
279
  // @ts-ignore
325
- var _coords = []; // @ts-ignore
326
-
280
+ var _coords = [];
281
+ // @ts-ignore
327
282
  coordinates.map(function (coord) {
328
283
  _coords.push(_this6.mapService.simpleMapCoord.unproject(coord));
329
- }); // @ts-ignore
330
-
284
+ });
285
+ // @ts-ignore
331
286
  return _coords;
332
287
  }
333
288
  }
@@ -335,25 +290,22 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
335
290
  key: "applyAttributeMapping",
336
291
  value: function applyAttributeMapping(attribute, record) {
337
292
  var _attribute$scale;
338
-
339
293
  if (!attribute.scale) {
340
294
  return [];
341
295
  }
342
-
343
296
  var scalers = (attribute === null || attribute === void 0 ? void 0 : (_attribute$scale = attribute.scale) === null || _attribute$scale === void 0 ? void 0 : _attribute$scale.scalers) || [];
344
297
  var params = [];
345
298
  scalers.forEach(function (_ref6) {
346
299
  var _attribute$scale2;
347
-
348
300
  var field = _ref6.field;
349
-
350
301
  if (record.hasOwnProperty(field) || ((_attribute$scale2 = attribute.scale) === null || _attribute$scale2 === void 0 ? void 0 : _attribute$scale2.type) === 'variable') {
351
302
  // TODO:多字段,常量
352
303
  params.push(record[field]);
353
304
  }
354
305
  });
355
306
  var mappingResult = attribute.mapping ? attribute.mapping(params) : [];
356
- return mappingResult; // return attribute.mapping ? attribute.mapping(params) : [];
307
+ return mappingResult;
308
+ // return attribute.mapping ? attribute.mapping(params) : [];
357
309
  }
358
310
  }, {
359
311
  key: "getArrowPoints",
@@ -1,107 +1,81 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
12
  var _l7Core = require("@antv/l7-core");
19
-
20
13
  var _l7Source = _interopRequireDefault(require("@antv/l7-source"));
21
-
22
14
  var _inversify = require("inversify");
23
-
24
15
  require("reflect-metadata");
25
-
26
16
  var _dec, _class;
27
-
28
17
  var DataSourcePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
29
18
  function DataSourcePlugin() {
30
19
  (0, _classCallCheck2.default)(this, DataSourcePlugin);
31
20
  }
32
-
33
21
  (0, _createClass2.default)(DataSourcePlugin, [{
34
22
  key: "apply",
35
23
  value: function apply(layer) {
36
24
  var _this = this;
37
-
38
25
  this.mapService = layer.getContainer().get(_l7Core.TYPES.IMapService);
39
26
  layer.hooks.init.tapPromise('DataSourcePlugin', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
40
27
  var source, _ref2, data, options;
41
-
42
28
  return _regenerator.default.wrap(function _callee$(_context) {
43
- while (1) {
44
- switch (_context.prev = _context.next) {
45
- case 0:
46
- layer.log(_l7Core.IDebugLog.SourceInitStart, _l7Core.ILayerStage.INIT);
47
- source = layer.getSource();
48
-
49
- if (!source) {
50
- // Tip: 用户没有传入 source 的时候使用图层的默认数据
51
- _ref2 = layer.sourceOption || layer.defaultSourceConfig, data = _ref2.data, options = _ref2.options;
52
- source = new _l7Source.default(data, options);
53
- layer.setSource(source);
54
- }
55
-
56
- if (!source.inited) {
57
- _context.next = 8;
58
- break;
59
- }
60
-
61
- _this.updateClusterData(layer);
62
-
63
- layer.log(_l7Core.IDebugLog.SourceInitEnd, _l7Core.ILayerStage.INIT);
64
- _context.next = 10;
29
+ while (1) switch (_context.prev = _context.next) {
30
+ case 0:
31
+ layer.log(_l7Core.IDebugLog.SourceInitStart, _l7Core.ILayerStage.INIT);
32
+ source = layer.getSource();
33
+ if (!source) {
34
+ // Tip: 用户没有传入 source 的时候使用图层的默认数据
35
+ _ref2 = layer.sourceOption || layer.defaultSourceConfig, data = _ref2.data, options = _ref2.options;
36
+ source = new _l7Source.default(data, options);
37
+ layer.setSource(source);
38
+ }
39
+ if (!source.inited) {
40
+ _context.next = 8;
65
41
  break;
66
-
67
- case 8:
68
- _context.next = 10;
69
- return new Promise(function (resolve) {
70
- source.on('update', function (e) {
71
- if (e.type === 'inited') {
72
- _this.updateClusterData(layer);
73
-
74
- layer.log(_l7Core.IDebugLog.SourceInitEnd, _l7Core.ILayerStage.INIT);
75
- }
76
-
77
- resolve(null);
78
- });
42
+ }
43
+ _this.updateClusterData(layer);
44
+ layer.log(_l7Core.IDebugLog.SourceInitEnd, _l7Core.ILayerStage.INIT);
45
+ _context.next = 10;
46
+ break;
47
+ case 8:
48
+ _context.next = 10;
49
+ return new Promise(function (resolve) {
50
+ source.on('update', function (e) {
51
+ if (e.type === 'inited') {
52
+ _this.updateClusterData(layer);
53
+ layer.log(_l7Core.IDebugLog.SourceInitEnd, _l7Core.ILayerStage.INIT);
54
+ }
55
+ resolve(null);
79
56
  });
80
-
81
- case 10:
82
- case "end":
83
- return _context.stop();
84
- }
57
+ });
58
+ case 10:
59
+ case "end":
60
+ return _context.stop();
85
61
  }
86
62
  }, _callee);
87
- }))); // 检测数据是否需要更新
63
+ })));
88
64
 
65
+ // 检测数据是否需要更新
89
66
  layer.hooks.beforeRenderData.tapPromise('DataSourcePlugin', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
90
67
  var neeUpdateCluster, dataSourceNeedUpdate, needScale;
91
68
  return _regenerator.default.wrap(function _callee2$(_context2) {
92
- while (1) {
93
- switch (_context2.prev = _context2.next) {
94
- case 0:
95
- neeUpdateCluster = _this.updateClusterData(layer);
96
- dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
97
- layer.dataState.dataSourceNeedUpdate = false;
98
- needScale = neeUpdateCluster || dataSourceNeedUpdate;
99
- return _context2.abrupt("return", needScale);
100
-
101
- case 5:
102
- case "end":
103
- return _context2.stop();
104
- }
69
+ while (1) switch (_context2.prev = _context2.next) {
70
+ case 0:
71
+ neeUpdateCluster = _this.updateClusterData(layer);
72
+ dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
73
+ layer.dataState.dataSourceNeedUpdate = false;
74
+ needScale = neeUpdateCluster || dataSourceNeedUpdate;
75
+ return _context2.abrupt("return", needScale);
76
+ case 5:
77
+ case "end":
78
+ return _context2.stop();
105
79
  }
106
80
  }, _callee2);
107
81
  })));
@@ -113,29 +87,24 @@ var DataSourcePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__
113
87
  if (layer.isTileLayer || layer.tileLayer || !layer.getSource()) {
114
88
  return false;
115
89
  }
116
-
117
90
  var source = layer.getSource();
118
91
  var cluster = source.cluster;
119
92
  var _source$clusterOption = source.clusterOptions.zoom,
120
- zoom = _source$clusterOption === void 0 ? 0 : _source$clusterOption;
93
+ zoom = _source$clusterOption === void 0 ? 0 : _source$clusterOption;
121
94
  var newZoom = this.mapService.getZoom() - 1;
122
95
  var dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
123
-
124
96
  if (cluster && dataSourceNeedUpdate) {
125
97
  // 数据发生更新
126
98
  source.updateClusterData(Math.floor(newZoom));
127
- } // 如果 dataSource 有更新,跳过 zoom 的判断,直接更新一次
128
-
129
-
99
+ }
100
+ // 如果 dataSource 有更新,跳过 zoom 的判断,直接更新一次
130
101
  if (cluster && Math.abs(layer.clusterZoom - newZoom) >= 1) {
131
102
  if (zoom !== Math.floor(newZoom)) {
132
103
  source.updateClusterData(Math.floor(newZoom));
133
104
  }
134
-
135
105
  layer.clusterZoom = newZoom;
136
106
  return true;
137
107
  }
138
-
139
108
  return false;
140
109
  }
141
110
  }]);