@antv/l7-layers 2.10.6 → 2.10.7

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 (387) 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 +2 -3
  10. package/es/canvas/index.js +29 -19
  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 +22 -18
  18. package/es/core/BaseLayer.js +387 -266
  19. package/es/core/BaseModel.d.ts +2 -2
  20. package/es/core/BaseModel.js +47 -6
  21. package/es/core/LayerPickService.d.ts +12 -0
  22. package/es/core/LayerPickService.js +165 -0
  23. package/es/core/TextureService.d.ts +14 -0
  24. package/es/core/TextureService.js +67 -0
  25. package/es/core/triangulation.js +8 -1
  26. package/es/earth/index.d.ts +2 -2
  27. package/es/earth/index.js +28 -9
  28. package/es/earth/models/atmosphere.d.ts +2 -2
  29. package/es/earth/models/atmosphere.js +67 -22
  30. package/es/earth/models/base.d.ts +2 -2
  31. package/es/earth/models/base.js +89 -43
  32. package/es/earth/models/bloomsphere.d.ts +2 -2
  33. package/es/earth/models/bloomsphere.js +67 -22
  34. package/es/heatmap/index.d.ts +2 -3
  35. package/es/heatmap/index.js +33 -24
  36. package/es/heatmap/models/grid.d.ts +2 -2
  37. package/es/heatmap/models/grid.js +68 -27
  38. package/es/heatmap/models/grid3d.d.ts +2 -2
  39. package/es/heatmap/models/grid3d.js +70 -29
  40. package/es/heatmap/models/heatmap.d.ts +2 -2
  41. package/es/heatmap/models/heatmap.js +40 -14
  42. package/es/heatmap/models/hexagon.d.ts +2 -2
  43. package/es/heatmap/models/hexagon.js +69 -28
  44. package/es/heatmap/shaders/hexagon_3d_vert.glsl +2 -13
  45. package/es/image/index.d.ts +3 -4
  46. package/es/image/index.js +29 -34
  47. package/es/image/models/image.d.ts +2 -2
  48. package/es/image/models/image.js +117 -67
  49. package/es/image/models/index.d.ts +1 -1
  50. package/es/image/models/index.js +1 -5
  51. package/es/image/shaders/dataImage_frag.glsl +10 -16
  52. package/es/index.d.ts +2 -2
  53. package/es/index.js +2 -2
  54. package/es/line/index.d.ts +5 -4
  55. package/es/line/index.js +51 -25
  56. package/es/line/models/arc.d.ts +2 -2
  57. package/es/line/models/arc.js +73 -38
  58. package/es/line/models/arc_3d.d.ts +2 -2
  59. package/es/line/models/arc_3d.js +69 -34
  60. package/es/line/models/earthArc_3d.d.ts +2 -2
  61. package/es/line/models/earthArc_3d.js +72 -37
  62. package/es/line/models/great_circle.d.ts +2 -2
  63. package/es/line/models/great_circle.js +70 -29
  64. package/es/line/models/half.d.ts +2 -2
  65. package/es/line/models/half.js +40 -17
  66. package/es/line/models/index.d.ts +1 -1
  67. package/es/line/models/index.js +0 -2
  68. package/es/line/models/line.d.ts +2 -2
  69. package/es/line/models/line.js +79 -47
  70. package/es/line/models/linearline.d.ts +2 -2
  71. package/es/line/models/linearline.js +70 -31
  72. package/es/line/models/simpleLine.d.ts +2 -2
  73. package/es/line/models/simpleLine.js +71 -34
  74. package/es/line/models/simpleTileLine.d.ts +2 -2
  75. package/es/line/models/simpleTileLine.js +70 -30
  76. package/es/line/models/tile.d.ts +2 -2
  77. package/es/line/models/tile.js +40 -17
  78. package/es/line/models/wall.d.ts +2 -2
  79. package/es/line/models/wall.js +67 -22
  80. package/es/mask/index.d.ts +2 -4
  81. package/es/mask/index.js +27 -97
  82. package/es/mask/models/fill.d.ts +2 -2
  83. package/es/mask/models/fill.js +40 -16
  84. package/es/mask/models/index.d.ts +1 -1
  85. package/es/mask/models/index.js +1 -3
  86. package/es/plugins/DataMappingPlugin.d.ts +0 -2
  87. package/es/plugins/DataMappingPlugin.js +90 -152
  88. package/es/plugins/DataSourcePlugin.js +67 -30
  89. package/es/plugins/FeatureScalePlugin.d.ts +0 -1
  90. package/es/plugins/FeatureScalePlugin.js +85 -61
  91. package/es/plugins/LayerModelPlugin.d.ts +2 -2
  92. package/es/plugins/LayerModelPlugin.js +121 -37
  93. package/es/plugins/LayerStylePlugin.js +1 -6
  94. package/es/plugins/MultiPassRendererPlugin.js +1 -1
  95. package/es/plugins/PixelPickingPlugin.js +1 -1
  96. package/es/plugins/RegisterStyleAttributePlugin.js +1 -16
  97. package/es/plugins/UpdateModelPlugin.js +3 -0
  98. package/es/plugins/UpdateStyleAttributePlugin.js +3 -6
  99. package/es/point/index.d.ts +4 -4
  100. package/es/point/index.js +55 -23
  101. package/es/point/models/earthExtrude.d.ts +2 -2
  102. package/es/point/models/earthExtrude.js +73 -30
  103. package/es/point/models/earthFill.d.ts +2 -2
  104. package/es/point/models/earthFill.js +66 -21
  105. package/es/point/models/extrude.d.ts +2 -2
  106. package/es/point/models/extrude.js +40 -17
  107. package/es/point/models/fill.d.ts +2 -2
  108. package/es/point/models/fill.js +43 -20
  109. package/es/point/models/fillmage.d.ts +2 -2
  110. package/es/point/models/fillmage.js +82 -43
  111. package/es/point/models/image.d.ts +2 -2
  112. package/es/point/models/image.js +72 -31
  113. package/es/point/models/index.d.ts +1 -1
  114. package/es/point/models/index.js +0 -2
  115. package/es/point/models/normal.d.ts +2 -2
  116. package/es/point/models/normal.js +71 -30
  117. package/es/point/models/radar.d.ts +2 -2
  118. package/es/point/models/radar.js +75 -35
  119. package/es/point/models/simplePoint.d.ts +2 -2
  120. package/es/point/models/simplePoint.js +70 -29
  121. package/es/point/models/text.d.ts +3 -2
  122. package/es/point/models/text.js +185 -112
  123. package/es/point/models/tile.d.ts +2 -2
  124. package/es/point/models/tile.js +77 -35
  125. package/es/point/models/tileText.d.ts +2 -2
  126. package/es/point/models/tileText.js +151 -116
  127. package/es/polygon/index.d.ts +2 -3
  128. package/es/polygon/index.js +27 -24
  129. package/es/polygon/models/extrude.d.ts +2 -2
  130. package/es/polygon/models/extrude.js +69 -32
  131. package/es/polygon/models/fill.d.ts +2 -2
  132. package/es/polygon/models/fill.js +76 -43
  133. package/es/polygon/models/index.d.ts +1 -1
  134. package/es/polygon/models/index.js +0 -2
  135. package/es/polygon/models/ocean.d.ts +2 -2
  136. package/es/polygon/models/ocean.js +69 -28
  137. package/es/polygon/models/tile.d.ts +2 -2
  138. package/es/polygon/models/tile.js +70 -30
  139. package/es/polygon/models/water.d.ts +2 -2
  140. package/es/polygon/models/water.js +69 -28
  141. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +1 -2
  142. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +1 -2
  143. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +1 -2
  144. package/es/raster/index.d.ts +2 -3
  145. package/es/raster/index.js +30 -20
  146. package/es/raster/models/index.d.ts +1 -1
  147. package/es/raster/models/index.js +2 -2
  148. package/es/raster/models/raster.d.ts +2 -2
  149. package/es/raster/models/raster.js +39 -28
  150. package/es/raster/models/rasterRgb.d.ts +7 -8
  151. package/es/raster/models/rasterRgb.js +75 -45
  152. package/es/{image/models/tileDataImage.d.ts → raster/models/rasterTerrainRgb.d.ts} +3 -3
  153. package/es/raster/models/rasterTerrainRgb.js +184 -0
  154. package/es/raster/models/rasterTile.d.ts +2 -2
  155. package/es/raster/models/rasterTile.js +78 -37
  156. package/es/raster/shaders/raster_2d_frag.glsl +2 -38
  157. package/es/raster/shaders/raster_rgb_frag.glsl +10 -4
  158. package/es/raster/shaders/raster_terrain_rgb_frag.glsl +31 -0
  159. package/es/raster/shaders/rater_terrain_rgb_vert.glsl +17 -0
  160. package/es/tile/interaction/getRasterData.d.ts +2 -2
  161. package/es/tile/interaction/utils.js +3 -11
  162. package/es/tile/interface.d.ts +5 -4
  163. package/es/tile/manager/base.d.ts +17 -12
  164. package/es/tile/manager/base.js +212 -47
  165. package/es/tile/service/TileLayerService.d.ts +34 -0
  166. package/es/tile/service/TileLayerService.js +220 -0
  167. package/es/tile/service/TilePickService.d.ts +26 -0
  168. package/es/tile/service/TilePickService.js +174 -0
  169. package/es/tile/service/TileSourceService.d.ts +7 -0
  170. package/es/tile/service/TileSourceService.js +39 -0
  171. package/es/tile/style/constants.d.ts +1 -13
  172. package/es/tile/style/constants.js +6 -15
  173. package/es/tile/style/utils.d.ts +1 -8
  174. package/es/tile/style/utils.js +0 -126
  175. package/es/tile/tileFactory/DebugTile.d.ts +16 -0
  176. package/es/tile/tileFactory/DebugTile.js +100 -0
  177. package/es/tile/tileFactory/ImageTile.d.ts +14 -0
  178. package/es/tile/tileFactory/ImageTile.js +89 -0
  179. package/es/tile/tileFactory/MaskTile.d.ts +18 -0
  180. package/es/tile/tileFactory/MaskTile.js +105 -0
  181. package/es/tile/tileFactory/RasterRGBTile.d.ts +11 -0
  182. package/es/tile/tileFactory/RasterRGBTile.js +98 -0
  183. package/es/tile/tileFactory/RasterTerrainRGBTile.d.ts +14 -0
  184. package/es/tile/tileFactory/RasterTerrainRGBTile.js +89 -0
  185. package/es/tile/tileFactory/RasterTile.d.ts +18 -0
  186. package/es/tile/tileFactory/RasterTile.js +133 -0
  187. package/es/tile/tileFactory/Tile.d.ts +34 -0
  188. package/es/tile/tileFactory/Tile.js +161 -0
  189. package/es/tile/tileFactory/VectorTile.d.ts +27 -0
  190. package/es/tile/tileFactory/VectorTile.js +198 -0
  191. package/es/tile/tileFactory/index.d.ts +11 -4
  192. package/es/tile/tileFactory/index.js +34 -23
  193. package/es/tile/tileFactory/layers/{rasterDataLayer.d.ts → RasterDataLayer.d.ts} +3 -3
  194. package/es/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +34 -22
  195. package/es/tile/tileFactory/layers/{tileTest.d.ts → TileDebugLayer.d.ts} +2 -2
  196. package/es/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +23 -10
  197. package/es/tile/tileFactory/util.d.ts +5 -0
  198. package/es/tile/tileFactory/util.js +21 -0
  199. package/es/tile/tileLayer/BaseLayer.d.ts +45 -0
  200. package/es/tile/tileLayer/BaseLayer.js +348 -0
  201. package/es/tile/utils.d.ts +1 -11
  202. package/es/tile/utils.js +0 -129
  203. package/es/utils/dataMappingStyle.d.ts +4 -4
  204. package/es/utils/dataMappingStyle.js +16 -18
  205. package/es/utils/layerData.js +5 -11
  206. package/es/wind/index.d.ts +2 -3
  207. package/es/wind/index.js +27 -17
  208. package/es/wind/models/wind.d.ts +2 -2
  209. package/es/wind/models/wind.js +123 -104
  210. package/lib/Geometry/index.js +29 -17
  211. package/lib/Geometry/models/billboard.js +79 -37
  212. package/lib/Geometry/models/plane.js +82 -40
  213. package/lib/Geometry/models/sprite.js +85 -45
  214. package/lib/canvas/index.js +31 -19
  215. package/lib/canvas/models/canvas.js +56 -15
  216. package/lib/citybuliding/building.js +28 -17
  217. package/lib/citybuliding/models/build.js +72 -25
  218. package/lib/core/BaseLayer.js +388 -261
  219. package/lib/core/BaseModel.js +48 -6
  220. package/lib/core/LayerPickService.js +179 -0
  221. package/lib/core/TextureService.js +77 -0
  222. package/lib/core/triangulation.js +8 -1
  223. package/lib/earth/index.js +30 -9
  224. package/lib/earth/models/atmosphere.js +69 -22
  225. package/lib/earth/models/base.js +90 -42
  226. package/lib/earth/models/bloomsphere.js +69 -22
  227. package/lib/heatmap/index.js +35 -24
  228. package/lib/heatmap/models/grid.js +70 -27
  229. package/lib/heatmap/models/grid3d.js +72 -29
  230. package/lib/heatmap/models/heatmap.js +40 -14
  231. package/lib/heatmap/models/hexagon.js +71 -28
  232. package/lib/heatmap/shaders/hexagon_3d_vert.glsl +2 -13
  233. package/lib/image/index.js +31 -34
  234. package/lib/image/models/image.js +119 -67
  235. package/lib/image/models/index.js +1 -7
  236. package/lib/image/shaders/dataImage_frag.glsl +10 -16
  237. package/lib/index.js +5 -5
  238. package/lib/line/index.js +53 -26
  239. package/lib/line/models/arc.js +75 -38
  240. package/lib/line/models/arc_3d.js +71 -34
  241. package/lib/line/models/earthArc_3d.js +74 -37
  242. package/lib/line/models/great_circle.js +72 -29
  243. package/lib/line/models/half.js +40 -17
  244. package/lib/line/models/index.js +0 -3
  245. package/lib/line/models/line.js +81 -47
  246. package/lib/line/models/linearline.js +72 -31
  247. package/lib/line/models/simpleLine.js +73 -34
  248. package/lib/line/models/simpleTileLine.js +72 -30
  249. package/lib/line/models/tile.js +40 -17
  250. package/lib/line/models/wall.js +69 -22
  251. package/lib/mask/index.js +28 -99
  252. package/lib/mask/models/fill.js +40 -16
  253. package/lib/mask/models/index.js +1 -4
  254. package/lib/plugins/DataMappingPlugin.js +91 -149
  255. package/lib/plugins/DataSourcePlugin.js +69 -30
  256. package/lib/plugins/FeatureScalePlugin.js +87 -61
  257. package/lib/plugins/LayerModelPlugin.js +128 -41
  258. package/lib/plugins/LayerStylePlugin.js +1 -6
  259. package/lib/plugins/MultiPassRendererPlugin.js +1 -1
  260. package/lib/plugins/PixelPickingPlugin.js +1 -1
  261. package/lib/plugins/RegisterStyleAttributePlugin.js +1 -16
  262. package/lib/plugins/UpdateModelPlugin.js +3 -0
  263. package/lib/plugins/UpdateStyleAttributePlugin.js +3 -6
  264. package/lib/point/index.js +56 -24
  265. package/lib/point/models/earthExtrude.js +75 -30
  266. package/lib/point/models/earthFill.js +68 -21
  267. package/lib/point/models/extrude.js +40 -17
  268. package/lib/point/models/fill.js +44 -21
  269. package/lib/point/models/fillmage.js +84 -43
  270. package/lib/point/models/image.js +74 -31
  271. package/lib/point/models/index.js +0 -3
  272. package/lib/point/models/normal.js +73 -30
  273. package/lib/point/models/radar.js +77 -35
  274. package/lib/point/models/simplePoint.js +72 -29
  275. package/lib/point/models/text.js +185 -111
  276. package/lib/point/models/tile.js +79 -35
  277. package/lib/point/models/tileText.js +151 -115
  278. package/lib/polygon/index.js +29 -25
  279. package/lib/polygon/models/extrude.js +71 -32
  280. package/lib/polygon/models/fill.js +78 -43
  281. package/lib/polygon/models/index.js +0 -3
  282. package/lib/polygon/models/ocean.js +71 -28
  283. package/lib/polygon/models/tile.js +72 -30
  284. package/lib/polygon/models/water.js +71 -28
  285. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +1 -2
  286. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +1 -2
  287. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +1 -2
  288. package/lib/raster/index.js +32 -20
  289. package/lib/raster/models/index.js +3 -3
  290. package/lib/raster/models/raster.js +39 -29
  291. package/lib/raster/models/rasterRgb.js +78 -43
  292. package/lib/raster/models/rasterTerrainRgb.js +200 -0
  293. package/lib/raster/models/rasterTile.js +80 -37
  294. package/lib/raster/shaders/raster_2d_frag.glsl +2 -38
  295. package/lib/raster/shaders/raster_rgb_frag.glsl +10 -4
  296. package/lib/raster/shaders/raster_terrain_rgb_frag.glsl +31 -0
  297. package/lib/raster/shaders/rater_terrain_rgb_vert.glsl +17 -0
  298. package/lib/tile/interaction/utils.js +3 -11
  299. package/lib/tile/manager/base.js +213 -47
  300. package/lib/tile/service/TileLayerService.js +233 -0
  301. package/lib/tile/service/TilePickService.js +190 -0
  302. package/lib/tile/service/TileSourceService.js +59 -0
  303. package/lib/tile/style/constants.js +8 -19
  304. package/lib/tile/style/utils.js +0 -140
  305. package/lib/tile/tileFactory/DebugTile.js +115 -0
  306. package/lib/tile/tileFactory/ImageTile.js +104 -0
  307. package/lib/tile/tileFactory/MaskTile.js +120 -0
  308. package/lib/tile/tileFactory/RasterRGBTile.js +112 -0
  309. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +104 -0
  310. package/lib/tile/tileFactory/RasterTile.js +149 -0
  311. package/lib/tile/tileFactory/Tile.js +171 -0
  312. package/lib/tile/tileFactory/VectorTile.js +214 -0
  313. package/lib/tile/tileFactory/index.js +46 -23
  314. package/lib/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +36 -22
  315. package/lib/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +24 -11
  316. package/lib/tile/tileFactory/util.js +35 -0
  317. package/lib/tile/tileLayer/BaseLayer.js +363 -0
  318. package/lib/tile/utils.js +0 -148
  319. package/lib/utils/dataMappingStyle.js +18 -20
  320. package/lib/utils/layerData.js +4 -10
  321. package/lib/wind/index.js +29 -17
  322. package/lib/wind/models/wind.js +125 -104
  323. package/package.json +7 -7
  324. package/es/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  325. package/es/image/models/dataImage.d.ts +0 -13
  326. package/es/image/models/dataImage.js +0 -186
  327. package/es/image/models/tileDataImage.js +0 -160
  328. package/es/raster/raster.d.ts +0 -21
  329. package/es/raster/raster.js +0 -161
  330. package/es/tile/interaction/TilePickService.d.ts +0 -16
  331. package/es/tile/interaction/TilePickService.js +0 -129
  332. package/es/tile/manager/layerManager.d.ts +0 -19
  333. package/es/tile/manager/layerManager.js +0 -254
  334. package/es/tile/manager/mapLayerManager.d.ts +0 -7
  335. package/es/tile/manager/mapLayerManager.js +0 -119
  336. package/es/tile/models/tileModel.d.ts +0 -10
  337. package/es/tile/models/tileModel.js +0 -81
  338. package/es/tile/render/TileRenderService.d.ts +0 -10
  339. package/es/tile/render/TileRenderService.js +0 -68
  340. package/es/tile/style/TileStyleService.d.ts +0 -17
  341. package/es/tile/style/TileStyleService.js +0 -118
  342. package/es/tile/tileFactory/base.d.ts +0 -45
  343. package/es/tile/tileFactory/base.js +0 -403
  344. package/es/tile/tileFactory/layers/vectorLayer.d.ts +0 -30
  345. package/es/tile/tileFactory/layers/vectorLayer.js +0 -253
  346. package/es/tile/tileFactory/line.d.ts +0 -12
  347. package/es/tile/tileFactory/line.js +0 -59
  348. package/es/tile/tileFactory/mask.d.ts +0 -12
  349. package/es/tile/tileFactory/mask.js +0 -60
  350. package/es/tile/tileFactory/point.d.ts +0 -12
  351. package/es/tile/tileFactory/point.js +0 -60
  352. package/es/tile/tileFactory/polygon.d.ts +0 -12
  353. package/es/tile/tileFactory/polygon.js +0 -59
  354. package/es/tile/tileFactory/raster.d.ts +0 -12
  355. package/es/tile/tileFactory/raster.js +0 -55
  356. package/es/tile/tileFactory/rasterData.d.ts +0 -12
  357. package/es/tile/tileFactory/rasterData.js +0 -81
  358. package/es/tile/tileFactory/test.d.ts +0 -12
  359. package/es/tile/tileFactory/test.js +0 -94
  360. package/es/tile/tileLayer/MapTileLayer.d.ts +0 -6
  361. package/es/tile/tileLayer/MapTileLayer.js +0 -48
  362. package/es/tile/tileLayer/TileLayer.d.ts +0 -22
  363. package/es/tile/tileLayer/TileLayer.js +0 -198
  364. package/es/tile/tileLayer/base.d.ts +0 -33
  365. package/es/tile/tileLayer/base.js +0 -212
  366. package/lib/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  367. package/lib/image/models/dataImage.js +0 -201
  368. package/lib/image/models/tileDataImage.js +0 -174
  369. package/lib/raster/raster.js +0 -178
  370. package/lib/tile/interaction/TilePickService.js +0 -143
  371. package/lib/tile/manager/layerManager.js +0 -275
  372. package/lib/tile/manager/mapLayerManager.js +0 -134
  373. package/lib/tile/models/tileModel.js +0 -94
  374. package/lib/tile/render/TileRenderService.js +0 -78
  375. package/lib/tile/style/TileStyleService.js +0 -133
  376. package/lib/tile/tileFactory/base.js +0 -427
  377. package/lib/tile/tileFactory/layers/vectorLayer.js +0 -268
  378. package/lib/tile/tileFactory/line.js +0 -70
  379. package/lib/tile/tileFactory/mask.js +0 -71
  380. package/lib/tile/tileFactory/point.js +0 -71
  381. package/lib/tile/tileFactory/polygon.js +0 -70
  382. package/lib/tile/tileFactory/raster.js +0 -68
  383. package/lib/tile/tileFactory/rasterData.js +0 -93
  384. package/lib/tile/tileFactory/test.js +0 -106
  385. package/lib/tile/tileLayer/MapTileLayer.js +0 -63
  386. package/lib/tile/tileLayer/TileLayer.js +0 -215
  387. 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"));
@@ -30,7 +34,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
30
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; } }
31
35
 
32
36
  /* babel-plugin-inline-import '../shaders/raster_2d_frag.glsl' */
33
- var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\n\n\n\n// float getBlurIndusty() {\n// vec2 u_ViewportSize = vec2(1024);\n\n// float vW = 2.0/u_ViewportSize.x;\n// float vH = 2.0/u_ViewportSize.y;\n// vec2 vUv = v_texCoord;\n// float i11 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y + 1.0 * vH) ).r;\n// float i12 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y + 1.0 * vH) ).r;\n// float i13 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y + 1.0 * vH) ).r;\n\n// float i21 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y) ).r;\n// float i22 = texture2D( u_texture, vec2( vUv.x , vUv.y) ).r;\n// float i23 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y) ).r;\n\n// float i31 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y-1.0*vH) ).r;\n// float i32 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y-1.0*vH) ).r;\n// float i33 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y-1.0*vH) ).r;\n\n// return(\n// i11 + \n// i12 + \n// i13 + \n// i21 + \n// i21 + \n// i22 + \n// i23 + \n// i31 + \n// i32 + \n// i33\n// )/9.0;\n// }\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n\n // float value = getBlurIndusty();\n\n\n if (value == u_noDataValue)\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n gl_FragColor = vec4(0, 0, 0, 0);\n else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n}\n";
37
+ var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\nbool isnan_emu(float x) { return (x > 0.0 || x < 0.0) ? x != x : x != 0.0; }\n\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n if (value == u_noDataValue || isnan_emu(value))\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n gl_FragColor = vec4(0, 0, 0, 0);\n else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n}\n";
34
38
 
35
39
  /* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
36
40
  var rasterVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
@@ -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() {
@@ -9,49 +9,13 @@ uniform float u_noDataValue;
9
9
  uniform bool u_clampLow: true;
10
10
  uniform bool u_clampHigh: true;
11
11
  varying vec2 v_texCoord;
12
+ bool isnan_emu(float x) { return (x > 0.0 || x < 0.0) ? x != x : x != 0.0; }
12
13
 
13
14
 
14
-
15
- // float getBlurIndusty() {
16
- // vec2 u_ViewportSize = vec2(1024);
17
-
18
- // float vW = 2.0/u_ViewportSize.x;
19
- // float vH = 2.0/u_ViewportSize.y;
20
- // vec2 vUv = v_texCoord;
21
- // float i11 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y + 1.0 * vH) ).r;
22
- // float i12 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y + 1.0 * vH) ).r;
23
- // float i13 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y + 1.0 * vH) ).r;
24
-
25
- // float i21 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y) ).r;
26
- // float i22 = texture2D( u_texture, vec2( vUv.x , vUv.y) ).r;
27
- // float i23 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y) ).r;
28
-
29
- // float i31 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y-1.0*vH) ).r;
30
- // float i32 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y-1.0*vH) ).r;
31
- // float i33 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y-1.0*vH) ).r;
32
-
33
- // return(
34
- // i11 +
35
- // i12 +
36
- // i13 +
37
- // i21 +
38
- // i21 +
39
- // i22 +
40
- // i23 +
41
- // i31 +
42
- // i32 +
43
- // i33
44
- // )/9.0;
45
- // }
46
-
47
15
  void main() {
48
16
 
49
17
  float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;
50
-
51
- // float value = getBlurIndusty();
52
-
53
-
54
- if (value == u_noDataValue)
18
+ if (value == u_noDataValue || isnan_emu(value))
55
19
  gl_FragColor = vec4(0.0, 0, 0, 0.0);
56
20
  else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))
57
21
  gl_FragColor = vec4(0, 0, 0, 0);
@@ -1,12 +1,18 @@
1
1
  precision mediump float;
2
+ uniform vec2 u_rminmax: vec2(0,255);
3
+ uniform vec2 u_gminmax: vec2(0,255);
4
+ uniform vec2 u_bminmax: vec2(0,255);
2
5
  uniform float u_opacity: 1.0;
3
6
  uniform sampler2D u_texture;
4
- uniform float u_channelRMax: 256.;
5
- uniform float u_channelGMax: 256.;
6
- uniform float u_channelBMax: 256.;
7
+ uniform float u_noDataValue : 0.0;
7
8
  varying vec2 v_texCoord;
8
9
 
9
10
  void main() {
10
11
  vec3 rgb = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).rgb;
11
- gl_FragColor = vec4(rgb.r/u_channelRMax, rgb.g/u_channelGMax, rgb.b/u_channelBMax, u_opacity);
12
+ if(rgb == vec3(u_noDataValue)) {
13
+ gl_FragColor = vec4(0.0, 0, 0, 0.0);
14
+ } else {
15
+ gl_FragColor = vec4(rgb.r / (u_rminmax.y -u_rminmax.x), rgb.g /(u_gminmax.y -u_gminmax.x), rgb.b/ (u_bminmax.y - u_bminmax.x), u_opacity);
16
+ }
17
+
12
18
  }
@@ -0,0 +1,31 @@
1
+ precision mediump float;
2
+ uniform float u_opacity: 1.0;
3
+
4
+ uniform sampler2D u_texture;
5
+ uniform sampler2D u_colorTexture;
6
+
7
+ varying vec2 v_texCoord;
8
+
9
+ uniform vec2 u_domain;
10
+ uniform float u_noDataValue;
11
+ uniform bool u_clampLow: true;
12
+ uniform bool u_clampHigh: true;
13
+
14
+ void main() {
15
+ vec4 baseColor = texture2D(u_texture, vec2(v_texCoord.x, v_texCoord.y)) * 256.0;
16
+ float r = baseColor.r * 256.0 * 256.0;
17
+ float g = baseColor.g * 256.0;
18
+ float b = baseColor.b;
19
+ float value = (r + g + b) * 0.1 - 10000.0;
20
+
21
+ if (value == u_noDataValue) {
22
+ gl_FragColor = vec4(0.0, 0, 0, 0.0);
23
+ } else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1])) {
24
+ gl_FragColor = vec4(0.0, 0, 0, 0.0);
25
+ } else {
26
+ float normalisedValue =(value - u_domain[0]) / (u_domain[1] - u_domain[0]);
27
+ vec4 color = texture2D(u_colorTexture, vec2(normalisedValue, 0));
28
+ gl_FragColor = color;
29
+ gl_FragColor.a = gl_FragColor.a * u_opacity ;
30
+ }
31
+ }
@@ -0,0 +1,17 @@
1
+ precision highp float;
2
+ uniform mat4 u_ModelMatrix;
3
+ uniform mat4 u_Mvp;
4
+ attribute vec3 a_Position;
5
+ attribute vec2 a_Uv;
6
+ varying vec2 v_texCoord;
7
+ #pragma include "projection"
8
+ void main() {
9
+ v_texCoord = a_Uv;
10
+ vec4 project_pos = project_position(vec4(a_Position, 1.0));
11
+ // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));
12
+ if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
13
+ gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));
14
+ } else {
15
+ gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));
16
+ }
17
+ }
@@ -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
  }();