@antv/l7-layers 2.17.4 → 2.17.6

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 (250) 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 +325 -483
  10. package/es/core/BaseModel.js +51 -80
  11. package/es/core/CommonStyleAttribute.js +2 -5
  12. package/es/core/LayerPickService.js +21 -32
  13. package/es/core/TextureService.js +0 -13
  14. package/es/core/interface.js +17 -24
  15. package/es/core/shape/Path.js +13 -20
  16. package/es/core/shape/extrude.js +27 -39
  17. package/es/core/triangulation.js +99 -136
  18. package/es/earth/index.js +9 -33
  19. package/es/earth/models/atmosphere.js +30 -54
  20. package/es/earth/models/base.js +47 -85
  21. package/es/earth/models/bloomsphere.js +30 -54
  22. package/es/earth/utils.js +9 -13
  23. package/es/heatmap/index.js +10 -40
  24. package/es/heatmap/models/grid.js +28 -52
  25. package/es/heatmap/models/grid3d.js +28 -52
  26. package/es/heatmap/models/heatmap.js +92 -149
  27. package/es/heatmap/models/hexagon.js +28 -52
  28. package/es/heatmap/triangulation.js +0 -4
  29. package/es/image/index.js +9 -28
  30. package/es/image/models/image.js +66 -100
  31. package/es/index.js +9 -17
  32. package/es/line/index.js +9 -35
  33. package/es/line/models/arc.js +63 -112
  34. package/es/line/models/arc_3d.js +58 -102
  35. package/es/line/models/earthArc_3d.js +60 -105
  36. package/es/line/models/flow.js +36 -60
  37. package/es/line/models/great_circle.js +53 -94
  38. package/es/line/models/line.js +92 -144
  39. package/es/line/models/linearline.js +42 -74
  40. package/es/line/models/simpleLine.js +38 -67
  41. package/es/line/models/wall.js +52 -92
  42. package/es/line/shaders/dash/line_dash_vert.glsl +1 -2
  43. package/es/line/shaders/line_frag.glsl +1 -3
  44. package/es/line/shaders/line_vert.glsl +2 -0
  45. package/es/line/shaders/linear/line_linear_frag.glsl +1 -1
  46. package/es/mask/index.js +9 -28
  47. package/es/mask/models/fill.js +29 -54
  48. package/es/plugins/DataMappingPlugin.js +78 -114
  49. package/es/plugins/DataSourcePlugin.js +45 -68
  50. package/es/plugins/FeatureScalePlugin.js +67 -122
  51. package/es/plugins/LayerAnimateStylePlugin.js +0 -5
  52. package/es/plugins/LayerMaskPlugin.js +3 -11
  53. package/es/plugins/LayerModelPlugin.js +69 -118
  54. package/es/plugins/LayerStylePlugin.js +4 -9
  55. package/es/plugins/LightingPlugin.js +12 -18
  56. package/es/plugins/MultiPassRendererPlugin.js +11 -16
  57. package/es/plugins/PixelPickingPlugin.js +12 -21
  58. package/es/plugins/RegisterStyleAttributePlugin.js +5 -12
  59. package/es/plugins/ShaderUniformPlugin.js +13 -27
  60. package/es/plugins/UpdateModelPlugin.js +0 -5
  61. package/es/plugins/UpdateStyleAttributePlugin.js +5 -11
  62. package/es/point/index.js +26 -78
  63. package/es/point/models/earthExtrude.js +58 -95
  64. package/es/point/models/earthFill.js +52 -80
  65. package/es/point/models/extrude.js +57 -94
  66. package/es/point/models/fill.js +56 -81
  67. package/es/point/models/fillmage.js +60 -100
  68. package/es/point/models/image.js +47 -83
  69. package/es/point/models/index.js +2 -2
  70. package/es/point/models/normal.js +30 -54
  71. package/es/point/models/radar.js +38 -63
  72. package/es/point/models/simplePoint.js +38 -62
  73. package/es/point/models/text.js +199 -296
  74. package/es/point/shape/extrude.js +4 -13
  75. package/es/polygon/index.js +11 -41
  76. package/es/polygon/models/extrude.js +87 -135
  77. package/es/polygon/models/fill.js +50 -79
  78. package/es/polygon/models/index.js +3 -2
  79. package/es/polygon/models/ocean.js +42 -76
  80. package/es/polygon/models/water.js +37 -71
  81. package/es/raster/buffers/triangulation.js +2 -4
  82. package/es/raster/index.js +9 -32
  83. package/es/raster/models/raster.js +80 -116
  84. package/es/raster/models/rasterRgb.js +84 -127
  85. package/es/raster/models/rasterTerrainRgb.js +56 -84
  86. package/es/tile/interaction/getRasterData.js +14 -20
  87. package/es/tile/interaction/utils.js +7 -9
  88. package/es/tile/manager/base.js +63 -96
  89. package/es/tile/service/TileLayerService.js +33 -55
  90. package/es/tile/service/TilePickService.js +26 -40
  91. package/es/tile/service/TileSourceService.js +3 -7
  92. package/es/tile/tileFactory/DebugTile.js +29 -46
  93. package/es/tile/tileFactory/ImageTile.js +20 -38
  94. package/es/tile/tileFactory/MaskTile.js +22 -43
  95. package/es/tile/tileFactory/RasterRGBTile.js +22 -42
  96. package/es/tile/tileFactory/RasterTerrainRGBTile.js +20 -38
  97. package/es/tile/tileFactory/RasterTile.js +30 -53
  98. package/es/tile/tileFactory/Tile.js +63 -97
  99. package/es/tile/tileFactory/VectorTile.js +41 -68
  100. package/es/tile/tileFactory/index.js +0 -11
  101. package/es/tile/tileFactory/layers/TileDebugLayer.js +6 -27
  102. package/es/tile/tileFactory/util.js +0 -3
  103. package/es/tile/tileLayer/BaseLayer.js +105 -146
  104. package/es/tile/utils.js +1 -1
  105. package/es/utils/blend.js +0 -2
  106. package/es/utils/collision-index.js +9 -16
  107. package/es/utils/extrude_polyline.js +101 -149
  108. package/es/utils/grid-index.js +2 -27
  109. package/es/utils/identityScale.js +0 -8
  110. package/es/utils/layerData.js +30 -44
  111. package/es/utils/multiPassRender.js +11 -13
  112. package/es/utils/polylineNormal.js +31 -37
  113. package/es/utils/simpleLine.js +2 -16
  114. package/es/utils/stencil.js +2 -3
  115. package/es/utils/symbol-layout.js +27 -53
  116. package/es/wind/index.js +9 -29
  117. package/es/wind/models/utils.js +26 -51
  118. package/es/wind/models/wind.js +101 -147
  119. package/es/wind/models/windRender.js +53 -66
  120. package/lib/Geometry/index.js +9 -38
  121. package/lib/Geometry/models/billboard.js +51 -97
  122. package/lib/Geometry/models/index.js +0 -5
  123. package/lib/Geometry/models/plane.js +79 -151
  124. package/lib/Geometry/models/sprite.js +60 -127
  125. package/lib/canvas/index.js +10 -40
  126. package/lib/canvas/models/canvas.js +41 -101
  127. package/lib/canvas/models/index.js +0 -3
  128. package/lib/citybuliding/building.js +8 -35
  129. package/lib/citybuliding/models/build.js +57 -92
  130. package/lib/core/BaseLayer.js +325 -474
  131. package/lib/core/BaseModel.js +51 -90
  132. package/lib/core/CommonStyleAttribute.js +2 -7
  133. package/lib/core/LayerPickService.js +21 -37
  134. package/lib/core/TextureService.js +0 -16
  135. package/lib/core/interface.js +21 -31
  136. package/lib/core/schema.js +0 -1
  137. package/lib/core/shape/Path.js +14 -31
  138. package/lib/core/shape/extrude.js +27 -62
  139. package/lib/core/triangulation.js +98 -177
  140. package/lib/earth/index.js +9 -43
  141. package/lib/earth/models/atmosphere.js +30 -63
  142. package/lib/earth/models/base.js +47 -90
  143. package/lib/earth/models/bloomsphere.js +30 -63
  144. package/lib/earth/utils.js +7 -31
  145. package/lib/heatmap/index.js +10 -48
  146. package/lib/heatmap/models/grid.js +28 -60
  147. package/lib/heatmap/models/grid3d.js +28 -60
  148. package/lib/heatmap/models/heatmap.js +92 -166
  149. package/lib/heatmap/models/hexagon.js +28 -60
  150. package/lib/heatmap/models/index.js +0 -6
  151. package/lib/heatmap/triangulation.js +0 -5
  152. package/lib/image/index.js +9 -36
  153. package/lib/image/models/image.js +66 -109
  154. package/lib/image/models/index.js +0 -3
  155. package/lib/index.js +7 -61
  156. package/lib/line/index.js +9 -40
  157. package/lib/line/models/arc.js +61 -122
  158. package/lib/line/models/arc_3d.js +56 -113
  159. package/lib/line/models/earthArc_3d.js +58 -115
  160. package/lib/line/models/flow.js +36 -70
  161. package/lib/line/models/great_circle.js +53 -104
  162. package/lib/line/models/index.js +0 -11
  163. package/lib/line/models/line.js +90 -152
  164. package/lib/line/models/linearline.js +42 -86
  165. package/lib/line/models/simpleLine.js +38 -77
  166. package/lib/line/models/wall.js +52 -103
  167. package/lib/line/shaders/dash/line_dash_vert.glsl +1 -2
  168. package/lib/line/shaders/line_frag.glsl +1 -3
  169. package/lib/line/shaders/line_vert.glsl +2 -0
  170. package/lib/line/shaders/linear/line_linear_frag.glsl +1 -1
  171. package/lib/mask/index.js +9 -36
  172. package/lib/mask/models/fill.js +29 -63
  173. package/lib/mask/models/index.js +0 -3
  174. package/lib/plugins/DataMappingPlugin.js +78 -125
  175. package/lib/plugins/DataSourcePlugin.js +45 -76
  176. package/lib/plugins/FeatureScalePlugin.js +67 -138
  177. package/lib/plugins/LayerAnimateStylePlugin.js +0 -10
  178. package/lib/plugins/LayerMaskPlugin.js +4 -17
  179. package/lib/plugins/LayerModelPlugin.js +70 -127
  180. package/lib/plugins/LayerStylePlugin.js +5 -14
  181. package/lib/plugins/LightingPlugin.js +12 -25
  182. package/lib/plugins/MultiPassRendererPlugin.js +11 -22
  183. package/lib/plugins/PixelPickingPlugin.js +12 -27
  184. package/lib/plugins/RegisterStyleAttributePlugin.js +5 -19
  185. package/lib/plugins/ShaderUniformPlugin.js +13 -34
  186. package/lib/plugins/UpdateModelPlugin.js +1 -10
  187. package/lib/plugins/UpdateStyleAttributePlugin.js +5 -16
  188. package/lib/point/index.js +26 -83
  189. package/lib/point/models/earthExtrude.js +58 -106
  190. package/lib/point/models/earthFill.js +52 -110
  191. package/lib/point/models/extrude.js +57 -103
  192. package/lib/point/models/fill.js +54 -90
  193. package/lib/point/models/fillmage.js +58 -107
  194. package/lib/point/models/image.js +47 -92
  195. package/lib/point/models/index.js +1 -12
  196. package/lib/point/models/normal.js +30 -64
  197. package/lib/point/models/radar.js +38 -72
  198. package/lib/point/models/simplePoint.js +38 -72
  199. package/lib/point/models/text.js +199 -305
  200. package/lib/point/shape/extrude.js +4 -20
  201. package/lib/polygon/index.js +11 -48
  202. package/lib/polygon/models/extrude.js +87 -146
  203. package/lib/polygon/models/fill.js +50 -89
  204. package/lib/polygon/models/index.js +2 -14
  205. package/lib/polygon/models/ocean.js +42 -88
  206. package/lib/polygon/models/water.js +37 -82
  207. package/lib/raster/buffers/triangulation.js +3 -7
  208. package/lib/raster/index.js +9 -40
  209. package/lib/raster/models/index.js +0 -5
  210. package/lib/raster/models/raster.js +80 -125
  211. package/lib/raster/models/rasterRgb.js +84 -139
  212. package/lib/raster/models/rasterTerrainRgb.js +56 -93
  213. package/lib/tile/interaction/getRasterData.js +14 -25
  214. package/lib/tile/interaction/utils.js +7 -19
  215. package/lib/tile/manager/base.js +63 -104
  216. package/lib/tile/service/TileLayerService.js +33 -60
  217. package/lib/tile/service/TilePickService.js +26 -48
  218. package/lib/tile/service/TileSourceService.js +2 -16
  219. package/lib/tile/style/utils.js +0 -3
  220. package/lib/tile/tileFactory/DebugTile.js +29 -54
  221. package/lib/tile/tileFactory/ImageTile.js +20 -46
  222. package/lib/tile/tileFactory/MaskTile.js +22 -51
  223. package/lib/tile/tileFactory/RasterRGBTile.js +22 -50
  224. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +20 -46
  225. package/lib/tile/tileFactory/RasterTile.js +30 -63
  226. package/lib/tile/tileFactory/Tile.js +63 -102
  227. package/lib/tile/tileFactory/VectorTile.js +41 -76
  228. package/lib/tile/tileFactory/index.js +0 -25
  229. package/lib/tile/tileFactory/layers/TileDebugLayer.js +6 -32
  230. package/lib/tile/tileFactory/util.js +0 -9
  231. package/lib/tile/tileLayer/BaseLayer.js +105 -153
  232. package/lib/tile/utils.js +1 -5
  233. package/lib/utils/blend.js +0 -5
  234. package/lib/utils/collision-index.js +9 -25
  235. package/lib/utils/extrude_polyline.js +101 -181
  236. package/lib/utils/grid-index.js +2 -28
  237. package/lib/utils/identityScale.js +0 -9
  238. package/lib/utils/layerData.js +30 -49
  239. package/lib/utils/multiPassRender.js +11 -16
  240. package/lib/utils/polylineNormal.js +31 -66
  241. package/lib/utils/simpleLine.js +2 -21
  242. package/lib/utils/stencil.js +0 -4
  243. package/lib/utils/symbol-layout.js +27 -55
  244. package/lib/wind/index.js +9 -37
  245. package/lib/wind/models/index.js +0 -3
  246. package/lib/wind/models/utils.js +26 -62
  247. package/lib/wind/models/wind.js +101 -157
  248. package/lib/wind/models/windRender.js +53 -71
  249. package/lib/wind/models/windShader.js +0 -1
  250. 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,106 +52,95 @@ 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() // TODO 优化
141
109
  );
142
110
 
143
111
  layer.setEncodedData(encodeData);
144
- } // 处理文本更新,更新文字形状
145
- // layer.emit('remapping', null);
112
+ }
146
113
 
114
+ // 处理文本更新,更新文字形状
115
+ // layer.emit('remapping', null);
147
116
  });
148
117
  }
149
118
  }, {
150
119
  key: "generateMaping",
151
120
  value: function generateMaping(layer, _ref4) {
152
121
  var _this2 = this;
153
-
154
122
  var styleAttributeService = _ref4.styleAttributeService;
155
123
  var attributes = styleAttributeService.getLayerStyleAttributes() || [];
156
124
  var filter = styleAttributeService.getLayerStyleAttribute('filter');
157
125
  var dataArray = layer.getSource().data.dataArray;
158
- var filterData = dataArray; // 数据过滤完 再执行数据映射
159
-
126
+ var filterData = dataArray;
127
+ // 数据过滤完 再执行数据映射
160
128
  if (filter !== null && filter !== void 0 && filter.scale) {
161
129
  filterData = dataArray.filter(function (record) {
162
130
  return _this2.applyAttributeMapping(filter, record)[0];
163
131
  });
164
- } // Tip: layer 对数据做处理
132
+ }
133
+ // Tip: layer 对数据做处理
165
134
  // 数据处理 在数据进行 mapping 生成 encodeData 之前对数据进行处理
166
135
  // 在各个 layer 中继承
167
136
 
168
-
169
137
  filterData = layer.processData(filterData); // 目前只有简单线需要处理
170
-
171
138
  var encodeData = this.mapping(layer, attributes, filterData, undefined);
172
139
  layer.setEncodedData(encodeData);
173
-
174
140
  if (dataArray.length === 0 && layer.encodeDataLength === 0) {
175
141
  return false;
176
- } // 对外暴露事件
177
-
178
-
142
+ }
143
+ // 对外暴露事件
179
144
  layer.emit('dataUpdate', null);
180
145
  return true;
181
146
  }
@@ -183,13 +148,11 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
183
148
  key: "mapping",
184
149
  value: function mapping(layer, attributes, data, predata) {
185
150
  var _this3 = this;
186
-
187
151
  var _ref5 = layer.getLayerConfig(),
188
- _ref5$arrow = _ref5.arrow,
189
- arrow = _ref5$arrow === void 0 ? {
190
- enable: false
191
- } : _ref5$arrow;
192
-
152
+ _ref5$arrow = _ref5.arrow,
153
+ arrow = _ref5$arrow === void 0 ? {
154
+ enable: false
155
+ } : _ref5$arrow;
193
156
  var usedAttributes = attributes.filter(function (attribute) {
194
157
  return attribute.scale !== undefined;
195
158
  }).filter(function (attribute) {
@@ -202,45 +165,42 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
202
165
  coordinates: record.coordinates
203
166
  }, preRecord);
204
167
  usedAttributes.forEach(function (attribute) {
205
- var values = _this3.applyAttributeMapping(attribute, record); // TODO: 支持每个属性配置 postprocess}
206
-
207
-
168
+ var values = _this3.applyAttributeMapping(attribute, record);
169
+ // TODO: 支持每个属性配置 postprocess}
208
170
  if (attribute.name === 'color' || attribute.name === 'stroke') {
209
171
  values = values.map(function (c) {
210
172
  return (0, _l7Utils.rgb2arr)(c);
211
173
  });
212
- } // @ts-ignore
213
-
214
-
215
- encodeRecord[attribute.name] = Array.isArray(values) && values.length === 1 ? values[0] : values; // 增加对 layer/text/iconfont unicode 映射的解析
174
+ }
175
+ // @ts-ignore
176
+ encodeRecord[attribute.name] = Array.isArray(values) && values.length === 1 ? values[0] : values;
216
177
 
178
+ // 增加对 layer/text/iconfont unicode 映射的解析
217
179
  if (attribute.name === 'shape') {
218
180
  encodeRecord.shape = _this3.fontService.getIconFontKey(encodeRecord[attribute.name]);
219
181
  }
220
182
  });
221
-
222
183
  if (arrow.enable && encodeRecord.shape === 'line') {
223
184
  // 只有在线图层且支持配置箭头的时候进行插入顶点的处理
224
- var coords = encodeRecord.coordinates; // @ts-ignore
225
-
185
+ var coords = encodeRecord.coordinates;
186
+ // @ts-ignore
226
187
  if (layer.arrowInsertCount < layer.encodeDataLength) {
227
188
  // Tip: arrowInsert 的判断用于确保每一条线数据 arrow 的属性点只会被植入一次
228
189
  var arrowPoint = _this3.getArrowPoints(coords[0], coords[1]);
229
-
230
- encodeRecord.coordinates.splice(1, 0, arrowPoint, arrowPoint); // @ts-ignore
231
-
190
+ encodeRecord.coordinates.splice(1, 0, arrowPoint, arrowPoint);
191
+ // @ts-ignore
232
192
  layer.arrowInsertCount++;
233
193
  }
234
194
  }
235
-
236
195
  return encodeRecord;
237
196
  });
238
197
  attributes.forEach(function (attribute) {
239
198
  attribute.needRemapping = false;
240
- }); // 调整数据兼容 Amap2.0
241
-
242
- this.adjustData2Amap2Coordinates(mappedData, layer); // 调整数据兼容 SimpleCoordinates
199
+ });
200
+ // 调整数据兼容 Amap2.0
201
+ this.adjustData2Amap2Coordinates(mappedData, layer);
243
202
 
203
+ // 调整数据兼容 SimpleCoordinates
244
204
  this.adjustData2SimpleCoordinates(mappedData);
245
205
  return mappedData;
246
206
  }
@@ -248,22 +208,21 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
248
208
  key: "adjustData2Amap2Coordinates",
249
209
  value: function adjustData2Amap2Coordinates(mappedData, layer) {
250
210
  var _this4 = this;
251
-
252
211
  // 根据地图的类型判断是否需要对点位数据进行处理, 若是高德2.0则需要对坐标进行相对偏移
253
212
  if (mappedData.length > 0 && this.mapService.version === _l7Maps.Version['GAODE2.x']) {
254
- var layerCenter = layer.coordCenter || layer.getSource().center; // 单个的点数据
213
+ var layerCenter = layer.coordCenter || layer.getSource().center;
214
+ // 单个的点数据
255
215
  // @ts-ignore
256
-
257
- mappedData // TODO: 避免经纬度被重复计算导致坐标位置偏移
216
+ mappedData
217
+ // TODO: 避免经纬度被重复计算导致坐标位置偏移
258
218
  .filter(function (d) {
259
219
  return !d.originCoordinates;
260
220
  }).map(function (d) {
261
- d.version = _l7Maps.Version['GAODE2.x']; // @ts-ignore
262
-
221
+ d.version = _l7Maps.Version['GAODE2.x'];
222
+ // @ts-ignore
263
223
  d.originCoordinates = (0, _lodash.cloneDeep)(d.coordinates); // 为了兼容高德1.x 需要保存一份原始的经纬度坐标数据(许多上层逻辑依赖经纬度数据)
264
224
  // @ts-ignore
265
225
  // d.coordinates = this.mapService.lngLatToCoord(d.coordinates);
266
-
267
226
  d.coordinates = _this4.mapService.coordToAMap2RelativeCoordinates(d.coordinates, layerCenter);
268
227
  });
269
228
  }
@@ -272,7 +231,6 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
272
231
  key: "adjustData2SimpleCoordinates",
273
232
  value: function adjustData2SimpleCoordinates(mappedData) {
274
233
  var _this5 = this;
275
-
276
234
  if (mappedData.length > 0 && this.mapService.version === _l7Maps.Version.SIMPLE) {
277
235
  mappedData.map(function (d) {
278
236
  if (!d.simpleCoordinate) {
@@ -286,11 +244,9 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
286
244
  key: "unProjectCoordinates",
287
245
  value: function unProjectCoordinates(coordinates) {
288
246
  var _this6 = this;
289
-
290
247
  if (typeof coordinates[0] === 'number') {
291
248
  return this.mapService.simpleMapCoord.unproject(coordinates);
292
249
  }
293
-
294
250
  if (coordinates[0] && coordinates[0][0] instanceof Array) {
295
251
  // @ts-ignore
296
252
  var coords = [];
@@ -299,20 +255,20 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
299
255
  var c1 = [];
300
256
  coord.map(function (co) {
301
257
  c1.push(_this6.mapService.simpleMapCoord.unproject(co));
302
- }); // @ts-ignore
303
-
258
+ });
259
+ // @ts-ignore
304
260
  coords.push(c1);
305
- }); // @ts-ignore
306
-
261
+ });
262
+ // @ts-ignore
307
263
  return coords;
308
264
  } else {
309
265
  // @ts-ignore
310
- var _coords = []; // @ts-ignore
311
-
266
+ var _coords = [];
267
+ // @ts-ignore
312
268
  coordinates.map(function (coord) {
313
269
  _coords.push(_this6.mapService.simpleMapCoord.unproject(coord));
314
- }); // @ts-ignore
315
-
270
+ });
271
+ // @ts-ignore
316
272
  return _coords;
317
273
  }
318
274
  }
@@ -320,25 +276,22 @@ var DataMappingPlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inver
320
276
  key: "applyAttributeMapping",
321
277
  value: function applyAttributeMapping(attribute, record) {
322
278
  var _attribute$scale;
323
-
324
279
  if (!attribute.scale) {
325
280
  return [];
326
281
  }
327
-
328
282
  var scalers = (attribute === null || attribute === void 0 ? void 0 : (_attribute$scale = attribute.scale) === null || _attribute$scale === void 0 ? void 0 : _attribute$scale.scalers) || [];
329
283
  var params = [];
330
284
  scalers.forEach(function (_ref6) {
331
285
  var _attribute$scale2;
332
-
333
286
  var field = _ref6.field;
334
-
335
287
  if (record.hasOwnProperty(field) || ((_attribute$scale2 = attribute.scale) === null || _attribute$scale2 === void 0 ? void 0 : _attribute$scale2.type) === 'variable') {
336
288
  // TODO:多字段,常量
337
289
  params.push(record[field]);
338
290
  }
339
291
  });
340
292
  var mappingResult = attribute.mapping ? attribute.mapping(params) : [];
341
- return mappingResult; // return attribute.mapping ? attribute.mapping(params) : [];
293
+ return mappingResult;
294
+ // return attribute.mapping ? attribute.mapping(params) : [];
342
295
  }
343
296
  }, {
344
297
  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
  }]);