@antv/l7-layers 2.10.1 → 2.10.2

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 (353) hide show
  1. package/es/Geometry/index.d.ts +2 -3
  2. package/es/Geometry/index.js +27 -17
  3. package/es/Geometry/models/billboard.d.ts +2 -2
  4. package/es/Geometry/models/billboard.js +77 -37
  5. package/es/Geometry/models/plane.d.ts +2 -2
  6. package/es/Geometry/models/plane.js +80 -40
  7. package/es/Geometry/models/sprite.d.ts +2 -2
  8. package/es/Geometry/models/sprite.js +83 -45
  9. package/es/canvas/index.d.ts +3 -4
  10. package/es/canvas/index.js +35 -24
  11. package/es/canvas/models/canvas.d.ts +2 -2
  12. package/es/canvas/models/canvas.js +54 -15
  13. package/es/citybuliding/building.d.ts +2 -3
  14. package/es/citybuliding/building.js +26 -17
  15. package/es/citybuliding/models/build.d.ts +2 -2
  16. package/es/citybuliding/models/build.js +70 -25
  17. package/es/core/BaseLayer.d.ts +21 -18
  18. package/es/core/BaseLayer.js +391 -261
  19. package/es/core/BaseModel.d.ts +2 -2
  20. package/es/core/BaseModel.js +47 -6
  21. package/es/core/LayerPickService.d.ts +9 -0
  22. package/es/core/LayerPickService.js +85 -0
  23. package/es/core/triangulation.js +8 -1
  24. package/es/earth/index.d.ts +3 -3
  25. package/es/earth/index.js +28 -9
  26. package/es/earth/models/atmosphere.d.ts +2 -2
  27. package/es/earth/models/atmosphere.js +67 -22
  28. package/es/earth/models/base.d.ts +2 -2
  29. package/es/earth/models/base.js +89 -43
  30. package/es/earth/models/bloomsphere.d.ts +2 -2
  31. package/es/earth/models/bloomsphere.js +67 -22
  32. package/es/heatmap/index.d.ts +2 -3
  33. package/es/heatmap/index.js +33 -22
  34. package/es/heatmap/models/grid.d.ts +2 -2
  35. package/es/heatmap/models/grid.js +68 -27
  36. package/es/heatmap/models/grid3d.d.ts +2 -2
  37. package/es/heatmap/models/grid3d.js +69 -28
  38. package/es/heatmap/models/heatmap.d.ts +2 -2
  39. package/es/heatmap/models/heatmap.js +40 -14
  40. package/es/heatmap/models/hexagon.d.ts +2 -2
  41. package/es/heatmap/models/hexagon.js +69 -28
  42. package/es/image/index.d.ts +2 -3
  43. package/es/image/index.js +27 -17
  44. package/es/image/models/dataImage.d.ts +2 -2
  45. package/es/image/models/dataImage.js +93 -54
  46. package/es/image/models/image.d.ts +2 -2
  47. package/es/image/models/image.js +108 -67
  48. package/es/image/models/tileDataImage.d.ts +2 -2
  49. package/es/image/models/tileDataImage.js +84 -43
  50. package/es/index.d.ts +2 -2
  51. package/es/index.js +2 -2
  52. package/es/line/index.d.ts +5 -4
  53. package/es/line/index.js +51 -25
  54. package/es/line/models/arc.d.ts +2 -2
  55. package/es/line/models/arc.js +73 -38
  56. package/es/line/models/arc_3d.d.ts +2 -2
  57. package/es/line/models/arc_3d.js +69 -34
  58. package/es/line/models/earthArc_3d.d.ts +2 -2
  59. package/es/line/models/earthArc_3d.js +72 -37
  60. package/es/line/models/great_circle.d.ts +2 -2
  61. package/es/line/models/great_circle.js +70 -29
  62. package/es/line/models/half.d.ts +2 -2
  63. package/es/line/models/half.js +40 -17
  64. package/es/line/models/index.d.ts +1 -1
  65. package/es/line/models/index.js +0 -2
  66. package/es/line/models/line.d.ts +2 -2
  67. package/es/line/models/line.js +79 -47
  68. package/es/line/models/linearline.d.ts +2 -2
  69. package/es/line/models/linearline.js +70 -31
  70. package/es/line/models/simpleLine.d.ts +2 -2
  71. package/es/line/models/simpleLine.js +71 -34
  72. package/es/line/models/simpleTileLine.d.ts +2 -2
  73. package/es/line/models/simpleTileLine.js +70 -30
  74. package/es/line/models/tile.d.ts +2 -2
  75. package/es/line/models/tile.js +40 -17
  76. package/es/line/models/wall.d.ts +2 -2
  77. package/es/line/models/wall.js +67 -22
  78. package/es/mask/index.d.ts +2 -4
  79. package/es/mask/index.js +27 -97
  80. package/es/mask/models/fill.d.ts +2 -2
  81. package/es/mask/models/fill.js +40 -16
  82. package/es/mask/models/index.d.ts +1 -1
  83. package/es/mask/models/index.js +1 -3
  84. package/es/plugins/DataMappingPlugin.js +80 -66
  85. package/es/plugins/DataSourcePlugin.js +64 -25
  86. package/es/plugins/FeatureScalePlugin.js +84 -44
  87. package/es/plugins/LayerAnimateStylePlugin.js +6 -3
  88. package/es/plugins/LayerModelPlugin.d.ts +2 -2
  89. package/es/plugins/LayerModelPlugin.js +124 -37
  90. package/es/plugins/LayerStylePlugin.js +1 -6
  91. package/es/plugins/MultiPassRendererPlugin.js +1 -1
  92. package/es/plugins/PixelPickingPlugin.js +1 -1
  93. package/es/plugins/RegisterStyleAttributePlugin.js +4 -17
  94. package/es/plugins/ShaderUniformPlugin.js +7 -2
  95. package/es/plugins/UpdateStyleAttributePlugin.js +8 -5
  96. package/es/point/index.d.ts +4 -4
  97. package/es/point/index.js +55 -23
  98. package/es/point/models/earthExtrude.d.ts +2 -2
  99. package/es/point/models/earthExtrude.js +73 -30
  100. package/es/point/models/earthFill.d.ts +2 -2
  101. package/es/point/models/earthFill.js +66 -21
  102. package/es/point/models/extrude.d.ts +2 -2
  103. package/es/point/models/extrude.js +40 -17
  104. package/es/point/models/fill.d.ts +2 -2
  105. package/es/point/models/fill.js +43 -20
  106. package/es/point/models/fillmage.d.ts +2 -2
  107. package/es/point/models/fillmage.js +82 -43
  108. package/es/point/models/image.d.ts +2 -2
  109. package/es/point/models/image.js +72 -31
  110. package/es/point/models/index.d.ts +1 -1
  111. package/es/point/models/index.js +0 -2
  112. package/es/point/models/normal.d.ts +2 -2
  113. package/es/point/models/normal.js +71 -30
  114. package/es/point/models/radar.d.ts +2 -2
  115. package/es/point/models/radar.js +75 -35
  116. package/es/point/models/simplePoint.d.ts +2 -2
  117. package/es/point/models/simplePoint.js +70 -29
  118. package/es/point/models/text.d.ts +3 -2
  119. package/es/point/models/text.js +164 -107
  120. package/es/point/models/tile.d.ts +2 -2
  121. package/es/point/models/tile.js +77 -35
  122. package/es/point/models/tileText.d.ts +2 -2
  123. package/es/point/models/tileText.js +151 -116
  124. package/es/polygon/index.d.ts +2 -3
  125. package/es/polygon/index.js +27 -24
  126. package/es/polygon/models/extrude.d.ts +2 -2
  127. package/es/polygon/models/extrude.js +66 -29
  128. package/es/polygon/models/fill.d.ts +2 -2
  129. package/es/polygon/models/fill.js +76 -43
  130. package/es/polygon/models/index.d.ts +1 -1
  131. package/es/polygon/models/index.js +0 -2
  132. package/es/polygon/models/ocean.d.ts +2 -2
  133. package/es/polygon/models/ocean.js +69 -28
  134. package/es/polygon/models/tile.d.ts +2 -2
  135. package/es/polygon/models/tile.js +70 -30
  136. package/es/polygon/models/water.d.ts +2 -2
  137. package/es/polygon/models/water.js +69 -28
  138. package/es/raster/index.d.ts +3 -4
  139. package/es/raster/index.js +28 -22
  140. package/es/raster/models/index.d.ts +1 -1
  141. package/es/raster/models/index.js +1 -3
  142. package/es/raster/models/raster.d.ts +2 -2
  143. package/es/raster/models/raster.js +36 -13
  144. package/es/raster/models/rasterRgb.d.ts +2 -2
  145. package/es/raster/models/rasterRgb.js +36 -13
  146. package/es/raster/models/rasterTile.d.ts +2 -2
  147. package/es/raster/models/rasterTile.js +77 -36
  148. package/es/raster/raster.d.ts +1 -1
  149. package/es/raster/raster.js +42 -22
  150. package/es/tile/interaction/getRasterData.d.ts +2 -2
  151. package/es/tile/interaction/utils.js +3 -11
  152. package/es/tile/interface.d.ts +5 -4
  153. package/es/tile/manager/base.d.ts +17 -12
  154. package/es/tile/manager/base.js +212 -47
  155. package/es/tile/service/TileLayerService.d.ts +33 -0
  156. package/es/tile/service/TileLayerService.js +172 -0
  157. package/es/tile/service/TilePickService.d.ts +22 -0
  158. package/es/tile/service/TilePickService.js +124 -0
  159. package/es/tile/style/constants.d.ts +1 -13
  160. package/es/tile/style/constants.js +6 -15
  161. package/es/tile/style/utils.d.ts +1 -8
  162. package/es/tile/style/utils.js +0 -126
  163. package/es/tile/tileFactory/DebugTile.d.ts +16 -0
  164. package/es/tile/tileFactory/DebugTile.js +100 -0
  165. package/es/tile/tileFactory/ImageTile.d.ts +14 -0
  166. package/es/tile/tileFactory/ImageTile.js +89 -0
  167. package/es/tile/tileFactory/MaskTile.d.ts +17 -0
  168. package/es/tile/tileFactory/MaskTile.js +98 -0
  169. package/es/tile/tileFactory/RasterRGBTile.d.ts +16 -0
  170. package/es/tile/tileFactory/RasterRGBTile.js +91 -0
  171. package/es/tile/tileFactory/RasterTile.d.ts +27 -0
  172. package/es/tile/tileFactory/RasterTile.js +186 -0
  173. package/es/tile/tileFactory/Tile.d.ts +23 -0
  174. package/es/tile/tileFactory/Tile.js +136 -0
  175. package/es/tile/tileFactory/VectorTile.d.ts +20 -0
  176. package/es/tile/tileFactory/VectorTile.js +158 -0
  177. package/es/tile/tileFactory/index.d.ts +10 -4
  178. package/es/tile/tileFactory/index.js +30 -23
  179. package/es/tile/tileFactory/layers/{rasterDataLayer.d.ts → RasterDataLayer.d.ts} +3 -3
  180. package/es/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +33 -21
  181. package/es/tile/tileFactory/layers/{tileTest.d.ts → TileDebugLayer.d.ts} +2 -2
  182. package/es/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +23 -10
  183. package/es/tile/tileFactory/util.d.ts +6 -0
  184. package/es/tile/tileFactory/util.js +33 -0
  185. package/es/tile/tileLayer/BaseLayer.d.ts +46 -0
  186. package/es/tile/tileLayer/BaseLayer.js +358 -0
  187. package/es/tile/utils.d.ts +1 -11
  188. package/es/tile/utils.js +0 -127
  189. package/es/utils/dataMappingStyle.d.ts +4 -4
  190. package/es/utils/dataMappingStyle.js +19 -19
  191. package/es/utils/layerData.js +5 -11
  192. package/es/wind/index.d.ts +2 -3
  193. package/es/wind/index.js +27 -17
  194. package/es/wind/models/wind.d.ts +2 -2
  195. package/es/wind/models/wind.js +120 -104
  196. package/lib/Geometry/index.js +29 -17
  197. package/lib/Geometry/models/billboard.js +79 -37
  198. package/lib/Geometry/models/plane.js +82 -40
  199. package/lib/Geometry/models/sprite.js +85 -45
  200. package/lib/canvas/index.js +37 -24
  201. package/lib/canvas/models/canvas.js +56 -15
  202. package/lib/citybuliding/building.js +28 -17
  203. package/lib/citybuliding/models/build.js +72 -25
  204. package/lib/core/BaseLayer.js +391 -256
  205. package/lib/core/BaseModel.js +48 -6
  206. package/lib/core/LayerPickService.js +96 -0
  207. package/lib/core/triangulation.js +8 -1
  208. package/lib/earth/index.js +30 -9
  209. package/lib/earth/models/atmosphere.js +69 -22
  210. package/lib/earth/models/base.js +90 -42
  211. package/lib/earth/models/bloomsphere.js +69 -22
  212. package/lib/heatmap/index.js +35 -22
  213. package/lib/heatmap/models/grid.js +70 -27
  214. package/lib/heatmap/models/grid3d.js +71 -28
  215. package/lib/heatmap/models/heatmap.js +40 -14
  216. package/lib/heatmap/models/hexagon.js +71 -28
  217. package/lib/image/index.js +29 -17
  218. package/lib/image/models/dataImage.js +95 -54
  219. package/lib/image/models/image.js +110 -67
  220. package/lib/image/models/tileDataImage.js +86 -43
  221. package/lib/index.js +5 -5
  222. package/lib/line/index.js +53 -26
  223. package/lib/line/models/arc.js +75 -38
  224. package/lib/line/models/arc_3d.js +71 -34
  225. package/lib/line/models/earthArc_3d.js +74 -37
  226. package/lib/line/models/great_circle.js +72 -29
  227. package/lib/line/models/half.js +40 -17
  228. package/lib/line/models/index.js +0 -3
  229. package/lib/line/models/line.js +81 -47
  230. package/lib/line/models/linearline.js +72 -31
  231. package/lib/line/models/simpleLine.js +73 -34
  232. package/lib/line/models/simpleTileLine.js +72 -30
  233. package/lib/line/models/tile.js +40 -17
  234. package/lib/line/models/wall.js +69 -22
  235. package/lib/mask/index.js +28 -99
  236. package/lib/mask/models/fill.js +40 -16
  237. package/lib/mask/models/index.js +1 -4
  238. package/lib/plugins/DataMappingPlugin.js +81 -65
  239. package/lib/plugins/DataSourcePlugin.js +71 -30
  240. package/lib/plugins/FeatureScalePlugin.js +86 -44
  241. package/lib/plugins/LayerAnimateStylePlugin.js +6 -3
  242. package/lib/plugins/LayerModelPlugin.js +131 -41
  243. package/lib/plugins/LayerStylePlugin.js +1 -6
  244. package/lib/plugins/MultiPassRendererPlugin.js +1 -1
  245. package/lib/plugins/PixelPickingPlugin.js +1 -1
  246. package/lib/plugins/RegisterStyleAttributePlugin.js +4 -17
  247. package/lib/plugins/ShaderUniformPlugin.js +7 -2
  248. package/lib/plugins/UpdateStyleAttributePlugin.js +8 -5
  249. package/lib/point/index.js +56 -24
  250. package/lib/point/models/earthExtrude.js +75 -30
  251. package/lib/point/models/earthFill.js +68 -21
  252. package/lib/point/models/extrude.js +40 -17
  253. package/lib/point/models/fill.js +44 -21
  254. package/lib/point/models/fillmage.js +84 -43
  255. package/lib/point/models/image.js +74 -31
  256. package/lib/point/models/index.js +0 -3
  257. package/lib/point/models/normal.js +73 -30
  258. package/lib/point/models/radar.js +77 -35
  259. package/lib/point/models/simplePoint.js +72 -29
  260. package/lib/point/models/text.js +164 -106
  261. package/lib/point/models/tile.js +79 -35
  262. package/lib/point/models/tileText.js +151 -115
  263. package/lib/polygon/index.js +29 -25
  264. package/lib/polygon/models/extrude.js +68 -29
  265. package/lib/polygon/models/fill.js +78 -43
  266. package/lib/polygon/models/index.js +0 -3
  267. package/lib/polygon/models/ocean.js +71 -28
  268. package/lib/polygon/models/tile.js +72 -30
  269. package/lib/polygon/models/water.js +71 -28
  270. package/lib/raster/index.js +30 -22
  271. package/lib/raster/models/index.js +1 -4
  272. package/lib/raster/models/raster.js +36 -13
  273. package/lib/raster/models/rasterRgb.js +36 -13
  274. package/lib/raster/models/rasterTile.js +79 -36
  275. package/lib/raster/raster.js +44 -22
  276. package/lib/tile/interaction/utils.js +3 -11
  277. package/lib/tile/manager/base.js +213 -47
  278. package/lib/tile/service/TileLayerService.js +185 -0
  279. package/lib/tile/service/TilePickService.js +136 -0
  280. package/lib/tile/style/constants.js +8 -19
  281. package/lib/tile/style/utils.js +0 -140
  282. package/lib/tile/tileFactory/DebugTile.js +115 -0
  283. package/lib/tile/tileFactory/ImageTile.js +104 -0
  284. package/lib/tile/tileFactory/MaskTile.js +113 -0
  285. package/lib/tile/tileFactory/RasterRGBTile.js +106 -0
  286. package/lib/tile/tileFactory/RasterTile.js +205 -0
  287. package/lib/tile/tileFactory/Tile.js +146 -0
  288. package/lib/tile/tileFactory/VectorTile.js +173 -0
  289. package/lib/tile/tileFactory/index.js +42 -24
  290. package/lib/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +35 -21
  291. package/lib/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +24 -11
  292. package/lib/tile/tileFactory/util.js +48 -0
  293. package/lib/tile/tileLayer/BaseLayer.js +373 -0
  294. package/lib/tile/utils.js +0 -146
  295. package/lib/utils/dataMappingStyle.js +21 -21
  296. package/lib/utils/layerData.js +4 -10
  297. package/lib/wind/index.js +29 -17
  298. package/lib/wind/models/wind.js +122 -104
  299. package/package.json +7 -7
  300. package/es/tile/interaction/TilePickService.d.ts +0 -16
  301. package/es/tile/interaction/TilePickService.js +0 -129
  302. package/es/tile/manager/layerManager.d.ts +0 -19
  303. package/es/tile/manager/layerManager.js +0 -254
  304. package/es/tile/manager/mapLayerManager.d.ts +0 -7
  305. package/es/tile/manager/mapLayerManager.js +0 -119
  306. package/es/tile/models/tileModel.d.ts +0 -10
  307. package/es/tile/models/tileModel.js +0 -81
  308. package/es/tile/render/TileRenderService.d.ts +0 -10
  309. package/es/tile/render/TileRenderService.js +0 -68
  310. package/es/tile/style/TileStyleService.d.ts +0 -17
  311. package/es/tile/style/TileStyleService.js +0 -118
  312. package/es/tile/tileFactory/base.d.ts +0 -45
  313. package/es/tile/tileFactory/base.js +0 -403
  314. package/es/tile/tileFactory/layers/vectorLayer.d.ts +0 -30
  315. package/es/tile/tileFactory/layers/vectorLayer.js +0 -253
  316. package/es/tile/tileFactory/line.d.ts +0 -12
  317. package/es/tile/tileFactory/line.js +0 -59
  318. package/es/tile/tileFactory/mask.d.ts +0 -12
  319. package/es/tile/tileFactory/mask.js +0 -60
  320. package/es/tile/tileFactory/point.d.ts +0 -12
  321. package/es/tile/tileFactory/point.js +0 -60
  322. package/es/tile/tileFactory/polygon.d.ts +0 -12
  323. package/es/tile/tileFactory/polygon.js +0 -59
  324. package/es/tile/tileFactory/raster.d.ts +0 -12
  325. package/es/tile/tileFactory/raster.js +0 -55
  326. package/es/tile/tileFactory/rasterData.d.ts +0 -12
  327. package/es/tile/tileFactory/rasterData.js +0 -81
  328. package/es/tile/tileFactory/test.d.ts +0 -12
  329. package/es/tile/tileFactory/test.js +0 -94
  330. package/es/tile/tileLayer/MapTileLayer.d.ts +0 -6
  331. package/es/tile/tileLayer/MapTileLayer.js +0 -48
  332. package/es/tile/tileLayer/TileLayer.d.ts +0 -22
  333. package/es/tile/tileLayer/TileLayer.js +0 -198
  334. package/es/tile/tileLayer/base.d.ts +0 -33
  335. package/es/tile/tileLayer/base.js +0 -212
  336. package/lib/tile/interaction/TilePickService.js +0 -143
  337. package/lib/tile/manager/layerManager.js +0 -275
  338. package/lib/tile/manager/mapLayerManager.js +0 -134
  339. package/lib/tile/models/tileModel.js +0 -94
  340. package/lib/tile/render/TileRenderService.js +0 -78
  341. package/lib/tile/style/TileStyleService.js +0 -133
  342. package/lib/tile/tileFactory/base.js +0 -427
  343. package/lib/tile/tileFactory/layers/vectorLayer.js +0 -268
  344. package/lib/tile/tileFactory/line.js +0 -70
  345. package/lib/tile/tileFactory/mask.js +0 -71
  346. package/lib/tile/tileFactory/point.js +0 -71
  347. package/lib/tile/tileFactory/polygon.js +0 -70
  348. package/lib/tile/tileFactory/raster.js +0 -68
  349. package/lib/tile/tileFactory/rasterData.js +0 -93
  350. package/lib/tile/tileFactory/test.js +0 -106
  351. package/lib/tile/tileLayer/MapTileLayer.js +0 -63
  352. package/lib/tile/tileLayer/TileLayer.js +0 -215
  353. package/lib/tile/tileLayer/base.js +0 -225
@@ -7,6 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
15
 
12
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -81,44 +85,83 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
81
85
  }
82
86
  }, {
83
87
  key: "initModels",
84
- value: function initModels(callbackModel) {
85
- var _ref2 = this.layer.getLayerConfig(),
86
- _ref2$mask = _ref2.mask,
87
- mask = _ref2$mask === void 0 ? false : _ref2$mask,
88
- _ref2$maskInside = _ref2.maskInside,
89
- maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
90
-
91
- var source = this.layer.getSource();
92
- var createTexture2D = this.rendererService.createTexture2D;
93
- var parserDataItem = source.data.dataArray[0];
94
- this.texture = createTexture2D({
95
- data: parserDataItem.data,
96
- width: parserDataItem.width,
97
- height: parserDataItem.height,
98
- format: _l7Core.gl.LUMINANCE,
99
- type: _l7Core.gl.FLOAT
100
- });
101
- this.layer.buildLayerModel({
102
- moduleName: 'rasterTileImageData',
103
- vertexShader: rasterVert,
104
- fragmentShader: rasterFrag,
105
- triangulation: _triangulation.RasterImageTriangulation,
106
- depth: {
107
- enable: false
108
- },
109
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
110
- }).then(function (model) {
111
- callbackModel([model]);
112
- }).catch(function (err) {
113
- console.warn(err);
114
- callbackModel([]);
115
- });
116
- }
88
+ value: function () {
89
+ var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
90
+ var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, parserDataItem, model;
91
+
92
+ return _regenerator.default.wrap(function _callee$(_context) {
93
+ while (1) {
94
+ switch (_context.prev = _context.next) {
95
+ case 0:
96
+ _ref2 = this.layer.getLayerConfig(), _ref2$mask = _ref2.mask, mask = _ref2$mask === void 0 ? false : _ref2$mask, _ref2$maskInside = _ref2.maskInside, maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
97
+ source = this.layer.getSource();
98
+ createTexture2D = this.rendererService.createTexture2D;
99
+ parserDataItem = source.data.dataArray[0];
100
+ this.texture = createTexture2D({
101
+ data: parserDataItem.data,
102
+ width: parserDataItem.width,
103
+ height: parserDataItem.height,
104
+ format: _l7Core.gl.LUMINANCE,
105
+ type: _l7Core.gl.FLOAT
106
+ });
107
+ _context.next = 7;
108
+ return this.layer.buildLayerModel({
109
+ moduleName: 'rasterTileImageData',
110
+ vertexShader: rasterVert,
111
+ fragmentShader: rasterFrag,
112
+ triangulation: _triangulation.RasterImageTriangulation,
113
+ depth: {
114
+ enable: false
115
+ },
116
+ stencil: (0, _l7Utils.getMask)(mask, maskInside)
117
+ });
118
+
119
+ case 7:
120
+ model = _context.sent;
121
+ return _context.abrupt("return", [model]);
122
+
123
+ case 9:
124
+ case "end":
125
+ return _context.stop();
126
+ }
127
+ }
128
+ }, _callee, this);
129
+ }));
130
+
131
+ function initModels() {
132
+ return _initModels.apply(this, arguments);
133
+ }
134
+
135
+ return initModels;
136
+ }()
117
137
  }, {
118
138
  key: "buildModels",
119
- value: function buildModels(callbackModel) {
120
- this.initModels(callbackModel);
121
- }
139
+ value: function () {
140
+ var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
141
+ return _regenerator.default.wrap(function _callee2$(_context2) {
142
+ while (1) {
143
+ switch (_context2.prev = _context2.next) {
144
+ case 0:
145
+ _context2.next = 2;
146
+ return this.initModels();
147
+
148
+ case 2:
149
+ return _context2.abrupt("return", _context2.sent);
150
+
151
+ case 3:
152
+ case "end":
153
+ return _context2.stop();
154
+ }
155
+ }
156
+ }, _callee2, this);
157
+ }));
158
+
159
+ function buildModels() {
160
+ return _buildModels.apply(this, arguments);
161
+ }
162
+
163
+ return buildModels;
164
+ }()
122
165
  }, {
123
166
  key: "clearModels",
124
167
  value: function clearModels() {
@@ -7,10 +7,14 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
10
12
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
13
 
12
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
15
 
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+
14
18
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
19
 
16
20
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -69,30 +73,48 @@ var RasterLayer = /*#__PURE__*/function (_BaseLayer) {
69
73
  }
70
74
  }, {
71
75
  key: "buildModels",
72
- value: function buildModels() {
73
- var parserDataItem = this.getSource().data.dataArray[0];
74
- var createTexture2D = this.rendererService.createTexture2D;
75
- this.rasterTexture = createTexture2D({
76
- data: parserDataItem.data,
77
- width: parserDataItem.width,
78
- height: parserDataItem.height,
79
- format: _l7Core.gl.LUMINANCE,
80
- type: _l7Core.gl.FLOAT,
81
- aniso: 4
82
- });
76
+ value: function () {
77
+ var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
78
+ var parserDataItem, createTexture2D, _this$getLayerConfig, rampColors, imageData;
79
+
80
+ return _regenerator.default.wrap(function _callee$(_context) {
81
+ while (1) {
82
+ switch (_context.prev = _context.next) {
83
+ case 0:
84
+ parserDataItem = this.getSource().data.dataArray[0];
85
+ createTexture2D = this.rendererService.createTexture2D;
86
+ this.rasterTexture = createTexture2D({
87
+ data: parserDataItem.data,
88
+ width: parserDataItem.width,
89
+ height: parserDataItem.height,
90
+ format: _l7Core.gl.LUMINANCE,
91
+ type: _l7Core.gl.FLOAT,
92
+ aniso: 4
93
+ });
94
+ _this$getLayerConfig = this.getLayerConfig(), rampColors = _this$getLayerConfig.rampColors;
95
+ imageData = (0, _l7Utils.generateColorRamp)(rampColors);
96
+ this.colorTexture = createTexture2D({
97
+ data: imageData.data,
98
+ width: imageData.width,
99
+ height: imageData.height,
100
+ flipY: false
101
+ });
102
+ this.models = [this.buildRasterModel()];
103
+
104
+ case 7:
105
+ case "end":
106
+ return _context.stop();
107
+ }
108
+ }
109
+ }, _callee, this);
110
+ }));
83
111
 
84
- var _this$getLayerConfig = this.getLayerConfig(),
85
- rampColors = _this$getLayerConfig.rampColors;
112
+ function buildModels() {
113
+ return _buildModels.apply(this, arguments);
114
+ }
86
115
 
87
- var imageData = (0, _l7Utils.generateColorRamp)(rampColors);
88
- this.colorTexture = createTexture2D({
89
- data: imageData.data,
90
- width: imageData.width,
91
- height: imageData.height,
92
- flipY: false
93
- });
94
- this.models = [this.buildRasterModel()];
95
- }
116
+ return buildModels;
117
+ }()
96
118
  }, {
97
119
  key: "renderModels",
98
120
  value: function renderModels() {
@@ -45,7 +45,7 @@ function setSelect(layers, pickedColors, renderList) {
45
45
  }); // unselect normal layer
46
46
 
47
47
  renderList.filter(function (layer) {
48
- return layer.inited && !layer.isVector && layer.isVisible() && layer.needPick('click');
48
+ return layer.inited && layer.isVisible() && layer.needPick('click');
49
49
  }).filter(function (layer) {
50
50
  return layer.getCurrentSelectedId() !== null;
51
51
  }).map(function (layer) {
@@ -58,9 +58,8 @@ function setSelect(layers, pickedColors, renderList) {
58
58
  function setHighlight(layers, pickedColors) {
59
59
  var pickId = (0, _l7Utils.decodePickingColor)(pickedColors);
60
60
  layers.filter(function (layer) {
61
- return layer.inited && layer.isVisible() && layer.isVector;
62
- }) // Tip: 使用 vectorLayer 上的 pickID 优化高亮操作(过滤重复操作)
63
- // @ts-ignore
61
+ return layer.inited && layer.isVisible();
62
+ }) // @ts-ignore
64
63
  .filter(function (layer) {
65
64
  return layer.getPickID() !== pickId;
66
65
  }).map(function (layer) {
@@ -73,13 +72,6 @@ function setHighlight(layers, pickedColors) {
73
72
  function setPickState(layers, pickColors) {
74
73
  if (pickColors.select) {
75
74
  layers.map(function (layer) {
76
- // if(layer.modelLoaded) {
77
- // selectFeature(layer, this.pickColors.select);
78
- // } else {
79
- // layer.once('modelLoaded', () => {
80
- // selectFeature(layer, this.pickColors.select);
81
- // })
82
- // }
83
75
  selectFeature(layer, pickColors.select);
84
76
  });
85
77
  }
@@ -7,63 +7,152 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.Base = void 0;
9
9
 
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
10
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
13
 
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
12
16
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
17
 
14
18
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
19
 
16
20
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
21
 
18
- var _tileFactory = require("../tileFactory");
22
+ var _l7Core = require("@antv/l7-core");
19
23
 
20
- var _utils = require("../utils");
24
+ var _utils = require("../style/utils");
21
25
 
22
26
  var Base = /*#__PURE__*/function () {
23
27
  function Base() {
24
28
  (0, _classCallCheck2.default)(this, Base);
25
29
  (0, _defineProperty2.default)(this, "tileCache", new Map());
30
+ (0, _defineProperty2.default)(this, "tileLayerCache", new Map());
26
31
  }
27
32
 
28
33
  (0, _createClass2.default)(Base, [{
34
+ key: "initTileLayers",
35
+ value: function () {
36
+ var _initTileLayers = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(layers, tile) {
37
+ var _this = this;
38
+
39
+ return _regenerator.default.wrap(function _callee2$(_context2) {
40
+ while (1) {
41
+ switch (_context2.prev = _context2.next) {
42
+ case 0:
43
+ return _context2.abrupt("return", Promise.all(layers.map( /*#__PURE__*/function () {
44
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(layer) {
45
+ var container;
46
+ return _regenerator.default.wrap(function _callee$(_context) {
47
+ while (1) {
48
+ switch (_context.prev = _context.next) {
49
+ case 0:
50
+ container = (0, _l7Core.createLayerContainer)(_this.parent.sceneContainer);
51
+ layer.setContainer(container, _this.parent.sceneContainer);
52
+ _context.next = 4;
53
+ return layer.init();
54
+
55
+ case 4:
56
+ _this.addChild(layer);
57
+
58
+ tile.layerLoad();
59
+
60
+ _this.render();
61
+
62
+ case 7:
63
+ case "end":
64
+ return _context.stop();
65
+ }
66
+ }
67
+ }, _callee);
68
+ }));
69
+
70
+ return function (_x3) {
71
+ return _ref.apply(this, arguments);
72
+ };
73
+ }())));
74
+
75
+ case 1:
76
+ case "end":
77
+ return _context2.stop();
78
+ }
79
+ }
80
+ }, _callee2);
81
+ }));
82
+
83
+ function initTileLayers(_x, _x2) {
84
+ return _initTileLayers.apply(this, arguments);
85
+ }
86
+
87
+ return initTileLayers;
88
+ }()
89
+ }, {
90
+ key: "render",
91
+ value: function render() {
92
+ this.parent.renderLayers();
93
+ }
94
+ }, {
29
95
  key: "hasTile",
30
96
  value: function hasTile(tile) {
31
- return !!this.tileCache.has(tile.key);
32
- }
97
+ return this.tileCache.has(tile.key);
98
+ } // 添加图层
99
+
33
100
  }, {
34
101
  key: "addTile",
35
- value: function addTile(tile) {
36
- var _tile$layerIDList;
102
+ value: function () {
103
+ var _addTile = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(tile) {
104
+ var layerCollections;
105
+ return _regenerator.default.wrap(function _callee3$(_context3) {
106
+ while (1) {
107
+ switch (_context3.prev = _context3.next) {
108
+ case 0:
109
+ if (!this.hasTile(tile)) {
110
+ _context3.next = 2;
111
+ break;
112
+ }
37
113
 
38
- // oldTile 存在的时候暂时直接结束
39
- // TODO:合并不存在的时候
40
- if (this.hasTile(tile)) return {
41
- layers: [],
42
- layerIDList: []
43
- }; // 存储当前 tile
114
+ return _context3.abrupt("return", {
115
+ layers: []
116
+ });
44
117
 
45
- this.tileCache.set(tile.key, tile); // 创建 tile 对应的 layers
118
+ case 2:
119
+ // 存储当前 tile
120
+ this.tileCache.set(tile.key, tile); // 创建 tile 对应的 layers
46
121
 
47
- var layerCollections = this.tileFactory.createTile(tile, this.initOptions); // regist layer 将创建出来的 layer 进行注册初始化操作
122
+ layerCollections = this.tileFactory.createTile(tile, this.initOptions); // // 初始化图层
48
123
 
49
- (0, _utils.registerLayers)(this.parent, layerCollections.layers);
124
+ _context3.next = 6;
125
+ return this.initTileLayers(layerCollections.layers, tile);
50
126
 
51
- (_tile$layerIDList = tile.layerIDList).push.apply(_tile$layerIDList, (0, _toConsumableArray2.default)(layerCollections.layerIDList)); // add layer into layerGroup
127
+ case 6:
128
+ this.tileLayerCache.set(tile.key, layerCollections.layers); // const visible = tile.parent ? tile.parent.children.every(t=>this.tileLayerCache.has(t.key)) : true
129
+ // tile.parent?.children.forEach((t)=>{
130
+ // updateLayersConfig(this.getLayers(t),'visible',visible)
131
+ // })
52
132
 
133
+ return _context3.abrupt("return", layerCollections);
53
134
 
54
- this.addChildren(layerCollections.layers);
55
- layerCollections.layers.map(function (layer) {
56
- layer.once('modelLoaded', function () {
57
- tile.layerLoad();
58
- });
59
- });
60
- return layerCollections;
61
- }
135
+ case 8:
136
+ case "end":
137
+ return _context3.stop();
138
+ }
139
+ }
140
+ }, _callee3, this);
141
+ }));
142
+
143
+ function addTile(_x4) {
144
+ return _addTile.apply(this, arguments);
145
+ }
146
+
147
+ return addTile;
148
+ }()
62
149
  }, {
63
150
  key: "removeTile",
64
151
  value: function removeTile(tile) {
65
152
  this.tileCache.delete(tile.key);
66
- this.removeChildren(tile.layerIDList, false);
153
+ var layers = this.tileLayerCache.get(tile.key);
154
+ this.tileLayerCache.delete(tile.key);
155
+ this.removeLayers(layers, false);
67
156
  }
68
157
  }, {
69
158
  key: "addChild",
@@ -78,18 +167,16 @@ var Base = /*#__PURE__*/function () {
78
167
  (_this$children = this.children).push.apply(_this$children, (0, _toConsumableArray2.default)(layers));
79
168
  }
80
169
  }, {
81
- key: "removeChildren",
82
- value: function removeChildren(layerIDList) {
170
+ key: "removeLayers",
171
+ value: function removeLayers() {
172
+ var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
83
173
  var refresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
84
- var remveLayerList = [];
85
- var cacheLayerList = [];
86
- this.children.filter(function (child) {
87
- layerIDList.includes(child.id) ? remveLayerList.push(child) : cacheLayerList.push(child);
174
+ this.children = this.children.filter(function (child) {
175
+ return !layers.includes(child);
88
176
  });
89
- remveLayerList.map(function (layer) {
177
+ layers.map(function (layer) {
90
178
  return layer.destroy(refresh);
91
179
  });
92
- this.children = cacheLayerList;
93
180
  }
94
181
  }, {
95
182
  key: "removeChild",
@@ -103,11 +190,10 @@ var Base = /*#__PURE__*/function () {
103
190
  layer.destroy();
104
191
  }
105
192
  }, {
106
- key: "getChildren",
107
- value: function getChildren(layerIDList) {
108
- return this.children.filter(function (child) {
109
- return layerIDList.includes(child.id);
110
- });
193
+ key: "getLayers",
194
+ value: function getLayers(tile) {
195
+ if (!tile) return [];
196
+ return this.tileLayerCache.get(tile.key) || [];
111
197
  }
112
198
  }, {
113
199
  key: "getChild",
@@ -131,14 +217,11 @@ var Base = /*#__PURE__*/function () {
131
217
  }
132
218
  }, {
133
219
  key: "initTileFactory",
134
- value: function initTileFactory() {
135
- var source = this.parent.getSource();
136
- var TileFactory = (0, _tileFactory.getTileFactory)(this.parent.type, source.parser);
137
- this.tileFactory = new TileFactory({
138
- parent: this.parent,
139
- mapService: this.mapService,
140
- rendererService: this.rendererService
141
- });
220
+ value: function initTileFactory() {// this.tileFactory = new TileFactory({
221
+ // parent: this.parent,
222
+ // mapService: this.mapService,
223
+ // rendererService: this.rendererService,
224
+ // });
142
225
  }
143
226
  }, {
144
227
  key: "getSourceLayer",
@@ -151,9 +234,92 @@ var Base = /*#__PURE__*/function () {
151
234
  return sourceLayer;
152
235
  }
153
236
  }
237
+ }, {
238
+ key: "updateTileVisible",
239
+ value: function updateTileVisible(tile, layerService) {
240
+ var layers = this.getLayers(tile);
241
+ if (layers.length === 0) return;
242
+
243
+ if (tile.isVisible) {
244
+ // 如果可见直接进行渲染,父级发
245
+ (0, _utils.updateLayersConfig)(layers, 'visible', tile.isVisible);
246
+ } else {
247
+ // 如果不可见,放大,等到子瓦片渲染完成,缩小:父级渲染成功
248
+ // console.log('updateTileVisible',`${tile.x}_${tile.y}_${tile.z}`,tile.isVisible)
249
+ // console.log(tile);
250
+ // console.log(`子瓦片${tile.x}/${tile.y}/${tile.z}`,tile.children.length)
251
+ // tile.children.forEach((t)=>{
252
+ // console.log(`${t.x}/${t.y}/${t.z}`)
253
+ // })
254
+ (0, _utils.updateLayersConfig)(layers, 'visible', tile.isVisible);
255
+ } // this.listenLoad(tile, () => {
256
+ // this.isTileAllLoad(tile) && updateLayersConfig(layers, 'visible', tile.isVisible);
257
+ // })
258
+
259
+ }
260
+ }, {
261
+ key: "listenLoad",
262
+ value: function listenLoad(tile, callback) {
263
+ var _tile$parent;
264
+
265
+ tile.once('layerLoaded', function () {
266
+ callback();
267
+ });
268
+ tile.children.map(function (childTile) {
269
+ childTile.once('layerLoaded', function () {
270
+ callback();
271
+ });
272
+ });
273
+ (_tile$parent = tile.parent) === null || _tile$parent === void 0 ? void 0 : _tile$parent.once('layerLoaded', function () {
274
+ callback();
275
+ });
276
+ }
277
+ }, {
278
+ key: "isTileLoaded",
279
+ value: function isTileLoaded(tile) {
280
+ if (tile.isLoad) return true;
281
+ var isLoad = this.getLayers(tile).length === tile.loadedLayers;
282
+ tile.isLoad = isLoad;
283
+ return isLoad;
284
+ }
285
+ }, {
286
+ key: "isTileChildLoaded",
287
+ value: function isTileChildLoaded(tile) {
288
+ var _this2 = this;
289
+
290
+ if (tile.isChildLoad) return true;
291
+ var children = tile.children;
292
+ var isLoad = children.filter(function (child) {
293
+ return _this2.isTileLoaded(child);
294
+ }).length === children.length;
295
+ tile.isChildLoad = isLoad;
296
+ return isLoad;
297
+ }
298
+ }, {
299
+ key: "isTileParentLoaded",
300
+ value: function isTileParentLoaded(tile) {
301
+ var parent = tile.parent;
302
+
303
+ if (!parent) {
304
+ return true;
305
+ } else {
306
+ return this.isTileLoaded(parent);
307
+ }
308
+ }
309
+ }, {
310
+ key: "isTileAllLoad",
311
+ value: function isTileAllLoad(tile) {
312
+ var tileLoaded = this.isTileLoaded(tile);
313
+ var tileChildLoaded = this.isTileChildLoaded(tile);
314
+ var tileParentLoaded = this.isTileParentLoaded(tile);
315
+ return tileLoaded && tileChildLoaded && tileParentLoaded;
316
+ }
154
317
  }, {
155
318
  key: "destroy",
156
- value: function destroy() {}
319
+ value: function destroy() {
320
+ this.tileCache.clear();
321
+ this.tileLayerCache.clear();
322
+ }
157
323
  }]);
158
324
  return Base;
159
325
  }();