@antv/l7-layers 2.17.2 → 2.17.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/es/Geometry/index.js +31 -9
  2. package/es/Geometry/models/billboard.js +89 -51
  3. package/es/Geometry/models/plane.js +143 -81
  4. package/es/Geometry/models/sprite.js +118 -60
  5. package/es/canvas/index.js +33 -10
  6. package/es/canvas/models/canvas.js +97 -41
  7. package/es/citybuliding/building.js +27 -8
  8. package/es/citybuliding/models/build.js +82 -57
  9. package/es/core/BaseLayer.js +478 -313
  10. package/es/core/BaseModel.js +80 -51
  11. package/es/core/CommonStyleAttribute.js +5 -2
  12. package/es/core/LayerPickService.js +32 -21
  13. package/es/core/TextureService.js +13 -0
  14. package/es/core/interface.js +24 -17
  15. package/es/core/shape/Path.js +20 -13
  16. package/es/core/shape/extrude.js +39 -27
  17. package/es/core/triangulation.js +136 -99
  18. package/es/earth/index.js +33 -9
  19. package/es/earth/models/atmosphere.js +54 -30
  20. package/es/earth/models/base.js +85 -47
  21. package/es/earth/models/bloomsphere.js +54 -30
  22. package/es/earth/utils.js +13 -9
  23. package/es/heatmap/index.js +40 -10
  24. package/es/heatmap/models/grid.js +52 -28
  25. package/es/heatmap/models/grid3d.js +52 -28
  26. package/es/heatmap/models/heatmap.js +149 -92
  27. package/es/heatmap/models/hexagon.js +52 -28
  28. package/es/heatmap/triangulation.js +4 -0
  29. package/es/image/index.js +28 -9
  30. package/es/image/models/image.js +100 -66
  31. package/es/index.js +17 -9
  32. package/es/line/index.js +35 -9
  33. package/es/line/models/arc.js +114 -64
  34. package/es/line/models/arc_3d.js +102 -58
  35. package/es/line/models/earthArc_3d.js +105 -60
  36. package/es/line/models/flow.js +60 -36
  37. package/es/line/models/great_circle.js +94 -53
  38. package/es/line/models/line.js +138 -86
  39. package/es/line/models/linearline.js +76 -43
  40. package/es/line/models/simpleLine.js +69 -39
  41. package/es/line/models/wall.js +92 -52
  42. package/es/mask/index.js +28 -9
  43. package/es/mask/models/fill.js +54 -29
  44. package/es/plugins/DataMappingPlugin.js +114 -78
  45. package/es/plugins/DataSourcePlugin.js +68 -45
  46. package/es/plugins/FeatureScalePlugin.js +122 -67
  47. package/es/plugins/LayerAnimateStylePlugin.js +5 -0
  48. package/es/plugins/LayerMaskPlugin.js +11 -3
  49. package/es/plugins/LayerModelPlugin.js +108 -69
  50. package/es/plugins/LayerStylePlugin.js +9 -3
  51. package/es/plugins/LightingPlugin.js +18 -12
  52. package/es/plugins/MultiPassRendererPlugin.js +16 -11
  53. package/es/plugins/PixelPickingPlugin.js +21 -12
  54. package/es/plugins/RegisterStyleAttributePlugin.js +12 -5
  55. package/es/plugins/ShaderUniformPlugin.js +27 -13
  56. package/es/plugins/UpdateModelPlugin.js +5 -0
  57. package/es/plugins/UpdateStyleAttributePlugin.js +11 -5
  58. package/es/point/index.js +78 -26
  59. package/es/point/models/earthExtrude.js +95 -58
  60. package/es/point/models/earthFill.js +80 -52
  61. package/es/point/models/extrude.js +94 -57
  62. package/es/point/models/fill.js +81 -56
  63. package/es/point/models/fillmage.js +100 -60
  64. package/es/point/models/image.js +83 -47
  65. package/es/point/models/index.js +2 -2
  66. package/es/point/models/normal.js +54 -30
  67. package/es/point/models/radar.js +63 -38
  68. package/es/point/models/simplePoint.js +62 -38
  69. package/es/point/models/text.js +296 -199
  70. package/es/point/shape/extrude.js +13 -4
  71. package/es/polygon/index.js +41 -11
  72. package/es/polygon/models/extrude.js +135 -87
  73. package/es/polygon/models/fill.js +79 -50
  74. package/es/polygon/models/index.js +2 -3
  75. package/es/polygon/models/ocean.js +76 -42
  76. package/es/polygon/models/water.js +71 -37
  77. package/es/raster/buffers/triangulation.js +4 -2
  78. package/es/raster/index.js +32 -9
  79. package/es/raster/models/raster.js +116 -80
  80. package/es/raster/models/rasterRgb.js +127 -84
  81. package/es/raster/models/rasterTerrainRgb.js +84 -56
  82. package/es/tile/interaction/getRasterData.js +20 -14
  83. package/es/tile/interaction/utils.js +9 -7
  84. package/es/tile/manager/base.js +96 -63
  85. package/es/tile/service/TileLayerService.js +55 -33
  86. package/es/tile/service/TilePickService.js +40 -26
  87. package/es/tile/service/TileSourceService.js +7 -3
  88. package/es/tile/tileFactory/DebugTile.js +46 -29
  89. package/es/tile/tileFactory/ImageTile.js +38 -20
  90. package/es/tile/tileFactory/MaskTile.js +43 -22
  91. package/es/tile/tileFactory/RasterRGBTile.js +42 -22
  92. package/es/tile/tileFactory/RasterTerrainRGBTile.js +38 -20
  93. package/es/tile/tileFactory/RasterTile.js +53 -30
  94. package/es/tile/tileFactory/Tile.js +97 -63
  95. package/es/tile/tileFactory/VectorTile.js +68 -41
  96. package/es/tile/tileFactory/index.js +11 -0
  97. package/es/tile/tileFactory/layers/TileDebugLayer.js +27 -6
  98. package/es/tile/tileFactory/util.js +3 -0
  99. package/es/tile/tileLayer/BaseLayer.js +146 -105
  100. package/es/tile/utils.js +1 -1
  101. package/es/utils/blend.js +2 -0
  102. package/es/utils/collision-index.js +16 -9
  103. package/es/utils/extrude_polyline.js +149 -101
  104. package/es/utils/grid-index.js +27 -2
  105. package/es/utils/identityScale.js +8 -0
  106. package/es/utils/layerData.js +44 -30
  107. package/es/utils/multiPassRender.js +13 -11
  108. package/es/utils/polylineNormal.js +37 -31
  109. package/es/utils/simpleLine.js +16 -2
  110. package/es/utils/stencil.js +3 -2
  111. package/es/utils/symbol-layout.js +53 -27
  112. package/es/wind/index.js +29 -9
  113. package/es/wind/models/utils.js +51 -26
  114. package/es/wind/models/wind.js +147 -101
  115. package/es/wind/models/windRender.js +66 -53
  116. package/lib/Geometry/index.js +38 -9
  117. package/lib/Geometry/models/billboard.js +97 -51
  118. package/lib/Geometry/models/index.js +5 -0
  119. package/lib/Geometry/models/plane.js +151 -79
  120. package/lib/Geometry/models/sprite.js +127 -60
  121. package/lib/canvas/index.js +40 -10
  122. package/lib/canvas/models/canvas.js +101 -41
  123. package/lib/canvas/models/index.js +3 -0
  124. package/lib/citybuliding/building.js +35 -8
  125. package/lib/citybuliding/models/build.js +92 -57
  126. package/lib/core/BaseLayer.js +469 -313
  127. package/lib/core/BaseModel.js +90 -51
  128. package/lib/core/CommonStyleAttribute.js +7 -2
  129. package/lib/core/LayerPickService.js +37 -21
  130. package/lib/core/TextureService.js +16 -0
  131. package/lib/core/interface.js +31 -21
  132. package/lib/core/schema.js +1 -0
  133. package/lib/core/shape/Path.js +31 -14
  134. package/lib/core/shape/extrude.js +62 -27
  135. package/lib/core/triangulation.js +177 -98
  136. package/lib/earth/index.js +43 -9
  137. package/lib/earth/models/atmosphere.js +63 -30
  138. package/lib/earth/models/base.js +90 -47
  139. package/lib/earth/models/bloomsphere.js +63 -30
  140. package/lib/earth/utils.js +31 -7
  141. package/lib/heatmap/index.js +48 -10
  142. package/lib/heatmap/models/grid.js +60 -28
  143. package/lib/heatmap/models/grid3d.js +60 -28
  144. package/lib/heatmap/models/heatmap.js +166 -92
  145. package/lib/heatmap/models/hexagon.js +60 -28
  146. package/lib/heatmap/models/index.js +6 -0
  147. package/lib/heatmap/triangulation.js +5 -0
  148. package/lib/image/index.js +36 -9
  149. package/lib/image/models/image.js +109 -66
  150. package/lib/image/models/index.js +3 -0
  151. package/lib/index.js +61 -7
  152. package/lib/line/index.js +40 -9
  153. package/lib/line/models/arc.js +124 -62
  154. package/lib/line/models/arc_3d.js +113 -56
  155. package/lib/line/models/earthArc_3d.js +115 -58
  156. package/lib/line/models/flow.js +70 -36
  157. package/lib/line/models/great_circle.js +104 -53
  158. package/lib/line/models/index.js +11 -0
  159. package/lib/line/models/line.js +146 -84
  160. package/lib/line/models/linearline.js +88 -43
  161. package/lib/line/models/simpleLine.js +79 -39
  162. package/lib/line/models/wall.js +103 -52
  163. package/lib/mask/index.js +36 -9
  164. package/lib/mask/models/fill.js +63 -29
  165. package/lib/mask/models/index.js +3 -0
  166. package/lib/plugins/DataMappingPlugin.js +125 -78
  167. package/lib/plugins/DataSourcePlugin.js +76 -45
  168. package/lib/plugins/FeatureScalePlugin.js +138 -67
  169. package/lib/plugins/LayerAnimateStylePlugin.js +10 -0
  170. package/lib/plugins/LayerMaskPlugin.js +17 -4
  171. package/lib/plugins/LayerModelPlugin.js +117 -70
  172. package/lib/plugins/LayerStylePlugin.js +14 -4
  173. package/lib/plugins/LightingPlugin.js +25 -12
  174. package/lib/plugins/MultiPassRendererPlugin.js +22 -11
  175. package/lib/plugins/PixelPickingPlugin.js +27 -12
  176. package/lib/plugins/RegisterStyleAttributePlugin.js +19 -5
  177. package/lib/plugins/ShaderUniformPlugin.js +34 -13
  178. package/lib/plugins/UpdateModelPlugin.js +10 -1
  179. package/lib/plugins/UpdateStyleAttributePlugin.js +16 -5
  180. package/lib/point/index.js +83 -26
  181. package/lib/point/models/earthExtrude.js +106 -58
  182. package/lib/point/models/earthFill.js +110 -52
  183. package/lib/point/models/extrude.js +103 -57
  184. package/lib/point/models/fill.js +90 -54
  185. package/lib/point/models/fillmage.js +107 -58
  186. package/lib/point/models/image.js +92 -47
  187. package/lib/point/models/index.js +12 -1
  188. package/lib/point/models/normal.js +64 -30
  189. package/lib/point/models/radar.js +72 -38
  190. package/lib/point/models/simplePoint.js +72 -38
  191. package/lib/point/models/text.js +305 -199
  192. package/lib/point/shape/extrude.js +20 -4
  193. package/lib/polygon/index.js +48 -11
  194. package/lib/polygon/models/extrude.js +146 -87
  195. package/lib/polygon/models/fill.js +89 -50
  196. package/lib/polygon/models/index.js +14 -2
  197. package/lib/polygon/models/ocean.js +88 -42
  198. package/lib/polygon/models/water.js +82 -37
  199. package/lib/raster/buffers/triangulation.js +7 -3
  200. package/lib/raster/index.js +40 -9
  201. package/lib/raster/models/index.js +5 -0
  202. package/lib/raster/models/raster.js +125 -80
  203. package/lib/raster/models/rasterRgb.js +139 -84
  204. package/lib/raster/models/rasterTerrainRgb.js +93 -56
  205. package/lib/tile/interaction/getRasterData.js +25 -14
  206. package/lib/tile/interaction/utils.js +19 -7
  207. package/lib/tile/manager/base.js +104 -63
  208. package/lib/tile/service/TileLayerService.js +60 -33
  209. package/lib/tile/service/TilePickService.js +48 -26
  210. package/lib/tile/service/TileSourceService.js +16 -2
  211. package/lib/tile/style/utils.js +3 -0
  212. package/lib/tile/tileFactory/DebugTile.js +54 -29
  213. package/lib/tile/tileFactory/ImageTile.js +46 -20
  214. package/lib/tile/tileFactory/MaskTile.js +51 -22
  215. package/lib/tile/tileFactory/RasterRGBTile.js +50 -22
  216. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +46 -20
  217. package/lib/tile/tileFactory/RasterTile.js +63 -30
  218. package/lib/tile/tileFactory/Tile.js +102 -63
  219. package/lib/tile/tileFactory/VectorTile.js +76 -41
  220. package/lib/tile/tileFactory/index.js +25 -0
  221. package/lib/tile/tileFactory/layers/TileDebugLayer.js +32 -6
  222. package/lib/tile/tileFactory/util.js +9 -0
  223. package/lib/tile/tileLayer/BaseLayer.js +153 -105
  224. package/lib/tile/utils.js +5 -1
  225. package/lib/utils/blend.js +5 -0
  226. package/lib/utils/collision-index.js +25 -9
  227. package/lib/utils/extrude_polyline.js +181 -101
  228. package/lib/utils/grid-index.js +28 -2
  229. package/lib/utils/identityScale.js +9 -0
  230. package/lib/utils/layerData.js +49 -30
  231. package/lib/utils/multiPassRender.js +16 -11
  232. package/lib/utils/polylineNormal.js +66 -31
  233. package/lib/utils/simpleLine.js +21 -2
  234. package/lib/utils/stencil.js +4 -0
  235. package/lib/utils/symbol-layout.js +55 -27
  236. package/lib/wind/index.js +37 -9
  237. package/lib/wind/models/index.js +3 -0
  238. package/lib/wind/models/utils.js +62 -26
  239. package/lib/wind/models/wind.js +157 -101
  240. package/lib/wind/models/windRender.js +71 -53
  241. package/lib/wind/models/windShader.js +1 -0
  242. package/package.json +7 -7
package/es/image/index.js CHANGED
@@ -7,44 +7,61 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConst
7
7
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
8
8
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
9
9
  import _regeneratorRuntime from "@babel/runtime/regenerator";
10
+
10
11
  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); }; }
12
+
11
13
  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; } }
14
+
12
15
  import BaseLayer from "../core/BaseLayer";
13
16
  import ImageModels from "./models/index";
17
+
14
18
  var ImageLayer = /*#__PURE__*/function (_BaseLayer) {
15
19
  _inherits(ImageLayer, _BaseLayer);
20
+
16
21
  var _super = _createSuper(ImageLayer);
22
+
17
23
  function ImageLayer() {
18
24
  var _this;
25
+
19
26
  _classCallCheck(this, ImageLayer);
27
+
20
28
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
21
29
  args[_key] = arguments[_key];
22
30
  }
31
+
23
32
  _this = _super.call.apply(_super, [this].concat(args));
33
+
24
34
  _defineProperty(_assertThisInitialized(_this), "type", 'ImageLayer');
35
+
25
36
  return _this;
26
37
  }
38
+
27
39
  _createClass(ImageLayer, [{
28
40
  key: "buildModels",
29
41
  value: function () {
30
42
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
31
43
  var modelType;
32
44
  return _regeneratorRuntime.wrap(function _callee$(_context) {
33
- while (1) switch (_context.prev = _context.next) {
34
- case 0:
35
- modelType = this.getModelType();
36
- this.layerModel = new ImageModels[modelType](this);
37
- _context.next = 4;
38
- return this.initLayerModels();
39
- case 4:
40
- case "end":
41
- return _context.stop();
45
+ while (1) {
46
+ switch (_context.prev = _context.next) {
47
+ case 0:
48
+ modelType = this.getModelType();
49
+ this.layerModel = new ImageModels[modelType](this);
50
+ _context.next = 4;
51
+ return this.initLayerModels();
52
+
53
+ case 4:
54
+ case "end":
55
+ return _context.stop();
56
+ }
42
57
  }
43
58
  }, _callee, this);
44
59
  }));
60
+
45
61
  function buildModels() {
46
62
  return _buildModels.apply(this, arguments);
47
63
  }
64
+
48
65
  return buildModels;
49
66
  }()
50
67
  }, {
@@ -62,6 +79,8 @@ var ImageLayer = /*#__PURE__*/function (_BaseLayer) {
62
79
  return 'image';
63
80
  }
64
81
  }]);
82
+
65
83
  return ImageLayer;
66
84
  }(BaseLayer);
85
+
67
86
  export { ImageLayer as default };
@@ -5,28 +5,39 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
5
5
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
6
6
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
7
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
8
+
8
9
  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); }; }
10
+
9
11
  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; } }
12
+
10
13
  import { AttributeType, gl } from '@antv/l7-core';
11
14
  import { isMini } from '@antv/l7-utils';
12
15
  import BaseModel from "../../core/BaseModel";
13
16
  import { RasterImageTriangulation } from "../../core/triangulation";
17
+
14
18
  /* babel-plugin-inline-import '../shaders/image_frag.glsl' */
15
19
  var ImageFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nvarying vec2 v_texCoord;\nvoid main() {\n vec4 color = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y));\n gl_FragColor = color;\n gl_FragColor.a *= u_opacity;\n if(gl_FragColor.a < 0.01)\n discard;\n}\n";
20
+
16
21
  /* babel-plugin-inline-import '../shaders/image_vert.glsl' */
17
22
  var ImageVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
23
+
18
24
  var ImageModel = /*#__PURE__*/function (_BaseModel) {
19
25
  _inherits(ImageModel, _BaseModel);
26
+
20
27
  var _super = _createSuper(ImageModel);
28
+
21
29
  function ImageModel() {
22
30
  _classCallCheck(this, ImageModel);
31
+
23
32
  return _super.apply(this, arguments);
24
33
  }
34
+
25
35
  _createClass(ImageModel, [{
26
36
  key: "getUninforms",
27
37
  value: function getUninforms() {
28
38
  var _ref = this.layer.getLayerConfig(),
29
- opacity = _ref.opacity;
39
+ opacity = _ref.opacity;
40
+
30
41
  return {
31
42
  u_opacity: opacity || 1,
32
43
  u_texture: this.texture
@@ -37,81 +48,97 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
37
48
  value: function () {
38
49
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
39
50
  var _this = this;
51
+
40
52
  var source, createTexture2D, canvas, img, imageData, model;
41
53
  return _regeneratorRuntime.wrap(function _callee$(_context) {
42
- while (1) switch (_context.prev = _context.next) {
43
- case 0:
44
- source = this.layer.getSource();
45
- createTexture2D = this.rendererService.createTexture2D;
46
- this.texture = createTexture2D({
47
- height: 0,
48
- width: 0
49
- });
50
- if (!isMini) {
51
- _context.next = 11;
52
- break;
53
- }
54
- // @ts-ignore
55
- canvas = this.layerService.sceneService.getSceneConfig().canvas;
56
- img = canvas.createImage();
57
- img.crossOrigin = 'anonymous';
58
- img.src = source.data.originData;
59
- img.onload = function () {
60
- _this.texture = createTexture2D({
61
- data: img,
62
- width: img.width,
63
- height: img.height
54
+ while (1) {
55
+ switch (_context.prev = _context.next) {
56
+ case 0:
57
+ source = this.layer.getSource();
58
+ createTexture2D = this.rendererService.createTexture2D;
59
+ this.texture = createTexture2D({
60
+ height: 0,
61
+ width: 0
64
62
  });
65
- _this.layerService.reRender();
66
- };
67
- _context.next = 15;
68
- break;
69
- case 11:
70
- _context.next = 13;
71
- return source.data.images;
72
- case 13:
73
- imageData = _context.sent;
74
- this.texture = createTexture2D({
75
- data: imageData[0],
76
- width: imageData[0].width,
77
- height: imageData[0].height,
78
- mag: gl.LINEAR,
79
- min: gl.LINEAR
80
- });
81
- case 15:
82
- _context.next = 17;
83
- return this.layer.buildLayerModel({
84
- moduleName: 'rasterImage',
85
- vertexShader: ImageVert,
86
- fragmentShader: ImageFrag,
87
- triangulation: RasterImageTriangulation,
88
- primitive: gl.TRIANGLES,
89
- blend: {
90
- // Tip: 优化显示效果
91
- enable: true
92
- },
93
- depth: {
94
- enable: false
63
+
64
+ if (!isMini) {
65
+ _context.next = 11;
66
+ break;
95
67
  }
96
- });
97
- case 17:
98
- model = _context.sent;
99
- return _context.abrupt("return", [model]);
100
- case 19:
101
- case "end":
102
- return _context.stop();
68
+
69
+ // @ts-ignore
70
+ canvas = this.layerService.sceneService.getSceneConfig().canvas;
71
+ img = canvas.createImage();
72
+ img.crossOrigin = 'anonymous';
73
+ img.src = source.data.originData;
74
+
75
+ img.onload = function () {
76
+ _this.texture = createTexture2D({
77
+ data: img,
78
+ width: img.width,
79
+ height: img.height
80
+ });
81
+
82
+ _this.layerService.reRender();
83
+ };
84
+
85
+ _context.next = 15;
86
+ break;
87
+
88
+ case 11:
89
+ _context.next = 13;
90
+ return source.data.images;
91
+
92
+ case 13:
93
+ imageData = _context.sent;
94
+ this.texture = createTexture2D({
95
+ data: imageData[0],
96
+ width: imageData[0].width,
97
+ height: imageData[0].height,
98
+ mag: gl.LINEAR,
99
+ min: gl.LINEAR
100
+ });
101
+
102
+ case 15:
103
+ _context.next = 17;
104
+ return this.layer.buildLayerModel({
105
+ moduleName: 'rasterImage',
106
+ vertexShader: ImageVert,
107
+ fragmentShader: ImageFrag,
108
+ triangulation: RasterImageTriangulation,
109
+ primitive: gl.TRIANGLES,
110
+ blend: {
111
+ // Tip: 优化显示效果
112
+ enable: true
113
+ },
114
+ depth: {
115
+ enable: false
116
+ }
117
+ });
118
+
119
+ case 17:
120
+ model = _context.sent;
121
+ return _context.abrupt("return", [model]);
122
+
123
+ case 19:
124
+ case "end":
125
+ return _context.stop();
126
+ }
103
127
  }
104
128
  }, _callee, this);
105
129
  }));
130
+
106
131
  function initModels() {
107
132
  return _initModels.apply(this, arguments);
108
133
  }
134
+
109
135
  return initModels;
110
136
  }()
111
137
  }, {
112
138
  key: "clearModels",
113
139
  value: function clearModels() {
114
140
  var _this$texture;
141
+
115
142
  (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
116
143
  }
117
144
  }, {
@@ -119,18 +146,23 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
119
146
  value: function () {
120
147
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
121
148
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
122
- while (1) switch (_context2.prev = _context2.next) {
123
- case 0:
124
- return _context2.abrupt("return", this.initModels());
125
- case 1:
126
- case "end":
127
- return _context2.stop();
149
+ while (1) {
150
+ switch (_context2.prev = _context2.next) {
151
+ case 0:
152
+ return _context2.abrupt("return", this.initModels());
153
+
154
+ case 1:
155
+ case "end":
156
+ return _context2.stop();
157
+ }
128
158
  }
129
159
  }, _callee2, this);
130
160
  }));
161
+
131
162
  function buildModels() {
132
163
  return _buildModels.apply(this, arguments);
133
164
  }
165
+
134
166
  return buildModels;
135
167
  }()
136
168
  }, {
@@ -154,6 +186,8 @@ var ImageModel = /*#__PURE__*/function (_BaseModel) {
154
186
  });
155
187
  }
156
188
  }]);
189
+
157
190
  return ImageModel;
158
191
  }(BaseModel);
192
+
159
193
  export { ImageModel as default };
package/es/index.js CHANGED
@@ -4,6 +4,7 @@ import CityBuildingLayer from "./citybuliding/building";
4
4
  import BaseLayer from "./core/BaseLayer";
5
5
  import BaseModel from "./core/BaseModel";
6
6
  import GeometryLayer from "./Geometry"; // 逐步替换为 Geometry
7
+
7
8
  import HeatmapLayer from "./heatmap";
8
9
  import ImageLayer from "./image";
9
10
  import LineLayer from "./line/index";
@@ -13,9 +14,8 @@ import RasterLayer from "./raster";
13
14
  import TileDebugLayer from "./tile/tileFactory/layers/TileDebugLayer";
14
15
  import EarthLayer from "./earth";
15
16
  import MaskLayer from "./mask";
16
- import WindLayer from "./wind";
17
+ import WindLayer from "./wind"; // import ConfigSchemaValidationPlugin from './plugins/ConfigSchemaValidationPlugin';
17
18
 
18
- // import ConfigSchemaValidationPlugin from './plugins/ConfigSchemaValidationPlugin';
19
19
  import DataMappingPlugin from "./plugins/DataMappingPlugin";
20
20
  import DataSourcePlugin from "./plugins/DataSourcePlugin";
21
21
  import FeatureScalePlugin from "./plugins/FeatureScalePlugin";
@@ -30,7 +30,6 @@ import RegisterStyleAttributePlugin from "./plugins/RegisterStyleAttributePlugin
30
30
  import ShaderUniformPlugin from "./plugins/ShaderUniformPlugin";
31
31
  import UpdateModelPlugin from "./plugins/UpdateModelPlugin";
32
32
  import UpdateStyleAttributePlugin from "./plugins/UpdateStyleAttributePlugin";
33
-
34
33
  /**
35
34
  * 校验传入参数配置项的正确性
36
35
  * @see /dev-docs/ConfigSchemaValidation.md
@@ -39,67 +38,76 @@ import UpdateStyleAttributePlugin from "./plugins/UpdateStyleAttributePlugin";
39
38
  // .bind<ILayerPlugin>(TYPES.ILayerPlugin)
40
39
  // .to(ConfigSchemaValidationPlugin)
41
40
  // .inRequestScope();
41
+
42
42
  /**
43
43
  * 获取 Source
44
44
  */
45
+
45
46
  container.bind(TYPES.ILayerPlugin).to(DataSourcePlugin).inRequestScope();
46
47
  /**
47
48
  * 根据 StyleAttribute 创建 VertexAttribute
48
49
  */
50
+
49
51
  container.bind(TYPES.ILayerPlugin).to(RegisterStyleAttributePlugin).inRequestScope();
50
52
  /**
51
53
  * 根据 Source 创建 Scale
52
54
  */
55
+
53
56
  container.bind(TYPES.ILayerPlugin).to(FeatureScalePlugin).inRequestScope();
54
57
  /**
55
58
  * 使用 Scale 进行数据映射
56
59
  */
57
- container.bind(TYPES.ILayerPlugin).to(DataMappingPlugin).inRequestScope();
58
60
 
61
+ container.bind(TYPES.ILayerPlugin).to(DataMappingPlugin).inRequestScope();
59
62
  /**
60
63
  * 更新地图样式配置项 如active, show, hide
61
64
  */
62
- container.bind(TYPES.ILayerPlugin).to(LayerStylePlugin).inRequestScope();
63
65
 
66
+ container.bind(TYPES.ILayerPlugin).to(LayerStylePlugin).inRequestScope();
64
67
  /**
65
68
  * 初始化地图 Mask
66
69
  */
67
- container.bind(TYPES.ILayerPlugin).to(LayerMaskPlugin).inRequestScope();
68
70
 
71
+ container.bind(TYPES.ILayerPlugin).to(LayerMaskPlugin).inRequestScope();
69
72
  /**
70
73
  * 负责属性更新
71
74
  */
72
- container.bind(TYPES.ILayerPlugin).to(UpdateStyleAttributePlugin).inRequestScope();
73
75
 
76
+ container.bind(TYPES.ILayerPlugin).to(UpdateStyleAttributePlugin).inRequestScope();
74
77
  /**
75
78
  * 负责Model更新
76
79
  */
77
- container.bind(TYPES.ILayerPlugin).to(UpdateModelPlugin).inRequestScope();
78
80
 
81
+ container.bind(TYPES.ILayerPlugin).to(UpdateModelPlugin).inRequestScope();
79
82
  /**
80
83
  * Multi Pass 自定义渲染管线
81
84
  */
85
+
82
86
  container.bind(TYPES.ILayerPlugin).to(MultiPassRendererPlugin).inRequestScope();
83
87
  /**
84
88
  * 传入相机坐标系参数
85
89
  */
86
- container.bind(TYPES.ILayerPlugin).to(ShaderUniformPlugin).inRequestScope();
87
90
 
91
+ container.bind(TYPES.ILayerPlugin).to(ShaderUniformPlugin).inRequestScope();
88
92
  /**
89
93
  * 传入动画参数
90
94
  */
95
+
91
96
  container.bind(TYPES.ILayerPlugin).to(LayerAnimateStylePlugin).inRequestScope();
92
97
  /**
93
98
  * 传入光照相关参数
94
99
  */
100
+
95
101
  container.bind(TYPES.ILayerPlugin).to(LightingPlugin).inRequestScope();
96
102
  /**
97
103
  * 负责拾取过程中 Encode 以及 Highlight 阶段及结束后恢复
98
104
  */
105
+
99
106
  container.bind(TYPES.ILayerPlugin).to(PixelPickingPlugin).inRequestScope();
100
107
  /**
101
108
  * 初始化Model
102
109
  */
110
+
103
111
  container.bind(TYPES.ILayerPlugin).to(LayerModelPlugin).inRequestScope();
104
112
  export * from "./core/interface";
105
113
  export { BaseLayer, BaseModel, PointLayer, PolygonLayer, LineLayer, CityBuildingLayer, GeometryLayer, CanvasLayer, ImageLayer, RasterLayer, HeatmapLayer, EarthLayer, WindLayer, MaskLayer, TileDebugLayer };
package/es/line/index.js CHANGED
@@ -8,23 +8,36 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConst
8
8
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
9
9
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
10
10
  import _regeneratorRuntime from "@babel/runtime/regenerator";
11
+
11
12
  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); }; }
13
+
12
14
  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; } }
15
+
13
16
  import BaseLayer from "../core/BaseLayer";
14
17
  import LineModels from "./models";
18
+
15
19
  var LineLayer = /*#__PURE__*/function (_BaseLayer) {
16
20
  _inherits(LineLayer, _BaseLayer);
21
+
17
22
  var _super = _createSuper(LineLayer);
23
+
18
24
  function LineLayer() {
19
25
  var _this;
26
+
20
27
  _classCallCheck(this, LineLayer);
28
+
21
29
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
22
30
  args[_key] = arguments[_key];
23
31
  }
32
+
24
33
  _this = _super.call.apply(_super, [this].concat(args));
34
+
25
35
  _defineProperty(_assertThisInitialized(_this), "type", 'LineLayer');
36
+
26
37
  _defineProperty(_assertThisInitialized(_this), "enableEncodeStyles", ['opacity', 'offsets', 'stroke']);
38
+
27
39
  _defineProperty(_assertThisInitialized(_this), "arrowInsertCount", 0);
40
+
28
41
  _defineProperty(_assertThisInitialized(_this), "defaultSourceConfig", {
29
42
  data: [{
30
43
  lng1: 100,
@@ -42,29 +55,36 @@ var LineLayer = /*#__PURE__*/function (_BaseLayer) {
42
55
  }
43
56
  }
44
57
  });
58
+
45
59
  return _this;
46
60
  }
61
+
47
62
  _createClass(LineLayer, [{
48
63
  key: "buildModels",
49
64
  value: function () {
50
65
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
51
66
  var shape;
52
67
  return _regeneratorRuntime.wrap(function _callee$(_context) {
53
- while (1) switch (_context.prev = _context.next) {
54
- case 0:
55
- shape = this.getModelType();
56
- this.layerModel = new LineModels[shape](this);
57
- _context.next = 4;
58
- return this.initLayerModels();
59
- case 4:
60
- case "end":
61
- return _context.stop();
68
+ while (1) {
69
+ switch (_context.prev = _context.next) {
70
+ case 0:
71
+ shape = this.getModelType();
72
+ this.layerModel = new LineModels[shape](this);
73
+ _context.next = 4;
74
+ return this.initLayerModels();
75
+
76
+ case 4:
77
+ case "end":
78
+ return _context.stop();
79
+ }
62
80
  }
63
81
  }, _callee, this);
64
82
  }));
83
+
65
84
  function buildModels() {
66
85
  return _buildModels.apply(this, arguments);
67
86
  }
87
+
68
88
  return buildModels;
69
89
  }()
70
90
  }, {
@@ -95,9 +115,11 @@ var LineLayer = /*#__PURE__*/function (_BaseLayer) {
95
115
  key: "getModelType",
96
116
  value: function getModelType() {
97
117
  var _shapeAttribute$scale;
118
+
98
119
  if (this.layerType) {
99
120
  return this.layerType;
100
121
  }
122
+
101
123
  var shapeAttribute = this.styleAttributeService.getLayerStyleAttribute('shape');
102
124
  var shape = shapeAttribute === null || shapeAttribute === void 0 ? void 0 : (_shapeAttribute$scale = shapeAttribute.scale) === null || _shapeAttribute$scale === void 0 ? void 0 : _shapeAttribute$scale.field;
103
125
  return shape || 'line';
@@ -109,10 +131,12 @@ var LineLayer = /*#__PURE__*/function (_BaseLayer) {
109
131
  if (this.getModelType() !== 'simple') {
110
132
  return filterData;
111
133
  }
134
+
112
135
  var dataArray = [];
113
136
  filterData.map(function (data) {
114
137
  if (Array.isArray(data.coordinates) && Array.isArray(data.coordinates[0]) && Array.isArray(data.coordinates[0][0])) {
115
138
  var object = _objectSpread({}, data);
139
+
116
140
  data.coordinates.map(function (d) {
117
141
  dataArray.push(_objectSpread(_objectSpread({}, object), {}, {
118
142
  coordinates: d
@@ -125,6 +149,8 @@ var LineLayer = /*#__PURE__*/function (_BaseLayer) {
125
149
  return dataArray;
126
150
  }
127
151
  }]);
152
+
128
153
  return LineLayer;
129
154
  }(BaseLayer);
155
+
130
156
  export { LineLayer as default };