@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
@@ -1,65 +1,96 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
9
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
11
16
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
+
12
18
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
+
13
20
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
+
14
22
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
23
+
15
24
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
25
+
16
26
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
27
+
17
28
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
29
+
18
30
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
31
+
19
32
  var _l7Core = require("@antv/l7-core");
33
+
20
34
  var _l7Maps = require("@antv/l7-maps");
35
+
21
36
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
37
+
22
38
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
39
+
23
40
  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; } }
41
+
24
42
  /* babel-plugin-inline-import '../shaders/sprite_frag.glsl' */
25
43
  var spriteFrag = "\nuniform sampler2D u_texture;\nuniform float u_mapFlag;\nuniform float u_opacity;\n\nvarying vec3 v_Color;\nvarying float v_d;\n\nvoid main() {\n\n if(v_d < 0.0) {\n discard;\n }\n\n if(u_mapFlag > 0.0) {\n gl_FragColor = texture2D(u_texture, gl_PointCoord);\n gl_FragColor.a *= u_opacity;\n } else {\n gl_FragColor = vec4(v_Color, u_opacity);\n }\n}\n";
44
+
26
45
  /* babel-plugin-inline-import '../shaders/sprite_vert.glsl' */
27
46
  var spriteVert = "precision highp float;\n\nattribute vec3 a_Position;\nattribute vec3 a_Color;\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform float u_opacity;\nuniform float u_Scale;\nvarying vec3 v_Color;\nvarying float v_d;\n\n#pragma include \"projection\"\nvoid main() {\n v_Color = a_Color;\n \n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n v_d = a_Position.z;\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy, a_Position.z, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, a_Position.z, 1.0));\n }\n\n gl_PointSize = pow((u_Zoom - 1.0), 2.0) * u_Scale;\n}\n";
28
- var SPRITE_ANIMATE_DIR = /*#__PURE__*/function (SPRITE_ANIMATE_DIR) {
47
+ var SPRITE_ANIMATE_DIR;
48
+
49
+ (function (SPRITE_ANIMATE_DIR) {
29
50
  SPRITE_ANIMATE_DIR["UP"] = "up";
30
51
  SPRITE_ANIMATE_DIR["DOWN"] = "down";
31
- return SPRITE_ANIMATE_DIR;
32
- }(SPRITE_ANIMATE_DIR || {});
52
+ })(SPRITE_ANIMATE_DIR || (SPRITE_ANIMATE_DIR = {}));
53
+
33
54
  var SpriteModel = /*#__PURE__*/function (_BaseModel) {
34
55
  (0, _inherits2.default)(SpriteModel, _BaseModel);
56
+
35
57
  var _super = _createSuper(SpriteModel);
58
+
36
59
  function SpriteModel() {
37
60
  var _this;
61
+
38
62
  (0, _classCallCheck2.default)(this, SpriteModel);
63
+
39
64
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
40
65
  args[_key] = arguments[_key];
41
66
  }
67
+
42
68
  _this = _super.call.apply(_super, [this].concat(args));
43
69
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "planeGeometryUpdateTriangulation", function () {
44
70
  var _ref = _this.layer.getLayerConfig(),
45
- _ref$spriteBottom = _ref.spriteBottom,
46
- spriteBottom = _ref$spriteBottom === void 0 ? -100000 : _ref$spriteBottom;
71
+ _ref$spriteBottom = _ref.spriteBottom,
72
+ spriteBottom = _ref$spriteBottom === void 0 ? -100000 : _ref$spriteBottom;
73
+
47
74
  var updateZ = _this.spriteUpdate;
48
75
  var bottomZ = spriteBottom;
49
76
  var topZ = _this.spriteTop;
77
+
50
78
  for (var i = 0; i < _this.positions.length; i += 5) {
51
79
  if (_this.spriteAnimate === SPRITE_ANIMATE_DIR.UP) {
52
80
  _this.positions[i + 2] += updateZ;
81
+
53
82
  if (_this.positions[i + 2] > topZ) {
54
83
  _this.positions[i + 2] = bottomZ;
55
84
  }
56
85
  } else {
57
86
  _this.positions[i + 2] -= updateZ;
87
+
58
88
  if (_this.positions[i + 2] < bottomZ) {
59
89
  _this.positions[i + 2] = topZ;
60
90
  }
61
91
  }
62
92
  }
93
+
63
94
  return {
64
95
  vertices: _this.positions,
65
96
  indices: _this.indices,
@@ -71,24 +102,30 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
71
102
  var attributes = _this.layer.createAttributes({
72
103
  triangulation: _this.planeGeometryUpdateTriangulation
73
104
  });
105
+
74
106
  _this.layer.models.map(function (m) {
75
107
  m.updateAttributes(attributes);
76
108
  });
109
+
77
110
  _this.layerService.throttleRenderLayers();
111
+
78
112
  _this.timer = requestAnimationFrame(_this.updateModel);
79
113
  });
80
114
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "planeGeometryTriangulation", function () {
81
115
  var _this2;
116
+
82
117
  var _ref2 = _this.layer.getLayerConfig(),
83
- _ref2$center = _ref2.center,
84
- center = _ref2$center === void 0 ? [120, 30] : _ref2$center,
85
- _ref2$spriteCount = _ref2.spriteCount,
86
- spriteCount = _ref2$spriteCount === void 0 ? 100 : _ref2$spriteCount,
87
- _ref2$spriteRadius = _ref2.spriteRadius,
88
- spriteRadius = _ref2$spriteRadius === void 0 ? 10 : _ref2$spriteRadius;
118
+ _ref2$center = _ref2.center,
119
+ center = _ref2$center === void 0 ? [120, 30] : _ref2$center,
120
+ _ref2$spriteCount = _ref2.spriteCount,
121
+ spriteCount = _ref2$spriteCount === void 0 ? 100 : _ref2$spriteCount,
122
+ _ref2$spriteRadius = _ref2.spriteRadius,
123
+ spriteRadius = _ref2$spriteRadius === void 0 ? 10 : _ref2$spriteRadius;
124
+
89
125
  var _this$initSprite = (_this2 = _this).initSprite.apply(_this2, [spriteRadius, spriteCount].concat((0, _toConsumableArray2.default)(center))),
90
- indices = _this$initSprite.indices,
91
- positions = _this$initSprite.positions;
126
+ indices = _this$initSprite.indices,
127
+ positions = _this$initSprite.positions;
128
+
92
129
  _this.positions = positions;
93
130
  _this.indices = indices;
94
131
  return {
@@ -99,6 +136,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
99
136
  });
100
137
  return _this;
101
138
  }
139
+
102
140
  (0, _createClass2.default)(SpriteModel, [{
103
141
  key: "initSprite",
104
142
  value: function initSprite() {
@@ -110,29 +148,35 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
110
148
  var positions = [];
111
149
  var mapService = this.mapService;
112
150
  var heightLimit = this.spriteAnimate === SPRITE_ANIMATE_DIR.UP ? -this.spriteTop : this.spriteTop;
151
+
113
152
  for (var i = 0; i < spriteCount; i++) {
114
153
  var height = Math.random() * heightLimit;
115
154
  positions.push.apply(positions, (0, _toConsumableArray2.default)(getPos(height)));
116
155
  }
156
+
117
157
  for (var _i = 0; _i < spriteCount; _i++) {
118
158
  indices.push(_i);
119
159
  }
160
+
120
161
  function getPos(z) {
121
162
  var randomX = radius * Math.random();
122
163
  var randomY = radius * Math.random();
123
164
  var x = -radius / 2 + randomX;
124
165
  var y = -radius / 2 + randomY;
166
+
125
167
  if (mapService.version === _l7Maps.Version['GAODE2.x']) {
126
168
  // @ts-ignore
127
169
  var _ref3 = mapService.lngLatToCoord([x + lng, -y + lat]),
128
- _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
129
- a = _ref4[0],
130
- b = _ref4[1];
170
+ _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
171
+ a = _ref4[0],
172
+ b = _ref4[1];
173
+
131
174
  return [a, b, z, 0, 0];
132
175
  } else {
133
176
  return [x + lng, -y + lat, z, 0, 0];
134
177
  }
135
178
  }
179
+
136
180
  return {
137
181
  indices: indices,
138
182
  positions: positions
@@ -142,16 +186,19 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
142
186
  key: "getUninforms",
143
187
  value: function getUninforms() {
144
188
  var _ref5 = this.layer.getLayerConfig(),
145
- opacity = _ref5.opacity,
146
- mapTexture = _ref5.mapTexture,
147
- _ref5$spriteScale = _ref5.spriteScale,
148
- spriteScale = _ref5$spriteScale === void 0 ? 1 : _ref5$spriteScale;
189
+ opacity = _ref5.opacity,
190
+ mapTexture = _ref5.mapTexture,
191
+ _ref5$spriteScale = _ref5.spriteScale,
192
+ spriteScale = _ref5$spriteScale === void 0 ? 1 : _ref5$spriteScale;
193
+
149
194
  if (this.mapTexture !== mapTexture) {
150
195
  var _this$texture;
196
+
151
197
  this.mapTexture = mapTexture;
152
198
  (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
153
199
  this.updateTexture(mapTexture);
154
200
  }
201
+
155
202
  return {
156
203
  u_opacity: opacity || 1,
157
204
  u_mapFlag: mapTexture ? 1 : 0,
@@ -163,6 +210,7 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
163
210
  key: "clearModels",
164
211
  value: function clearModels() {
165
212
  var _this$texture2;
213
+
166
214
  cancelAnimationFrame(this.timer);
167
215
  (_this$texture2 = this.texture) === null || _this$texture2 === void 0 ? void 0 : _this$texture2.destroy();
168
216
  }
@@ -171,48 +219,56 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
171
219
  value: function () {
172
220
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
173
221
  var _this3 = this;
222
+
174
223
  var _ref6, mapTexture, _ref6$spriteTop, spriteTop, _ref6$spriteUpdate, spriteUpdate, _ref6$spriteAnimate, spriteAnimate, createTexture2D, model;
224
+
175
225
  return _regenerator.default.wrap(function _callee$(_context) {
176
- while (1) switch (_context.prev = _context.next) {
177
- case 0:
178
- _ref6 = this.layer.getLayerConfig(), mapTexture = _ref6.mapTexture, _ref6$spriteTop = _ref6.spriteTop, spriteTop = _ref6$spriteTop === void 0 ? 5000000 : _ref6$spriteTop, _ref6$spriteUpdate = _ref6.spriteUpdate, spriteUpdate = _ref6$spriteUpdate === void 0 ? 10000 : _ref6$spriteUpdate, _ref6$spriteAnimate = _ref6.spriteAnimate, spriteAnimate = _ref6$spriteAnimate === void 0 ? SPRITE_ANIMATE_DIR.DOWN : _ref6$spriteAnimate;
179
- this.mapTexture = mapTexture;
180
- this.spriteTop = spriteTop;
181
- this.spriteUpdate = spriteUpdate;
182
- spriteAnimate === 'up' ? this.spriteAnimate = SPRITE_ANIMATE_DIR.UP : this.spriteAnimate = SPRITE_ANIMATE_DIR.DOWN;
183
- createTexture2D = this.rendererService.createTexture2D;
184
- this.texture = createTexture2D({
185
- height: 0,
186
- width: 0
187
- });
188
- this.updateTexture(mapTexture);
189
- setTimeout(function () {
190
- _this3.updateModel();
191
- }, 100);
192
- _context.next = 11;
193
- return this.layer.buildLayerModel({
194
- moduleName: 'geometrySprite',
195
- vertexShader: spriteVert,
196
- fragmentShader: spriteFrag,
197
- triangulation: this.planeGeometryTriangulation,
198
- primitive: _l7Core.gl.POINTS,
199
- depth: {
200
- enable: false
201
- },
202
- blend: this.getBlend()
203
- });
204
- case 11:
205
- model = _context.sent;
206
- return _context.abrupt("return", [model]);
207
- case 13:
208
- case "end":
209
- return _context.stop();
226
+ while (1) {
227
+ switch (_context.prev = _context.next) {
228
+ case 0:
229
+ _ref6 = this.layer.getLayerConfig(), mapTexture = _ref6.mapTexture, _ref6$spriteTop = _ref6.spriteTop, spriteTop = _ref6$spriteTop === void 0 ? 5000000 : _ref6$spriteTop, _ref6$spriteUpdate = _ref6.spriteUpdate, spriteUpdate = _ref6$spriteUpdate === void 0 ? 10000 : _ref6$spriteUpdate, _ref6$spriteAnimate = _ref6.spriteAnimate, spriteAnimate = _ref6$spriteAnimate === void 0 ? SPRITE_ANIMATE_DIR.DOWN : _ref6$spriteAnimate;
230
+ this.mapTexture = mapTexture;
231
+ this.spriteTop = spriteTop;
232
+ this.spriteUpdate = spriteUpdate;
233
+ spriteAnimate === 'up' ? this.spriteAnimate = SPRITE_ANIMATE_DIR.UP : this.spriteAnimate = SPRITE_ANIMATE_DIR.DOWN;
234
+ createTexture2D = this.rendererService.createTexture2D;
235
+ this.texture = createTexture2D({
236
+ height: 0,
237
+ width: 0
238
+ });
239
+ this.updateTexture(mapTexture);
240
+ setTimeout(function () {
241
+ _this3.updateModel();
242
+ }, 100);
243
+ _context.next = 11;
244
+ return this.layer.buildLayerModel({
245
+ moduleName: 'geometrySprite',
246
+ vertexShader: spriteVert,
247
+ fragmentShader: spriteFrag,
248
+ triangulation: this.planeGeometryTriangulation,
249
+ primitive: _l7Core.gl.POINTS,
250
+ depth: {
251
+ enable: false
252
+ },
253
+ blend: this.getBlend()
254
+ });
255
+
256
+ case 11:
257
+ model = _context.sent;
258
+ return _context.abrupt("return", [model]);
259
+
260
+ case 13:
261
+ case "end":
262
+ return _context.stop();
263
+ }
210
264
  }
211
265
  }, _callee, this);
212
266
  }));
267
+
213
268
  function initModels() {
214
269
  return _initModels.apply(this, arguments);
215
270
  }
271
+
216
272
  return initModels;
217
273
  }()
218
274
  }, {
@@ -220,28 +276,36 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
220
276
  value: function () {
221
277
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
222
278
  return _regenerator.default.wrap(function _callee2$(_context2) {
223
- while (1) switch (_context2.prev = _context2.next) {
224
- case 0:
225
- return _context2.abrupt("return", this.initModels());
226
- case 1:
227
- case "end":
228
- return _context2.stop();
279
+ while (1) {
280
+ switch (_context2.prev = _context2.next) {
281
+ case 0:
282
+ return _context2.abrupt("return", this.initModels());
283
+
284
+ case 1:
285
+ case "end":
286
+ return _context2.stop();
287
+ }
229
288
  }
230
289
  }, _callee2, this);
231
290
  }));
291
+
232
292
  function buildModels() {
233
293
  return _buildModels.apply(this, arguments);
234
294
  }
295
+
235
296
  return buildModels;
236
297
  }()
237
298
  }, {
238
299
  key: "updateTexture",
239
300
  value: function updateTexture(mapTexture) {
240
301
  var _this4 = this;
302
+
241
303
  var createTexture2D = this.rendererService.createTexture2D;
304
+
242
305
  if (mapTexture) {
243
306
  var img = new Image();
244
307
  img.crossOrigin = 'anonymous';
308
+
245
309
  img.onload = function () {
246
310
  _this4.texture = createTexture2D({
247
311
  data: img,
@@ -250,8 +314,10 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
250
314
  wrapS: _l7Core.gl.CLAMP_TO_EDGE,
251
315
  wrapT: _l7Core.gl.CLAMP_TO_EDGE
252
316
  });
317
+
253
318
  _this4.layerService.reRender();
254
319
  };
320
+
255
321
  img.src = mapTexture;
256
322
  } else {
257
323
  this.texture = createTexture2D({
@@ -268,4 +334,5 @@ var SpriteModel = /*#__PURE__*/function (_BaseModel) {
268
334
  }]);
269
335
  return SpriteModel;
270
336
  }(_BaseModel2.default);
337
+
271
338
  exports.default = SpriteModel;
@@ -1,58 +1,84 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
9
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
11
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
12
18
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
+
13
20
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
14
22
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
15
24
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
16
26
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
+
17
28
  var _BaseLayer2 = _interopRequireDefault(require("../core/BaseLayer"));
29
+
18
30
  var _index = _interopRequireDefault(require("./models/index"));
31
+
19
32
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
33
+
20
34
  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; } }
35
+
21
36
  var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
22
37
  (0, _inherits2.default)(CanvasLayer, _BaseLayer);
38
+
23
39
  var _super = _createSuper(CanvasLayer);
40
+
24
41
  function CanvasLayer() {
25
42
  var _this;
43
+
26
44
  (0, _classCallCheck2.default)(this, CanvasLayer);
45
+
27
46
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
28
47
  args[_key] = arguments[_key];
29
48
  }
49
+
30
50
  _this = _super.call.apply(_super, [this].concat(args));
31
51
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'CanvasLayer');
32
52
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "forceRender", true);
33
53
  return _this;
34
54
  }
55
+
35
56
  (0, _createClass2.default)(CanvasLayer, [{
36
57
  key: "buildModels",
37
58
  value: function () {
38
59
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
39
60
  var modelType;
40
61
  return _regenerator.default.wrap(function _callee$(_context) {
41
- while (1) switch (_context.prev = _context.next) {
42
- case 0:
43
- modelType = this.getModelType();
44
- this.layerModel = new _index.default[modelType](this);
45
- _context.next = 4;
46
- return this.initLayerModels();
47
- case 4:
48
- case "end":
49
- return _context.stop();
62
+ while (1) {
63
+ switch (_context.prev = _context.next) {
64
+ case 0:
65
+ modelType = this.getModelType();
66
+ this.layerModel = new _index.default[modelType](this);
67
+ _context.next = 4;
68
+ return this.initLayerModels();
69
+
70
+ case 4:
71
+ case "end":
72
+ return _context.stop();
73
+ }
50
74
  }
51
75
  }, _callee, this);
52
76
  }));
77
+
53
78
  function buildModels() {
54
79
  return _buildModels.apply(this, arguments);
55
80
  }
81
+
56
82
  return buildModels;
57
83
  }()
58
84
  }, {
@@ -62,6 +88,7 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
62
88
  if (this.layerModel.clearCanvas) {
63
89
  this.layerModel.clearCanvas();
64
90
  }
91
+
65
92
  this.updateLayerConfig({
66
93
  visible: false
67
94
  });
@@ -72,10 +99,12 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
72
99
  key: "renderModels",
73
100
  value: function renderModels() {
74
101
  var _this$layerModel,
75
- _this2 = this;
102
+ _this2 = this;
103
+
76
104
  if (this !== null && this !== void 0 && (_this$layerModel = this.layerModel) !== null && _this$layerModel !== void 0 && _this$layerModel.renderUpdate) {
77
105
  this.layerModel.renderUpdate();
78
106
  }
107
+
79
108
  this.models.forEach(function (model) {
80
109
  model.draw({
81
110
  uniforms: _this2.layerModel.getUninforms()
@@ -100,4 +129,5 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
100
129
  }]);
101
130
  return CanvasLayer;
102
131
  }(_BaseLayer2.default);
132
+
103
133
  exports.default = CanvasLayer;