@antv/l7-layers 2.15.5 → 2.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/es/Geometry/index.js +31 -9
  2. package/es/Geometry/models/billboard.js +89 -51
  3. package/es/Geometry/models/plane.js +143 -81
  4. package/es/Geometry/models/sprite.js +118 -60
  5. package/es/canvas/index.js +33 -10
  6. package/es/canvas/models/canvas.js +97 -41
  7. package/es/citybuliding/building.js +27 -8
  8. package/es/citybuliding/models/build.js +82 -57
  9. package/es/core/BaseLayer.js +486 -321
  10. package/es/core/BaseModel.js +126 -97
  11. package/es/core/LayerPickService.js +32 -21
  12. package/es/core/TextureService.js +13 -0
  13. package/es/core/interface.js +24 -17
  14. package/es/core/shape/Path.js +20 -13
  15. package/es/core/shape/extrude.js +31 -10
  16. package/es/core/triangulation.js +114 -54
  17. package/es/earth/index.js +33 -9
  18. package/es/earth/models/atmosphere.js +54 -30
  19. package/es/earth/models/base.js +85 -47
  20. package/es/earth/models/bloomsphere.js +54 -30
  21. package/es/earth/utils.js +13 -9
  22. package/es/heatmap/index.js +40 -10
  23. package/es/heatmap/models/grid.js +52 -28
  24. package/es/heatmap/models/grid3d.js +52 -28
  25. package/es/heatmap/models/heatmap.js +146 -91
  26. package/es/heatmap/models/hexagon.js +52 -28
  27. package/es/heatmap/triangulation.js +4 -0
  28. package/es/image/index.js +28 -9
  29. package/es/image/models/image.js +100 -66
  30. package/es/index.js +17 -9
  31. package/es/line/index.js +34 -9
  32. package/es/line/models/arc.js +118 -66
  33. package/es/line/models/arc_3d.js +108 -60
  34. package/es/line/models/earthArc_3d.js +111 -63
  35. package/es/line/models/great_circle.js +100 -56
  36. package/es/line/models/half.js +77 -46
  37. package/es/line/models/line.js +148 -94
  38. package/es/line/models/linearline.js +80 -45
  39. package/es/line/models/simpleLine.js +74 -41
  40. package/es/line/models/wall.js +92 -52
  41. package/es/mask/index.js +28 -9
  42. package/es/mask/models/fill.js +54 -29
  43. package/es/plugins/DataMappingPlugin.js +117 -80
  44. package/es/plugins/DataSourcePlugin.js +68 -45
  45. package/es/plugins/FeatureScalePlugin.js +122 -67
  46. package/es/plugins/LayerAnimateStylePlugin.js +5 -0
  47. package/es/plugins/LayerMaskPlugin.js +11 -3
  48. package/es/plugins/LayerModelPlugin.js +104 -67
  49. package/es/plugins/LayerStylePlugin.js +9 -3
  50. package/es/plugins/LightingPlugin.js +18 -12
  51. package/es/plugins/MultiPassRendererPlugin.js +16 -11
  52. package/es/plugins/PixelPickingPlugin.js +21 -12
  53. package/es/plugins/RegisterStyleAttributePlugin.js +12 -5
  54. package/es/plugins/ShaderUniformPlugin.js +27 -13
  55. package/es/plugins/UpdateModelPlugin.js +5 -0
  56. package/es/plugins/UpdateStyleAttributePlugin.js +11 -5
  57. package/es/point/index.js +77 -26
  58. package/es/point/models/earthExtrude.js +102 -61
  59. package/es/point/models/earthFill.js +87 -57
  60. package/es/point/models/extrude.js +101 -60
  61. package/es/point/models/fill.js +100 -70
  62. package/es/point/models/fillmage.js +107 -63
  63. package/es/point/models/image.js +88 -48
  64. package/es/point/models/index.js +2 -2
  65. package/es/point/models/normal.js +54 -30
  66. package/es/point/models/radar.js +64 -40
  67. package/es/point/models/simplePoint.js +69 -41
  68. package/es/point/models/text.d.ts +2 -1
  69. package/es/point/models/text.js +305 -201
  70. package/es/point/shape/extrude.js +13 -4
  71. package/es/polygon/index.js +40 -11
  72. package/es/polygon/models/extrude.js +92 -48
  73. package/es/polygon/models/fill.js +88 -54
  74. package/es/polygon/models/index.js +2 -3
  75. package/es/polygon/models/ocean.js +76 -42
  76. package/es/polygon/models/water.js +71 -37
  77. package/es/raster/buffers/triangulation.js +4 -2
  78. package/es/raster/index.js +32 -9
  79. package/es/raster/models/raster.js +116 -80
  80. package/es/raster/models/rasterRgb.js +127 -84
  81. package/es/raster/models/rasterTerrainRgb.js +84 -56
  82. package/es/tile/interaction/getRasterData.js +20 -14
  83. package/es/tile/interaction/utils.js +9 -7
  84. package/es/tile/manager/base.js +96 -63
  85. package/es/tile/service/TileLayerService.js +55 -33
  86. package/es/tile/service/TilePickService.js +40 -26
  87. package/es/tile/service/TileSourceService.js +7 -3
  88. package/es/tile/tileFactory/DebugTile.js +46 -29
  89. package/es/tile/tileFactory/ImageTile.js +38 -20
  90. package/es/tile/tileFactory/MaskTile.js +43 -22
  91. package/es/tile/tileFactory/RasterRGBTile.js +42 -22
  92. package/es/tile/tileFactory/RasterTerrainRGBTile.js +38 -20
  93. package/es/tile/tileFactory/RasterTile.js +53 -30
  94. package/es/tile/tileFactory/Tile.js +97 -63
  95. package/es/tile/tileFactory/VectorTile.js +68 -41
  96. package/es/tile/tileFactory/index.js +11 -0
  97. package/es/tile/tileFactory/layers/TileDebugLayer.js +27 -6
  98. package/es/tile/tileFactory/util.js +3 -0
  99. package/es/tile/tileLayer/BaseLayer.js +146 -105
  100. package/es/tile/utils.js +1 -1
  101. package/es/utils/blend.js +2 -0
  102. package/es/utils/collision-index.js +16 -9
  103. package/es/utils/dataMappingStyle.js +18 -8
  104. package/es/utils/extrude_polyline.js +149 -101
  105. package/es/utils/grid-index.js +27 -2
  106. package/es/utils/identityScale.js +8 -0
  107. package/es/utils/layerData.js +44 -30
  108. package/es/utils/multiPassRender.js +13 -11
  109. package/es/utils/polylineNormal.js +37 -31
  110. package/es/utils/simpleLine.js +16 -2
  111. package/es/utils/stencil.js +3 -2
  112. package/es/utils/symbol-layout.js +53 -27
  113. package/es/wind/index.js +29 -9
  114. package/es/wind/models/utils.js +51 -26
  115. package/es/wind/models/wind.js +147 -101
  116. package/es/wind/models/windRender.js +66 -53
  117. package/lib/Geometry/index.js +38 -9
  118. package/lib/Geometry/models/billboard.js +97 -51
  119. package/lib/Geometry/models/index.js +5 -0
  120. package/lib/Geometry/models/plane.js +151 -79
  121. package/lib/Geometry/models/sprite.js +127 -60
  122. package/lib/canvas/index.js +40 -10
  123. package/lib/canvas/models/canvas.js +101 -41
  124. package/lib/canvas/models/index.js +3 -0
  125. package/lib/citybuliding/building.js +35 -8
  126. package/lib/citybuliding/models/build.js +92 -57
  127. package/lib/core/BaseLayer.js +480 -321
  128. package/lib/core/BaseModel.js +139 -97
  129. package/lib/core/LayerPickService.js +37 -21
  130. package/lib/core/TextureService.js +16 -0
  131. package/lib/core/interface.js +31 -21
  132. package/lib/core/schema.js +1 -0
  133. package/lib/core/shape/Path.js +31 -14
  134. package/lib/core/shape/extrude.js +54 -10
  135. package/lib/core/triangulation.js +153 -53
  136. package/lib/earth/index.js +43 -9
  137. package/lib/earth/models/atmosphere.js +63 -30
  138. package/lib/earth/models/base.js +90 -47
  139. package/lib/earth/models/bloomsphere.js +63 -30
  140. package/lib/earth/utils.js +31 -7
  141. package/lib/heatmap/index.js +48 -10
  142. package/lib/heatmap/models/grid.js +60 -28
  143. package/lib/heatmap/models/grid3d.js +60 -28
  144. package/lib/heatmap/models/heatmap.js +162 -91
  145. package/lib/heatmap/models/hexagon.js +60 -28
  146. package/lib/heatmap/models/index.js +6 -0
  147. package/lib/heatmap/triangulation.js +5 -0
  148. package/lib/image/index.js +36 -9
  149. package/lib/image/models/image.js +109 -66
  150. package/lib/image/models/index.js +3 -0
  151. package/lib/index.js +61 -7
  152. package/lib/line/index.js +40 -9
  153. package/lib/line/models/arc.js +128 -64
  154. package/lib/line/models/arc_3d.js +119 -58
  155. package/lib/line/models/earthArc_3d.js +122 -61
  156. package/lib/line/models/great_circle.js +111 -56
  157. package/lib/line/models/half.js +87 -46
  158. package/lib/line/models/index.js +11 -0
  159. package/lib/line/models/line.js +156 -92
  160. package/lib/line/models/linearline.js +92 -45
  161. package/lib/line/models/simpleLine.js +84 -41
  162. package/lib/line/models/wall.js +103 -52
  163. package/lib/mask/index.js +36 -9
  164. package/lib/mask/models/fill.js +63 -29
  165. package/lib/mask/models/index.js +3 -0
  166. package/lib/plugins/DataMappingPlugin.js +128 -80
  167. package/lib/plugins/DataSourcePlugin.js +76 -45
  168. package/lib/plugins/FeatureScalePlugin.js +138 -67
  169. package/lib/plugins/LayerAnimateStylePlugin.js +10 -0
  170. package/lib/plugins/LayerMaskPlugin.js +17 -4
  171. package/lib/plugins/LayerModelPlugin.js +113 -68
  172. package/lib/plugins/LayerStylePlugin.js +14 -4
  173. package/lib/plugins/LightingPlugin.js +25 -12
  174. package/lib/plugins/MultiPassRendererPlugin.js +22 -11
  175. package/lib/plugins/PixelPickingPlugin.js +27 -12
  176. package/lib/plugins/RegisterStyleAttributePlugin.js +19 -5
  177. package/lib/plugins/ShaderUniformPlugin.js +34 -13
  178. package/lib/plugins/UpdateModelPlugin.js +10 -1
  179. package/lib/plugins/UpdateStyleAttributePlugin.js +16 -5
  180. package/lib/point/index.js +83 -26
  181. package/lib/point/models/earthExtrude.js +113 -61
  182. package/lib/point/models/earthFill.js +117 -57
  183. package/lib/point/models/extrude.js +111 -60
  184. package/lib/point/models/fill.js +109 -68
  185. package/lib/point/models/fillmage.js +115 -61
  186. package/lib/point/models/image.js +98 -48
  187. package/lib/point/models/index.js +12 -1
  188. package/lib/point/models/normal.js +64 -30
  189. package/lib/point/models/radar.js +74 -40
  190. package/lib/point/models/simplePoint.js +79 -41
  191. package/lib/point/models/text.js +314 -202
  192. package/lib/point/shape/extrude.js +20 -4
  193. package/lib/polygon/index.js +48 -11
  194. package/lib/polygon/models/extrude.js +103 -48
  195. package/lib/polygon/models/fill.js +98 -54
  196. package/lib/polygon/models/index.js +14 -2
  197. package/lib/polygon/models/ocean.js +88 -42
  198. package/lib/polygon/models/water.js +82 -37
  199. package/lib/raster/buffers/triangulation.js +7 -3
  200. package/lib/raster/index.js +40 -9
  201. package/lib/raster/models/index.js +5 -0
  202. package/lib/raster/models/raster.js +125 -80
  203. package/lib/raster/models/rasterRgb.js +139 -84
  204. package/lib/raster/models/rasterTerrainRgb.js +93 -56
  205. package/lib/tile/interaction/getRasterData.js +25 -14
  206. package/lib/tile/interaction/utils.js +19 -7
  207. package/lib/tile/manager/base.js +104 -63
  208. package/lib/tile/service/TileLayerService.js +60 -33
  209. package/lib/tile/service/TilePickService.js +48 -26
  210. package/lib/tile/service/TileSourceService.js +16 -2
  211. package/lib/tile/style/utils.js +3 -0
  212. package/lib/tile/tileFactory/DebugTile.js +54 -29
  213. package/lib/tile/tileFactory/ImageTile.js +46 -20
  214. package/lib/tile/tileFactory/MaskTile.js +51 -22
  215. package/lib/tile/tileFactory/RasterRGBTile.js +50 -22
  216. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +46 -20
  217. package/lib/tile/tileFactory/RasterTile.js +63 -30
  218. package/lib/tile/tileFactory/Tile.js +102 -63
  219. package/lib/tile/tileFactory/VectorTile.js +76 -41
  220. package/lib/tile/tileFactory/index.js +25 -0
  221. package/lib/tile/tileFactory/layers/TileDebugLayer.js +32 -6
  222. package/lib/tile/tileFactory/util.js +9 -0
  223. package/lib/tile/tileLayer/BaseLayer.js +153 -105
  224. package/lib/tile/utils.js +5 -1
  225. package/lib/utils/blend.js +5 -0
  226. package/lib/utils/collision-index.js +25 -9
  227. package/lib/utils/dataMappingStyle.js +19 -8
  228. package/lib/utils/extrude_polyline.js +181 -101
  229. package/lib/utils/grid-index.js +28 -2
  230. package/lib/utils/identityScale.js +9 -0
  231. package/lib/utils/layerData.js +49 -30
  232. package/lib/utils/multiPassRender.js +16 -11
  233. package/lib/utils/polylineNormal.js +66 -31
  234. package/lib/utils/simpleLine.js +21 -2
  235. package/lib/utils/stencil.js +4 -0
  236. package/lib/utils/symbol-layout.js +55 -27
  237. package/lib/wind/index.js +37 -9
  238. package/lib/wind/models/index.js +3 -0
  239. package/lib/wind/models/utils.js +62 -26
  240. package/lib/wind/models/wind.js +157 -101
  241. package/lib/wind/models/windRender.js +71 -53
  242. package/lib/wind/models/windShader.js +1 -0
  243. package/package.json +7 -7
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,22 +8,34 @@ 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), "arrowInsertCount", 0);
38
+
27
39
  _defineProperty(_assertThisInitialized(_this), "defaultSourceConfig", {
28
40
  data: [{
29
41
  lng1: 100,
@@ -41,29 +53,36 @@ var LineLayer = /*#__PURE__*/function (_BaseLayer) {
41
53
  }
42
54
  }
43
55
  });
56
+
44
57
  return _this;
45
58
  }
59
+
46
60
  _createClass(LineLayer, [{
47
61
  key: "buildModels",
48
62
  value: function () {
49
63
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
50
64
  var shape;
51
65
  return _regeneratorRuntime.wrap(function _callee$(_context) {
52
- while (1) switch (_context.prev = _context.next) {
53
- case 0:
54
- shape = this.getModelType();
55
- this.layerModel = new LineModels[shape](this);
56
- _context.next = 4;
57
- return this.initLayerModels();
58
- case 4:
59
- case "end":
60
- return _context.stop();
66
+ while (1) {
67
+ switch (_context.prev = _context.next) {
68
+ case 0:
69
+ shape = this.getModelType();
70
+ this.layerModel = new LineModels[shape](this);
71
+ _context.next = 4;
72
+ return this.initLayerModels();
73
+
74
+ case 4:
75
+ case "end":
76
+ return _context.stop();
77
+ }
61
78
  }
62
79
  }, _callee, this);
63
80
  }));
81
+
64
82
  function buildModels() {
65
83
  return _buildModels.apply(this, arguments);
66
84
  }
85
+
67
86
  return buildModels;
68
87
  }()
69
88
  }, {
@@ -94,9 +113,11 @@ var LineLayer = /*#__PURE__*/function (_BaseLayer) {
94
113
  key: "getModelType",
95
114
  value: function getModelType() {
96
115
  var _shapeAttribute$scale;
116
+
97
117
  if (this.layerType) {
98
118
  return this.layerType;
99
119
  }
120
+
100
121
  var shapeAttribute = this.styleAttributeService.getLayerStyleAttribute('shape');
101
122
  var shape = shapeAttribute === null || shapeAttribute === void 0 ? void 0 : (_shapeAttribute$scale = shapeAttribute.scale) === null || _shapeAttribute$scale === void 0 ? void 0 : _shapeAttribute$scale.field;
102
123
  return shape || 'line';
@@ -108,10 +129,12 @@ var LineLayer = /*#__PURE__*/function (_BaseLayer) {
108
129
  if (this.getModelType() !== 'simple') {
109
130
  return filterData;
110
131
  }
132
+
111
133
  var dataArray = [];
112
134
  filterData.map(function (data) {
113
135
  if (Array.isArray(data.coordinates) && Array.isArray(data.coordinates[0]) && Array.isArray(data.coordinates[0][0])) {
114
136
  var object = _objectSpread({}, data);
137
+
115
138
  data.coordinates.map(function (d) {
116
139
  dataArray.push(_objectSpread(_objectSpread({}, object), {}, {
117
140
  coordinates: d
@@ -124,6 +147,8 @@ var LineLayer = /*#__PURE__*/function (_BaseLayer) {
124
147
  return dataArray;
125
148
  }
126
149
  }]);
150
+
127
151
  return LineLayer;
128
152
  }(BaseLayer);
153
+
129
154
  export { LineLayer as default };