@antv/l7-layers 2.10.1 → 2.10.3

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 (374) hide show
  1. package/es/Geometry/index.d.ts +2 -3
  2. package/es/Geometry/index.js +34 -24
  3. package/es/Geometry/models/billboard.d.ts +2 -2
  4. package/es/Geometry/models/billboard.js +85 -45
  5. package/es/Geometry/models/plane.d.ts +2 -2
  6. package/es/Geometry/models/plane.js +89 -49
  7. package/es/Geometry/models/sprite.d.ts +2 -2
  8. package/es/Geometry/models/sprite.js +92 -54
  9. package/es/canvas/index.d.ts +3 -4
  10. package/es/canvas/index.js +42 -31
  11. package/es/canvas/models/canvas.d.ts +2 -2
  12. package/es/canvas/models/canvas.js +62 -23
  13. package/es/citybuliding/building.d.ts +2 -3
  14. package/es/citybuliding/building.js +33 -24
  15. package/es/citybuliding/models/build.d.ts +2 -2
  16. package/es/citybuliding/models/build.js +76 -31
  17. package/es/core/BaseLayer.d.ts +21 -18
  18. package/es/core/BaseLayer.js +407 -286
  19. package/es/core/BaseModel.d.ts +2 -2
  20. package/es/core/BaseModel.js +54 -13
  21. package/es/core/LayerPickService.d.ts +9 -0
  22. package/es/core/LayerPickService.js +85 -0
  23. package/es/core/shape/Path.js +1 -1
  24. package/es/core/shape/extrude.js +1 -1
  25. package/es/core/triangulation.js +10 -3
  26. package/es/earth/index.d.ts +3 -3
  27. package/es/earth/index.js +35 -16
  28. package/es/earth/models/atmosphere.d.ts +2 -2
  29. package/es/earth/models/atmosphere.js +72 -27
  30. package/es/earth/models/base.d.ts +2 -2
  31. package/es/earth/models/base.js +96 -50
  32. package/es/earth/models/bloomsphere.d.ts +2 -2
  33. package/es/earth/models/bloomsphere.js +72 -27
  34. package/es/earth/utils.js +1 -1
  35. package/es/heatmap/index.d.ts +2 -3
  36. package/es/heatmap/index.js +40 -29
  37. package/es/heatmap/models/grid.d.ts +2 -2
  38. package/es/heatmap/models/grid.js +73 -32
  39. package/es/heatmap/models/grid3d.d.ts +2 -2
  40. package/es/heatmap/models/grid3d.js +74 -33
  41. package/es/heatmap/models/heatmap.d.ts +2 -2
  42. package/es/heatmap/models/heatmap.js +48 -22
  43. package/es/heatmap/models/hexagon.d.ts +2 -2
  44. package/es/heatmap/models/hexagon.js +74 -33
  45. package/es/image/index.d.ts +2 -3
  46. package/es/image/index.js +34 -24
  47. package/es/image/models/dataImage.d.ts +2 -2
  48. package/es/image/models/dataImage.js +98 -59
  49. package/es/image/models/image.d.ts +2 -2
  50. package/es/image/models/image.js +113 -72
  51. package/es/image/models/tileDataImage.d.ts +2 -2
  52. package/es/image/models/tileDataImage.js +89 -48
  53. package/es/index.d.ts +2 -2
  54. package/es/index.js +2 -2
  55. package/es/line/index.d.ts +5 -4
  56. package/es/line/index.js +58 -32
  57. package/es/line/models/arc.d.ts +2 -2
  58. package/es/line/models/arc.js +80 -45
  59. package/es/line/models/arc_3d.d.ts +2 -2
  60. package/es/line/models/arc_3d.js +76 -41
  61. package/es/line/models/earthArc_3d.d.ts +2 -2
  62. package/es/line/models/earthArc_3d.js +79 -44
  63. package/es/line/models/great_circle.d.ts +2 -2
  64. package/es/line/models/great_circle.js +77 -36
  65. package/es/line/models/half.d.ts +2 -2
  66. package/es/line/models/half.js +46 -23
  67. package/es/line/models/index.d.ts +1 -1
  68. package/es/line/models/index.js +0 -2
  69. package/es/line/models/line.d.ts +2 -2
  70. package/es/line/models/line.js +86 -54
  71. package/es/line/models/linearline.d.ts +2 -2
  72. package/es/line/models/linearline.js +77 -38
  73. package/es/line/models/simpleLine.d.ts +2 -2
  74. package/es/line/models/simpleLine.js +76 -39
  75. package/es/line/models/simpleTileLine.d.ts +2 -2
  76. package/es/line/models/simpleTileLine.js +75 -35
  77. package/es/line/models/tile.d.ts +2 -2
  78. package/es/line/models/tile.js +46 -23
  79. package/es/line/models/wall.d.ts +2 -2
  80. package/es/line/models/wall.js +74 -29
  81. package/es/mask/index.d.ts +2 -4
  82. package/es/mask/index.js +34 -104
  83. package/es/mask/models/fill.d.ts +2 -2
  84. package/es/mask/models/fill.js +46 -22
  85. package/es/mask/models/index.d.ts +1 -1
  86. package/es/mask/models/index.js +1 -3
  87. package/es/plugins/DataMappingPlugin.d.ts +0 -2
  88. package/es/plugins/DataMappingPlugin.js +97 -156
  89. package/es/plugins/DataSourcePlugin.js +74 -27
  90. package/es/plugins/FeatureScalePlugin.d.ts +0 -1
  91. package/es/plugins/FeatureScalePlugin.js +89 -65
  92. package/es/plugins/LayerAnimateStylePlugin.js +9 -6
  93. package/es/plugins/LayerModelPlugin.d.ts +2 -2
  94. package/es/plugins/LayerModelPlugin.js +123 -39
  95. package/es/plugins/LayerStylePlugin.js +3 -8
  96. package/es/plugins/LightingPlugin.js +4 -4
  97. package/es/plugins/MultiPassRendererPlugin.js +3 -3
  98. package/es/plugins/PixelPickingPlugin.js +3 -3
  99. package/es/plugins/RegisterStyleAttributePlugin.js +6 -19
  100. package/es/plugins/ShaderUniformPlugin.js +13 -8
  101. package/es/plugins/UpdateModelPlugin.js +5 -2
  102. package/es/plugins/UpdateStyleAttributePlugin.js +9 -10
  103. package/es/point/index.d.ts +4 -4
  104. package/es/point/index.js +62 -30
  105. package/es/point/models/earthExtrude.d.ts +2 -2
  106. package/es/point/models/earthExtrude.js +80 -37
  107. package/es/point/models/earthFill.d.ts +2 -2
  108. package/es/point/models/earthFill.js +73 -28
  109. package/es/point/models/extrude.d.ts +2 -2
  110. package/es/point/models/extrude.js +48 -25
  111. package/es/point/models/fill.d.ts +2 -2
  112. package/es/point/models/fill.js +51 -28
  113. package/es/point/models/fillmage.d.ts +2 -2
  114. package/es/point/models/fillmage.js +90 -51
  115. package/es/point/models/image.d.ts +2 -2
  116. package/es/point/models/image.js +79 -38
  117. package/es/point/models/index.d.ts +1 -1
  118. package/es/point/models/index.js +0 -2
  119. package/es/point/models/normal.d.ts +2 -2
  120. package/es/point/models/normal.js +77 -36
  121. package/es/point/models/radar.d.ts +2 -2
  122. package/es/point/models/radar.js +83 -43
  123. package/es/point/models/simplePoint.d.ts +2 -2
  124. package/es/point/models/simplePoint.js +76 -35
  125. package/es/point/models/text.d.ts +3 -2
  126. package/es/point/models/text.js +192 -119
  127. package/es/point/models/tile.d.ts +2 -2
  128. package/es/point/models/tile.js +82 -40
  129. package/es/point/models/tileText.d.ts +2 -2
  130. package/es/point/models/tileText.js +160 -125
  131. package/es/point/shape/extrude.js +1 -1
  132. package/es/polygon/index.d.ts +2 -3
  133. package/es/polygon/index.js +34 -31
  134. package/es/polygon/models/extrude.d.ts +2 -2
  135. package/es/polygon/models/extrude.js +72 -35
  136. package/es/polygon/models/fill.d.ts +2 -2
  137. package/es/polygon/models/fill.js +81 -48
  138. package/es/polygon/models/index.d.ts +1 -1
  139. package/es/polygon/models/index.js +0 -2
  140. package/es/polygon/models/ocean.d.ts +2 -2
  141. package/es/polygon/models/ocean.js +75 -34
  142. package/es/polygon/models/tile.d.ts +2 -2
  143. package/es/polygon/models/tile.js +75 -35
  144. package/es/polygon/models/water.d.ts +2 -2
  145. package/es/polygon/models/water.js +75 -34
  146. package/es/raster/index.d.ts +3 -4
  147. package/es/raster/index.js +35 -29
  148. package/es/raster/models/index.d.ts +1 -1
  149. package/es/raster/models/index.js +1 -3
  150. package/es/raster/models/raster.d.ts +2 -2
  151. package/es/raster/models/raster.js +42 -19
  152. package/es/raster/models/rasterRgb.d.ts +2 -2
  153. package/es/raster/models/rasterRgb.js +44 -21
  154. package/es/raster/models/rasterTile.d.ts +2 -2
  155. package/es/raster/models/rasterTile.js +82 -41
  156. package/es/raster/raster.d.ts +1 -1
  157. package/es/raster/raster.js +51 -31
  158. package/es/tile/interaction/getRasterData.d.ts +2 -2
  159. package/es/tile/interaction/getRasterData.js +1 -1
  160. package/es/tile/interaction/utils.js +4 -12
  161. package/es/tile/interface.d.ts +5 -4
  162. package/es/tile/manager/base.d.ts +17 -12
  163. package/es/tile/manager/base.js +216 -51
  164. package/es/tile/service/TileLayerService.d.ts +33 -0
  165. package/es/tile/service/TileLayerService.js +172 -0
  166. package/es/tile/service/TilePickService.d.ts +22 -0
  167. package/es/tile/service/TilePickService.js +148 -0
  168. package/es/tile/service/TileSourceService.d.ts +7 -0
  169. package/es/tile/service/TileSourceService.js +39 -0
  170. package/es/tile/style/constants.d.ts +1 -13
  171. package/es/tile/style/constants.js +6 -15
  172. package/es/tile/style/utils.d.ts +1 -8
  173. package/es/tile/style/utils.js +1 -127
  174. package/es/tile/tileFactory/DebugTile.d.ts +16 -0
  175. package/es/tile/tileFactory/DebugTile.js +100 -0
  176. package/es/tile/tileFactory/ImageTile.d.ts +14 -0
  177. package/es/tile/tileFactory/ImageTile.js +89 -0
  178. package/es/tile/tileFactory/MaskTile.d.ts +17 -0
  179. package/es/tile/tileFactory/MaskTile.js +98 -0
  180. package/es/tile/tileFactory/RasterRGBTile.d.ts +16 -0
  181. package/es/tile/tileFactory/RasterRGBTile.js +91 -0
  182. package/es/tile/tileFactory/RasterTile.d.ts +27 -0
  183. package/es/tile/tileFactory/RasterTile.js +186 -0
  184. package/es/tile/tileFactory/Tile.d.ts +34 -0
  185. package/es/tile/tileFactory/Tile.js +199 -0
  186. package/es/tile/tileFactory/VectorTile.d.ts +20 -0
  187. package/es/tile/tileFactory/VectorTile.js +152 -0
  188. package/es/tile/tileFactory/index.d.ts +10 -4
  189. package/es/tile/tileFactory/index.js +30 -23
  190. package/es/tile/tileFactory/layers/{rasterDataLayer.d.ts → RasterDataLayer.d.ts} +3 -3
  191. package/es/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +40 -28
  192. package/es/tile/tileFactory/layers/{tileTest.d.ts → TileDebugLayer.d.ts} +2 -2
  193. package/es/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +30 -17
  194. package/es/tile/tileFactory/util.d.ts +6 -0
  195. package/es/tile/tileFactory/util.js +33 -0
  196. package/es/tile/tileLayer/BaseLayer.d.ts +46 -0
  197. package/es/tile/tileLayer/BaseLayer.js +358 -0
  198. package/es/tile/utils.d.ts +1 -11
  199. package/es/tile/utils.js +0 -127
  200. package/es/utils/blend.js +1 -1
  201. package/es/utils/collision-index.js +4 -4
  202. package/es/utils/dataMappingStyle.d.ts +4 -4
  203. package/es/utils/dataMappingStyle.js +19 -19
  204. package/es/utils/extrude_polyline.js +5 -5
  205. package/es/utils/grid-index.js +3 -3
  206. package/es/utils/layerData.js +5 -11
  207. package/es/utils/multiPassRender.js +1 -1
  208. package/es/utils/polylineNormal.js +1 -1
  209. package/es/utils/simpleLine.js +3 -3
  210. package/es/wind/index.d.ts +2 -3
  211. package/es/wind/index.js +34 -24
  212. package/es/wind/models/wind.d.ts +2 -2
  213. package/es/wind/models/wind.js +130 -111
  214. package/es/wind/models/windRender.js +3 -3
  215. package/lib/Geometry/index.js +29 -17
  216. package/lib/Geometry/models/billboard.js +79 -37
  217. package/lib/Geometry/models/plane.js +82 -40
  218. package/lib/Geometry/models/sprite.js +85 -45
  219. package/lib/canvas/index.js +37 -24
  220. package/lib/canvas/models/canvas.js +56 -15
  221. package/lib/citybuliding/building.js +28 -17
  222. package/lib/citybuliding/models/build.js +72 -25
  223. package/lib/core/BaseLayer.js +395 -269
  224. package/lib/core/BaseModel.js +48 -6
  225. package/lib/core/LayerPickService.js +96 -0
  226. package/lib/core/triangulation.js +8 -1
  227. package/lib/earth/index.js +30 -9
  228. package/lib/earth/models/atmosphere.js +69 -22
  229. package/lib/earth/models/base.js +90 -42
  230. package/lib/earth/models/bloomsphere.js +69 -22
  231. package/lib/heatmap/index.js +35 -22
  232. package/lib/heatmap/models/grid.js +70 -27
  233. package/lib/heatmap/models/grid3d.js +71 -28
  234. package/lib/heatmap/models/heatmap.js +40 -14
  235. package/lib/heatmap/models/hexagon.js +71 -28
  236. package/lib/image/index.js +29 -17
  237. package/lib/image/models/dataImage.js +95 -54
  238. package/lib/image/models/image.js +110 -67
  239. package/lib/image/models/tileDataImage.js +86 -43
  240. package/lib/index.js +5 -5
  241. package/lib/line/index.js +53 -26
  242. package/lib/line/models/arc.js +75 -38
  243. package/lib/line/models/arc_3d.js +71 -34
  244. package/lib/line/models/earthArc_3d.js +74 -37
  245. package/lib/line/models/great_circle.js +72 -29
  246. package/lib/line/models/half.js +40 -17
  247. package/lib/line/models/index.js +0 -3
  248. package/lib/line/models/line.js +81 -47
  249. package/lib/line/models/linearline.js +72 -31
  250. package/lib/line/models/simpleLine.js +73 -34
  251. package/lib/line/models/simpleTileLine.js +72 -30
  252. package/lib/line/models/tile.js +40 -17
  253. package/lib/line/models/wall.js +69 -22
  254. package/lib/mask/index.js +28 -99
  255. package/lib/mask/models/fill.js +40 -16
  256. package/lib/mask/models/index.js +1 -4
  257. package/lib/plugins/DataMappingPlugin.js +91 -146
  258. package/lib/plugins/DataSourcePlugin.js +79 -30
  259. package/lib/plugins/FeatureScalePlugin.js +87 -61
  260. package/lib/plugins/LayerAnimateStylePlugin.js +6 -3
  261. package/lib/plugins/LayerModelPlugin.js +128 -41
  262. package/lib/plugins/LayerStylePlugin.js +1 -6
  263. package/lib/plugins/MultiPassRendererPlugin.js +1 -1
  264. package/lib/plugins/PixelPickingPlugin.js +1 -1
  265. package/lib/plugins/RegisterStyleAttributePlugin.js +4 -17
  266. package/lib/plugins/ShaderUniformPlugin.js +7 -2
  267. package/lib/plugins/UpdateModelPlugin.js +3 -0
  268. package/lib/plugins/UpdateStyleAttributePlugin.js +7 -8
  269. package/lib/point/index.js +56 -24
  270. package/lib/point/models/earthExtrude.js +75 -30
  271. package/lib/point/models/earthFill.js +68 -21
  272. package/lib/point/models/extrude.js +40 -17
  273. package/lib/point/models/fill.js +44 -21
  274. package/lib/point/models/fillmage.js +84 -43
  275. package/lib/point/models/image.js +74 -31
  276. package/lib/point/models/index.js +0 -3
  277. package/lib/point/models/normal.js +73 -30
  278. package/lib/point/models/radar.js +77 -35
  279. package/lib/point/models/simplePoint.js +72 -29
  280. package/lib/point/models/text.js +183 -109
  281. package/lib/point/models/tile.js +79 -35
  282. package/lib/point/models/tileText.js +151 -115
  283. package/lib/polygon/index.js +29 -25
  284. package/lib/polygon/models/extrude.js +68 -29
  285. package/lib/polygon/models/fill.js +78 -43
  286. package/lib/polygon/models/index.js +0 -3
  287. package/lib/polygon/models/ocean.js +71 -28
  288. package/lib/polygon/models/tile.js +72 -30
  289. package/lib/polygon/models/water.js +71 -28
  290. package/lib/raster/index.js +30 -22
  291. package/lib/raster/models/index.js +1 -4
  292. package/lib/raster/models/raster.js +36 -13
  293. package/lib/raster/models/rasterRgb.js +36 -13
  294. package/lib/raster/models/rasterTile.js +79 -36
  295. package/lib/raster/raster.js +44 -22
  296. package/lib/tile/interaction/utils.js +3 -11
  297. package/lib/tile/manager/base.js +213 -47
  298. package/lib/tile/service/TileLayerService.js +185 -0
  299. package/lib/tile/service/TilePickService.js +162 -0
  300. package/lib/tile/service/TileSourceService.js +59 -0
  301. package/lib/tile/style/constants.js +8 -19
  302. package/lib/tile/style/utils.js +0 -140
  303. package/lib/tile/tileFactory/DebugTile.js +115 -0
  304. package/lib/tile/tileFactory/ImageTile.js +104 -0
  305. package/lib/tile/tileFactory/MaskTile.js +113 -0
  306. package/lib/tile/tileFactory/RasterRGBTile.js +106 -0
  307. package/lib/tile/tileFactory/RasterTile.js +205 -0
  308. package/lib/tile/tileFactory/Tile.js +210 -0
  309. package/lib/tile/tileFactory/VectorTile.js +167 -0
  310. package/lib/tile/tileFactory/index.js +42 -24
  311. package/lib/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +35 -21
  312. package/lib/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +24 -11
  313. package/lib/tile/tileFactory/util.js +48 -0
  314. package/lib/tile/tileLayer/BaseLayer.js +373 -0
  315. package/lib/tile/utils.js +0 -146
  316. package/lib/utils/dataMappingStyle.js +21 -21
  317. package/lib/utils/layerData.js +4 -10
  318. package/lib/wind/index.js +29 -17
  319. package/lib/wind/models/wind.js +125 -104
  320. package/package.json +7 -7
  321. package/es/tile/interaction/TilePickService.d.ts +0 -16
  322. package/es/tile/interaction/TilePickService.js +0 -129
  323. package/es/tile/manager/layerManager.d.ts +0 -19
  324. package/es/tile/manager/layerManager.js +0 -254
  325. package/es/tile/manager/mapLayerManager.d.ts +0 -7
  326. package/es/tile/manager/mapLayerManager.js +0 -119
  327. package/es/tile/models/tileModel.d.ts +0 -10
  328. package/es/tile/models/tileModel.js +0 -81
  329. package/es/tile/render/TileRenderService.d.ts +0 -10
  330. package/es/tile/render/TileRenderService.js +0 -68
  331. package/es/tile/style/TileStyleService.d.ts +0 -17
  332. package/es/tile/style/TileStyleService.js +0 -118
  333. package/es/tile/tileFactory/base.d.ts +0 -45
  334. package/es/tile/tileFactory/base.js +0 -403
  335. package/es/tile/tileFactory/layers/vectorLayer.d.ts +0 -30
  336. package/es/tile/tileFactory/layers/vectorLayer.js +0 -253
  337. package/es/tile/tileFactory/line.d.ts +0 -12
  338. package/es/tile/tileFactory/line.js +0 -59
  339. package/es/tile/tileFactory/mask.d.ts +0 -12
  340. package/es/tile/tileFactory/mask.js +0 -60
  341. package/es/tile/tileFactory/point.d.ts +0 -12
  342. package/es/tile/tileFactory/point.js +0 -60
  343. package/es/tile/tileFactory/polygon.d.ts +0 -12
  344. package/es/tile/tileFactory/polygon.js +0 -59
  345. package/es/tile/tileFactory/raster.d.ts +0 -12
  346. package/es/tile/tileFactory/raster.js +0 -55
  347. package/es/tile/tileFactory/rasterData.d.ts +0 -12
  348. package/es/tile/tileFactory/rasterData.js +0 -81
  349. package/es/tile/tileFactory/test.d.ts +0 -12
  350. package/es/tile/tileFactory/test.js +0 -94
  351. package/es/tile/tileLayer/MapTileLayer.d.ts +0 -6
  352. package/es/tile/tileLayer/MapTileLayer.js +0 -48
  353. package/es/tile/tileLayer/TileLayer.d.ts +0 -22
  354. package/es/tile/tileLayer/TileLayer.js +0 -198
  355. package/es/tile/tileLayer/base.d.ts +0 -33
  356. package/es/tile/tileLayer/base.js +0 -212
  357. package/lib/tile/interaction/TilePickService.js +0 -143
  358. package/lib/tile/manager/layerManager.js +0 -275
  359. package/lib/tile/manager/mapLayerManager.js +0 -134
  360. package/lib/tile/models/tileModel.js +0 -94
  361. package/lib/tile/render/TileRenderService.js +0 -78
  362. package/lib/tile/style/TileStyleService.js +0 -133
  363. package/lib/tile/tileFactory/base.js +0 -427
  364. package/lib/tile/tileFactory/layers/vectorLayer.js +0 -268
  365. package/lib/tile/tileFactory/line.js +0 -70
  366. package/lib/tile/tileFactory/mask.js +0 -71
  367. package/lib/tile/tileFactory/point.js +0 -71
  368. package/lib/tile/tileFactory/polygon.js +0 -70
  369. package/lib/tile/tileFactory/raster.js +0 -68
  370. package/lib/tile/tileFactory/rasterData.js +0 -93
  371. package/lib/tile/tileFactory/test.js +0 -106
  372. package/lib/tile/tileLayer/MapTileLayer.js +0 -63
  373. package/lib/tile/tileLayer/TileLayer.js +0 -215
  374. 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
  }();