@antv/l7-layers 2.10.3 → 2.10.5

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 (362) hide show
  1. package/es/Geometry/index.d.ts +3 -2
  2. package/es/Geometry/index.js +17 -27
  3. package/es/Geometry/models/billboard.d.ts +2 -2
  4. package/es/Geometry/models/billboard.js +37 -77
  5. package/es/Geometry/models/plane.d.ts +2 -2
  6. package/es/Geometry/models/plane.js +40 -80
  7. package/es/Geometry/models/sprite.d.ts +2 -2
  8. package/es/Geometry/models/sprite.js +45 -83
  9. package/es/canvas/index.d.ts +3 -2
  10. package/es/canvas/index.js +19 -29
  11. package/es/canvas/models/canvas.d.ts +2 -2
  12. package/es/canvas/models/canvas.js +15 -54
  13. package/es/citybuliding/building.d.ts +3 -2
  14. package/es/citybuliding/building.js +17 -26
  15. package/es/citybuliding/models/build.d.ts +2 -2
  16. package/es/citybuliding/models/build.js +25 -70
  17. package/es/core/BaseLayer.d.ts +18 -21
  18. package/es/core/BaseLayer.js +273 -382
  19. package/es/core/BaseModel.d.ts +2 -2
  20. package/es/core/BaseModel.js +6 -47
  21. package/es/core/triangulation.js +1 -8
  22. package/es/earth/index.d.ts +2 -2
  23. package/es/earth/index.js +9 -28
  24. package/es/earth/models/atmosphere.d.ts +2 -2
  25. package/es/earth/models/atmosphere.js +22 -67
  26. package/es/earth/models/base.d.ts +2 -2
  27. package/es/earth/models/base.js +43 -89
  28. package/es/earth/models/bloomsphere.d.ts +2 -2
  29. package/es/earth/models/bloomsphere.js +22 -67
  30. package/es/heatmap/index.d.ts +3 -2
  31. package/es/heatmap/index.js +22 -33
  32. package/es/heatmap/models/grid.d.ts +2 -2
  33. package/es/heatmap/models/grid.js +27 -68
  34. package/es/heatmap/models/grid3d.d.ts +2 -2
  35. package/es/heatmap/models/grid3d.js +28 -69
  36. package/es/heatmap/models/heatmap.d.ts +2 -2
  37. package/es/heatmap/models/heatmap.js +14 -40
  38. package/es/heatmap/models/hexagon.d.ts +2 -2
  39. package/es/heatmap/models/hexagon.js +28 -69
  40. package/es/image/index.d.ts +3 -2
  41. package/es/image/index.js +17 -27
  42. package/es/image/models/dataImage.d.ts +2 -2
  43. package/es/image/models/dataImage.js +54 -93
  44. package/es/image/models/image.d.ts +2 -2
  45. package/es/image/models/image.js +67 -108
  46. package/es/image/models/tileDataImage.d.ts +2 -2
  47. package/es/image/models/tileDataImage.js +43 -84
  48. package/es/index.d.ts +2 -2
  49. package/es/index.js +2 -2
  50. package/es/line/index.d.ts +4 -5
  51. package/es/line/index.js +25 -51
  52. package/es/line/models/arc.d.ts +2 -2
  53. package/es/line/models/arc.js +38 -73
  54. package/es/line/models/arc_3d.d.ts +2 -2
  55. package/es/line/models/arc_3d.js +34 -69
  56. package/es/line/models/earthArc_3d.d.ts +2 -2
  57. package/es/line/models/earthArc_3d.js +37 -72
  58. package/es/line/models/great_circle.d.ts +2 -2
  59. package/es/line/models/great_circle.js +29 -70
  60. package/es/line/models/half.d.ts +2 -2
  61. package/es/line/models/half.js +17 -40
  62. package/es/line/models/index.d.ts +1 -1
  63. package/es/line/models/index.js +2 -0
  64. package/es/line/models/line.d.ts +2 -2
  65. package/es/line/models/line.js +47 -79
  66. package/es/line/models/linearline.d.ts +2 -2
  67. package/es/line/models/linearline.js +31 -70
  68. package/es/line/models/simpleLine.d.ts +2 -2
  69. package/es/line/models/simpleLine.js +34 -71
  70. package/es/line/models/simpleTileLine.d.ts +2 -2
  71. package/es/line/models/simpleTileLine.js +30 -70
  72. package/es/line/models/tile.d.ts +2 -2
  73. package/es/line/models/tile.js +17 -40
  74. package/es/line/models/wall.d.ts +2 -2
  75. package/es/line/models/wall.js +22 -67
  76. package/es/mask/index.d.ts +4 -2
  77. package/es/mask/index.js +97 -27
  78. package/es/mask/models/fill.d.ts +2 -2
  79. package/es/mask/models/fill.js +16 -40
  80. package/es/mask/models/index.d.ts +1 -1
  81. package/es/mask/models/index.js +3 -1
  82. package/es/plugins/DataMappingPlugin.d.ts +2 -0
  83. package/es/plugins/DataMappingPlugin.js +152 -90
  84. package/es/plugins/DataSourcePlugin.js +30 -74
  85. package/es/plugins/FeatureScalePlugin.d.ts +1 -0
  86. package/es/plugins/FeatureScalePlugin.js +61 -85
  87. package/es/plugins/LayerModelPlugin.d.ts +2 -2
  88. package/es/plugins/LayerModelPlugin.js +37 -121
  89. package/es/plugins/LayerStylePlugin.js +6 -1
  90. package/es/plugins/MultiPassRendererPlugin.js +1 -1
  91. package/es/plugins/PixelPickingPlugin.js +1 -1
  92. package/es/plugins/RegisterStyleAttributePlugin.js +16 -1
  93. package/es/plugins/UpdateModelPlugin.js +0 -3
  94. package/es/plugins/UpdateStyleAttributePlugin.js +6 -3
  95. package/es/point/index.d.ts +4 -4
  96. package/es/point/index.js +23 -55
  97. package/es/point/models/earthExtrude.d.ts +2 -2
  98. package/es/point/models/earthExtrude.js +30 -73
  99. package/es/point/models/earthFill.d.ts +2 -2
  100. package/es/point/models/earthFill.js +21 -66
  101. package/es/point/models/extrude.d.ts +2 -2
  102. package/es/point/models/extrude.js +17 -40
  103. package/es/point/models/fill.d.ts +2 -2
  104. package/es/point/models/fill.js +20 -43
  105. package/es/point/models/fillmage.d.ts +2 -2
  106. package/es/point/models/fillmage.js +43 -82
  107. package/es/point/models/image.d.ts +2 -2
  108. package/es/point/models/image.js +31 -72
  109. package/es/point/models/index.d.ts +1 -1
  110. package/es/point/models/index.js +2 -0
  111. package/es/point/models/normal.d.ts +2 -2
  112. package/es/point/models/normal.js +30 -71
  113. package/es/point/models/radar.d.ts +2 -2
  114. package/es/point/models/radar.js +35 -75
  115. package/es/point/models/simplePoint.d.ts +2 -2
  116. package/es/point/models/simplePoint.js +29 -70
  117. package/es/point/models/text.d.ts +2 -3
  118. package/es/point/models/text.js +110 -183
  119. package/es/point/models/tile.d.ts +2 -2
  120. package/es/point/models/tile.js +35 -77
  121. package/es/point/models/tileText.d.ts +2 -2
  122. package/es/point/models/tileText.js +116 -151
  123. package/es/polygon/index.d.ts +3 -2
  124. package/es/polygon/index.js +24 -27
  125. package/es/polygon/models/extrude.d.ts +2 -2
  126. package/es/polygon/models/extrude.js +32 -69
  127. package/es/polygon/models/fill.d.ts +2 -2
  128. package/es/polygon/models/fill.js +43 -76
  129. package/es/polygon/models/index.d.ts +1 -1
  130. package/es/polygon/models/index.js +2 -0
  131. package/es/polygon/models/ocean.d.ts +2 -2
  132. package/es/polygon/models/ocean.js +28 -69
  133. package/es/polygon/models/tile.d.ts +2 -2
  134. package/es/polygon/models/tile.js +30 -70
  135. package/es/polygon/models/water.d.ts +2 -2
  136. package/es/polygon/models/water.js +28 -69
  137. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -1
  138. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +2 -1
  139. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +2 -1
  140. package/es/raster/index.d.ts +4 -3
  141. package/es/raster/index.js +22 -28
  142. package/es/raster/models/index.d.ts +1 -1
  143. package/es/raster/models/index.js +3 -1
  144. package/es/raster/models/raster.d.ts +2 -2
  145. package/es/raster/models/raster.js +13 -36
  146. package/es/raster/models/rasterRgb.d.ts +2 -2
  147. package/es/raster/models/rasterRgb.js +13 -36
  148. package/es/raster/models/rasterTile.d.ts +2 -2
  149. package/es/raster/models/rasterTile.js +36 -77
  150. package/es/raster/raster.d.ts +1 -1
  151. package/es/raster/raster.js +22 -42
  152. package/es/tile/interaction/TilePickService.d.ts +16 -0
  153. package/es/tile/interaction/TilePickService.js +129 -0
  154. package/es/tile/interaction/getRasterData.d.ts +2 -2
  155. package/es/tile/interaction/utils.js +11 -3
  156. package/es/tile/interface.d.ts +4 -5
  157. package/es/tile/manager/base.d.ts +12 -17
  158. package/es/tile/manager/base.js +47 -212
  159. package/es/tile/manager/layerManager.d.ts +19 -0
  160. package/es/tile/manager/layerManager.js +254 -0
  161. package/es/tile/manager/mapLayerManager.d.ts +7 -0
  162. package/es/tile/manager/mapLayerManager.js +119 -0
  163. package/es/tile/models/tileModel.d.ts +10 -0
  164. package/es/tile/models/tileModel.js +81 -0
  165. package/es/tile/render/TileRenderService.d.ts +10 -0
  166. package/es/tile/render/TileRenderService.js +68 -0
  167. package/es/tile/style/TileStyleService.d.ts +17 -0
  168. package/es/tile/style/TileStyleService.js +118 -0
  169. package/es/tile/style/constants.d.ts +13 -1
  170. package/es/tile/style/constants.js +15 -6
  171. package/es/tile/style/utils.d.ts +8 -1
  172. package/es/tile/style/utils.js +126 -0
  173. package/es/tile/tileFactory/base.d.ts +45 -0
  174. package/es/tile/tileFactory/base.js +403 -0
  175. package/es/tile/tileFactory/index.d.ts +4 -10
  176. package/es/tile/tileFactory/index.js +23 -30
  177. package/es/tile/tileFactory/layers/{RasterDataLayer.d.ts → rasterDataLayer.d.ts} +3 -3
  178. package/es/tile/tileFactory/layers/{RasterDataLayer.js → rasterDataLayer.js} +21 -33
  179. package/es/tile/tileFactory/layers/{TileDebugLayer.d.ts → tileTest.d.ts} +2 -2
  180. package/es/tile/tileFactory/layers/{TileDebugLayer.js → tileTest.js} +10 -23
  181. package/es/tile/tileFactory/layers/vectorLayer.d.ts +30 -0
  182. package/es/tile/tileFactory/layers/vectorLayer.js +253 -0
  183. package/es/tile/tileFactory/line.d.ts +12 -0
  184. package/es/tile/tileFactory/line.js +59 -0
  185. package/es/tile/tileFactory/mask.d.ts +12 -0
  186. package/es/tile/tileFactory/mask.js +60 -0
  187. package/es/tile/tileFactory/point.d.ts +12 -0
  188. package/es/tile/tileFactory/point.js +60 -0
  189. package/es/tile/tileFactory/polygon.d.ts +12 -0
  190. package/es/tile/tileFactory/polygon.js +59 -0
  191. package/es/tile/tileFactory/raster.d.ts +12 -0
  192. package/es/tile/tileFactory/raster.js +55 -0
  193. package/es/tile/tileFactory/rasterData.d.ts +12 -0
  194. package/es/tile/tileFactory/rasterData.js +81 -0
  195. package/es/tile/tileFactory/test.d.ts +12 -0
  196. package/es/tile/tileFactory/test.js +94 -0
  197. package/es/tile/tileLayer/MapTileLayer.d.ts +6 -0
  198. package/es/tile/tileLayer/MapTileLayer.js +48 -0
  199. package/es/tile/tileLayer/TileLayer.d.ts +22 -0
  200. package/es/tile/tileLayer/TileLayer.js +198 -0
  201. package/es/tile/tileLayer/base.d.ts +33 -0
  202. package/es/tile/tileLayer/base.js +212 -0
  203. package/es/tile/utils.d.ts +11 -1
  204. package/es/tile/utils.js +129 -0
  205. package/es/utils/dataMappingStyle.d.ts +4 -4
  206. package/es/utils/dataMappingStyle.js +18 -16
  207. package/es/utils/layerData.js +11 -5
  208. package/es/wind/index.d.ts +3 -2
  209. package/es/wind/index.js +17 -27
  210. package/es/wind/models/wind.d.ts +2 -2
  211. package/es/wind/models/wind.js +104 -123
  212. package/lib/Geometry/index.js +17 -29
  213. package/lib/Geometry/models/billboard.js +37 -79
  214. package/lib/Geometry/models/plane.js +40 -82
  215. package/lib/Geometry/models/sprite.js +45 -85
  216. package/lib/canvas/index.js +19 -31
  217. package/lib/canvas/models/canvas.js +15 -56
  218. package/lib/citybuliding/building.js +17 -28
  219. package/lib/citybuliding/models/build.js +25 -72
  220. package/lib/core/BaseLayer.js +268 -382
  221. package/lib/core/BaseModel.js +6 -48
  222. package/lib/core/triangulation.js +1 -8
  223. package/lib/earth/index.js +9 -30
  224. package/lib/earth/models/atmosphere.js +22 -69
  225. package/lib/earth/models/base.js +42 -90
  226. package/lib/earth/models/bloomsphere.js +22 -69
  227. package/lib/heatmap/index.js +22 -35
  228. package/lib/heatmap/models/grid.js +27 -70
  229. package/lib/heatmap/models/grid3d.js +28 -71
  230. package/lib/heatmap/models/heatmap.js +14 -40
  231. package/lib/heatmap/models/hexagon.js +28 -71
  232. package/lib/image/index.js +17 -29
  233. package/lib/image/models/dataImage.js +54 -95
  234. package/lib/image/models/image.js +67 -110
  235. package/lib/image/models/tileDataImage.js +43 -86
  236. package/lib/index.js +5 -5
  237. package/lib/line/index.js +26 -53
  238. package/lib/line/models/arc.js +38 -75
  239. package/lib/line/models/arc_3d.js +34 -71
  240. package/lib/line/models/earthArc_3d.js +37 -74
  241. package/lib/line/models/great_circle.js +29 -72
  242. package/lib/line/models/half.js +17 -40
  243. package/lib/line/models/index.js +3 -0
  244. package/lib/line/models/line.js +47 -81
  245. package/lib/line/models/linearline.js +31 -72
  246. package/lib/line/models/simpleLine.js +34 -73
  247. package/lib/line/models/simpleTileLine.js +30 -72
  248. package/lib/line/models/tile.js +17 -40
  249. package/lib/line/models/wall.js +22 -69
  250. package/lib/mask/index.js +99 -28
  251. package/lib/mask/models/fill.js +16 -40
  252. package/lib/mask/models/index.js +4 -1
  253. package/lib/plugins/DataMappingPlugin.js +149 -91
  254. package/lib/plugins/DataSourcePlugin.js +30 -76
  255. package/lib/plugins/FeatureScalePlugin.js +61 -87
  256. package/lib/plugins/LayerModelPlugin.js +41 -128
  257. package/lib/plugins/LayerStylePlugin.js +6 -1
  258. package/lib/plugins/MultiPassRendererPlugin.js +1 -1
  259. package/lib/plugins/PixelPickingPlugin.js +1 -1
  260. package/lib/plugins/RegisterStyleAttributePlugin.js +16 -1
  261. package/lib/plugins/UpdateModelPlugin.js +0 -3
  262. package/lib/plugins/UpdateStyleAttributePlugin.js +6 -3
  263. package/lib/point/index.js +24 -56
  264. package/lib/point/models/earthExtrude.js +30 -75
  265. package/lib/point/models/earthFill.js +21 -68
  266. package/lib/point/models/extrude.js +17 -40
  267. package/lib/point/models/fill.js +21 -44
  268. package/lib/point/models/fillmage.js +43 -84
  269. package/lib/point/models/image.js +31 -74
  270. package/lib/point/models/index.js +3 -0
  271. package/lib/point/models/normal.js +30 -73
  272. package/lib/point/models/radar.js +35 -77
  273. package/lib/point/models/simplePoint.js +29 -72
  274. package/lib/point/models/text.js +109 -183
  275. package/lib/point/models/tile.js +35 -79
  276. package/lib/point/models/tileText.js +115 -151
  277. package/lib/polygon/index.js +25 -29
  278. package/lib/polygon/models/extrude.js +32 -71
  279. package/lib/polygon/models/fill.js +43 -78
  280. package/lib/polygon/models/index.js +3 -0
  281. package/lib/polygon/models/ocean.js +28 -71
  282. package/lib/polygon/models/tile.js +30 -72
  283. package/lib/polygon/models/water.js +28 -71
  284. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -1
  285. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +2 -1
  286. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +2 -1
  287. package/lib/raster/index.js +22 -30
  288. package/lib/raster/models/index.js +4 -1
  289. package/lib/raster/models/raster.js +13 -36
  290. package/lib/raster/models/rasterRgb.js +13 -36
  291. package/lib/raster/models/rasterTile.js +36 -79
  292. package/lib/raster/raster.js +22 -44
  293. package/lib/tile/interaction/TilePickService.js +143 -0
  294. package/lib/tile/interaction/utils.js +11 -3
  295. package/lib/tile/manager/base.js +47 -213
  296. package/lib/tile/manager/layerManager.js +275 -0
  297. package/lib/tile/manager/mapLayerManager.js +134 -0
  298. package/lib/tile/models/tileModel.js +94 -0
  299. package/lib/tile/render/TileRenderService.js +78 -0
  300. package/lib/tile/style/TileStyleService.js +133 -0
  301. package/lib/tile/style/constants.js +19 -8
  302. package/lib/tile/style/utils.js +140 -0
  303. package/lib/tile/tileFactory/base.js +427 -0
  304. package/lib/tile/tileFactory/index.js +24 -42
  305. package/lib/tile/tileFactory/layers/{RasterDataLayer.js → rasterDataLayer.js} +21 -35
  306. package/lib/tile/tileFactory/layers/{TileDebugLayer.js → tileTest.js} +11 -24
  307. package/lib/tile/tileFactory/layers/vectorLayer.js +268 -0
  308. package/lib/tile/tileFactory/line.js +70 -0
  309. package/lib/tile/tileFactory/mask.js +71 -0
  310. package/lib/tile/tileFactory/point.js +71 -0
  311. package/lib/tile/tileFactory/polygon.js +70 -0
  312. package/lib/tile/tileFactory/raster.js +68 -0
  313. package/lib/tile/tileFactory/rasterData.js +93 -0
  314. package/lib/tile/tileFactory/test.js +106 -0
  315. package/lib/tile/tileLayer/MapTileLayer.js +63 -0
  316. package/lib/tile/tileLayer/TileLayer.js +215 -0
  317. package/lib/tile/tileLayer/base.js +225 -0
  318. package/lib/tile/utils.js +148 -0
  319. package/lib/utils/dataMappingStyle.js +20 -18
  320. package/lib/utils/layerData.js +10 -4
  321. package/lib/wind/index.js +17 -29
  322. package/lib/wind/models/wind.js +104 -125
  323. package/package.json +7 -7
  324. package/es/core/LayerPickService.d.ts +0 -9
  325. package/es/core/LayerPickService.js +0 -85
  326. package/es/tile/service/TileLayerService.d.ts +0 -33
  327. package/es/tile/service/TileLayerService.js +0 -172
  328. package/es/tile/service/TilePickService.d.ts +0 -22
  329. package/es/tile/service/TilePickService.js +0 -148
  330. package/es/tile/service/TileSourceService.d.ts +0 -7
  331. package/es/tile/service/TileSourceService.js +0 -39
  332. package/es/tile/tileFactory/DebugTile.d.ts +0 -16
  333. package/es/tile/tileFactory/DebugTile.js +0 -100
  334. package/es/tile/tileFactory/ImageTile.d.ts +0 -14
  335. package/es/tile/tileFactory/ImageTile.js +0 -89
  336. package/es/tile/tileFactory/MaskTile.d.ts +0 -17
  337. package/es/tile/tileFactory/MaskTile.js +0 -98
  338. package/es/tile/tileFactory/RasterRGBTile.d.ts +0 -16
  339. package/es/tile/tileFactory/RasterRGBTile.js +0 -91
  340. package/es/tile/tileFactory/RasterTile.d.ts +0 -27
  341. package/es/tile/tileFactory/RasterTile.js +0 -186
  342. package/es/tile/tileFactory/Tile.d.ts +0 -34
  343. package/es/tile/tileFactory/Tile.js +0 -199
  344. package/es/tile/tileFactory/VectorTile.d.ts +0 -20
  345. package/es/tile/tileFactory/VectorTile.js +0 -152
  346. package/es/tile/tileFactory/util.d.ts +0 -6
  347. package/es/tile/tileFactory/util.js +0 -33
  348. package/es/tile/tileLayer/BaseLayer.d.ts +0 -46
  349. package/es/tile/tileLayer/BaseLayer.js +0 -358
  350. package/lib/core/LayerPickService.js +0 -96
  351. package/lib/tile/service/TileLayerService.js +0 -185
  352. package/lib/tile/service/TilePickService.js +0 -162
  353. package/lib/tile/service/TileSourceService.js +0 -59
  354. package/lib/tile/tileFactory/DebugTile.js +0 -115
  355. package/lib/tile/tileFactory/ImageTile.js +0 -104
  356. package/lib/tile/tileFactory/MaskTile.js +0 -113
  357. package/lib/tile/tileFactory/RasterRGBTile.js +0 -106
  358. package/lib/tile/tileFactory/RasterTile.js +0 -205
  359. package/lib/tile/tileFactory/Tile.js +0 -210
  360. package/lib/tile/tileFactory/VectorTile.js +0 -167
  361. package/lib/tile/tileFactory/util.js +0 -48
  362. package/lib/tile/tileLayer/BaseLayer.js +0 -373
@@ -1,373 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
-
20
- var _l7Core = require("@antv/l7-core");
21
-
22
- var _TileLayerService = require("../service/TileLayerService");
23
-
24
- var _TilePickService = require("../service/TilePickService");
25
-
26
- var _lodash = require("lodash");
27
-
28
- var _tileFactory = require("../tileFactory");
29
-
30
- var _constants = require("../style/constants");
31
-
32
- var BaseTileLayer = /*#__PURE__*/function () {
33
- // 瓦片数据管理器
34
- function BaseTileLayer(parent) {
35
- (0, _classCallCheck2.default)(this, BaseTileLayer);
36
- (0, _defineProperty2.default)(this, "initedTileset", false);
37
- (0, _defineProperty2.default)(this, "viewchange", (0, _lodash.debounce)(this.mapchange, 24));
38
- this.parent = parent;
39
- var container = this.parent.getContainer();
40
- this.rendererService = container.get(_l7Core.TYPES.IRendererService);
41
- this.layerService = container.get(_l7Core.TYPES.ILayerService);
42
- this.mapService = container.get(_l7Core.TYPES.IMapService);
43
- this.pickingService = container.get(_l7Core.TYPES.IPickingService); // 初始化瓦片管理服务
44
-
45
- this.tileLayerService = new _TileLayerService.TileLayerService({
46
- rendererService: this.rendererService,
47
- layerService: this.layerService,
48
- parent: parent
49
- }); // 初始化拾取服务
50
-
51
- this.tilePickService = new _TilePickService.TilePickService({
52
- tileLayerService: this.tileLayerService,
53
- layerService: this.layerService
54
- }); // 重置
55
-
56
- this.parent.setLayerPickService(this.tilePickService);
57
- this.proxy(parent);
58
- this.initTileSetManager();
59
- }
60
-
61
- (0, _createClass2.default)(BaseTileLayer, [{
62
- key: "initTileSetManager",
63
- value: function initTileSetManager() {
64
- var _this$tilesetManager;
65
-
66
- var source = this.parent.getSource();
67
- this.tilesetManager = source.tileset;
68
-
69
- if (!this.initedTileset) {
70
- this.bindTilesetEvent();
71
- this.initedTileset = true;
72
- }
73
-
74
- var _this$getCurrentView = this.getCurrentView(),
75
- latLonBounds = _this$getCurrentView.latLonBounds,
76
- zoom = _this$getCurrentView.zoom;
77
-
78
- (_this$tilesetManager = this.tilesetManager) === null || _this$tilesetManager === void 0 ? void 0 : _this$tilesetManager.update(zoom, latLonBounds);
79
- }
80
- }, {
81
- key: "mapchange",
82
- value: function mapchange() {
83
- var _this$tilesetManager2;
84
-
85
- var _this$getCurrentView2 = this.getCurrentView(),
86
- latLonBounds = _this$getCurrentView2.latLonBounds,
87
- zoom = _this$getCurrentView2.zoom;
88
-
89
- if (this.mapService.version === 'GAODE1.x') {
90
- var _this$parent$getLayer = this.parent.getLayerConfig(),
91
- visible = _this$parent$getLayer.visible;
92
-
93
- if (zoom < 3 && visible) {
94
- this.parent.updateLayerConfig({
95
- visible: false
96
- });
97
- this.layerService.reRender();
98
- } else if (zoom >= 3 && !visible) {
99
- this.parent.updateLayerConfig({
100
- visible: true
101
- });
102
- this.layerService.reRender();
103
- }
104
- }
105
-
106
- if (this.lastViewStates && this.lastViewStates.zoom === zoom && this.lastViewStates.latLonBounds.toString() === latLonBounds.toString()) {
107
- return;
108
- }
109
-
110
- this.lastViewStates = {
111
- zoom: zoom,
112
- latLonBounds: latLonBounds
113
- };
114
- (_this$tilesetManager2 = this.tilesetManager) === null || _this$tilesetManager2 === void 0 ? void 0 : _this$tilesetManager2.throttleUpdate(zoom, latLonBounds);
115
- }
116
- }, {
117
- key: "getCurrentView",
118
- value: function getCurrentView() {
119
- var bounds = this.mapService.getBounds();
120
- var latLonBounds = [bounds[0][0], bounds[0][1], bounds[1][0], bounds[1][1]];
121
- var zoom = this.mapService.getZoom();
122
- return {
123
- latLonBounds: latLonBounds,
124
- zoom: zoom
125
- };
126
- }
127
- }, {
128
- key: "bindTilesetEvent",
129
- value: function bindTilesetEvent() {
130
- var _this = this;
131
-
132
- // 瓦片数据加载成功
133
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
134
- this.tilesetManager.on('tile-loaded', function (tile) {// 将事件抛出,图层上可以监听使用
135
- }); // 瓦片数据从缓存删除或被执行重新加载
136
-
137
- this.tilesetManager.on('tile-unload', function (tile) {
138
- // 将事件抛出,图层上可以监听使用
139
- _this.tileUnLoad(tile);
140
- }); // 瓦片数据加载失败
141
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
142
-
143
- this.tilesetManager.on('tile-error', function (error, tile) {
144
- // 将事件抛出,图层上可以监听使用
145
- _this.tileError(error);
146
- }); // 瓦片显隐状态更新
147
-
148
- this.tilesetManager.on('tile-update', function () {
149
- _this.tileUpdate();
150
- }); // 地图视野发生改变
151
-
152
- this.mapService.on('zoomend', function () {
153
- return _this.mapchange();
154
- });
155
- this.mapService.on('moveend', function () {
156
- return _this.viewchange();
157
- });
158
- }
159
- }, {
160
- key: "render",
161
- value: function render() {
162
- this.tileLayerService.render();
163
- }
164
- }, {
165
- key: "getLayers",
166
- value: function getLayers() {
167
- return this.tileLayerService.getLayers();
168
- }
169
- }, {
170
- key: "getTiles",
171
- value: function getTiles() {
172
- return this.tileLayerService.getTiles();
173
- } // 防抖操作
174
-
175
- }, {
176
- key: "tileLoaded",
177
- value: // eslint-disable-next-line @typescript-eslint/no-unused-vars
178
- function tileLoaded(tile) {//
179
- }
180
- }, {
181
- key: "tileError",
182
- value: function tileError(error) {
183
- console.warn('error:', error);
184
- }
185
- }, {
186
- key: "destroy",
187
- value: function destroy() {
188
- var _this$tilesetManager3;
189
-
190
- (_this$tilesetManager3 = this.tilesetManager) === null || _this$tilesetManager3 === void 0 ? void 0 : _this$tilesetManager3.destroy();
191
- this.tileLayerService.destroy();
192
- }
193
- }, {
194
- key: "tileUnLoad",
195
- value: function tileUnLoad(tile) {
196
- this.tileLayerService.removeTile(tile.key);
197
- }
198
- }, {
199
- key: "tileUpdate",
200
- value: function () {
201
- var _tileUpdate = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
202
- var _this2 = this;
203
-
204
- return _regenerator.default.wrap(function _callee2$(_context2) {
205
- while (1) {
206
- switch (_context2.prev = _context2.next) {
207
- case 0:
208
- if (this.tilesetManager) {
209
- _context2.next = 2;
210
- break;
211
- }
212
-
213
- return _context2.abrupt("return");
214
-
215
- case 2:
216
- _context2.next = 4;
217
- return Promise.all(this.tilesetManager.tiles.filter(function (tile) {
218
- return tile.isLoaded;
219
- }) // 过滤未加载完成的
220
- .filter(function (tile) {
221
- return tile.isVisibleChange;
222
- }) // 过滤未发生变化的
223
- .filter(function (tile) {
224
- return _this2.isTileReady(tile);
225
- }) // 过滤未发生变化的
226
- .map( /*#__PURE__*/function () {
227
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(tile) {
228
- var tileInstance, tileLayer;
229
- return _regenerator.default.wrap(function _callee$(_context) {
230
- while (1) {
231
- switch (_context.prev = _context.next) {
232
- case 0:
233
- if (_this2.tileLayerService.hasTile(tile.key)) {
234
- _context.next = 11;
235
- break;
236
- }
237
-
238
- tileInstance = (0, _tileFactory.getTileFactory)(_this2.parent);
239
- tileLayer = new tileInstance(tile, _this2.parent);
240
- _context.next = 5;
241
- return tileLayer.initTileLayer();
242
-
243
- case 5:
244
- _this2.tilePickService.setPickState();
245
-
246
- if (tileLayer.getLayers().length !== 0) {
247
- _this2.tileLayerService.addTile(tileLayer);
248
-
249
- _this2.layerService.reRender();
250
- }
251
-
252
- _this2.tileLayerService.addTile(tileLayer);
253
-
254
- _this2.layerService.reRender();
255
-
256
- _context.next = 14;
257
- break;
258
-
259
- case 11:
260
- _this2.tileLayerService.updateTileVisible(tile);
261
-
262
- _this2.tilePickService.setPickState();
263
-
264
- _this2.layerService.reRender();
265
-
266
- case 14:
267
- case "end":
268
- return _context.stop();
269
- }
270
- }
271
- }, _callee);
272
- }));
273
-
274
- return function (_x) {
275
- return _ref.apply(this, arguments);
276
- };
277
- }()));
278
-
279
- case 4:
280
- if (this.tilesetManager.isLoaded) {
281
- // 将事件抛出,图层上可以使用瓦片
282
- this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);
283
- }
284
-
285
- case 5:
286
- case "end":
287
- return _context2.stop();
288
- }
289
- }
290
- }, _callee2, this);
291
- }));
292
-
293
- function tileUpdate() {
294
- return _tileUpdate.apply(this, arguments);
295
- }
296
-
297
- return tileUpdate;
298
- }() // eslint-disable-next-line @typescript-eslint/no-unused-vars
299
-
300
- }, {
301
- key: "isTileReady",
302
- value: function isTileReady(tile) {
303
- // if (tile.data?.layers && this.sourceLayer) {
304
- // // vector
305
- // const vectorTileLayer = tile.data.layers[this.sourceLayer];
306
- // const features = vectorTileLayer?.features;
307
- // if (!(Array.isArray(features) && features.length > 0)) {
308
- // return false;
309
- // }
310
- // }
311
- return true;
312
- } // eslint-disable-next-line @typescript-eslint/no-unused-vars
313
-
314
- }, {
315
- key: "setPickState",
316
- value: function setPickState(layers) {}
317
- }, {
318
- key: "pickRender",
319
- value: function pickRender(target) {
320
- this.tilePickService.pickRender(target);
321
- }
322
- }, {
323
- key: "selectFeature",
324
- value: function selectFeature(pickedColors) {
325
- this.tilePickService.selectFeature(pickedColors);
326
- }
327
- }, {
328
- key: "highlightPickedFeature",
329
- value: function highlightPickedFeature(pickedColors) {
330
- this.tilePickService.highlightPickedFeature(pickedColors);
331
- }
332
- /**
333
- * 实现 TileLayer 对子图层方法的代理
334
- * @param parent
335
- */
336
-
337
- }, {
338
- key: "proxy",
339
- value: function proxy(parent) {
340
- var _this3 = this;
341
-
342
- _constants.ProxyFuncs.forEach(function (func) {
343
- // @ts-ignore
344
- var oldStyleFunc = parent[func].bind(parent); // @ts-ignore
345
-
346
- parent[func] = function () {
347
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
348
- args[_key] = arguments[_key];
349
- }
350
-
351
- oldStyleFunc.apply(void 0, args);
352
-
353
- _this3.getLayers().map(function (child) {
354
- // @ts-ignore
355
- child[func].apply(child, args);
356
- }); // Tip: 目前在更新 RasterData 的 colorTexture 的时候需要额外优化
357
-
358
-
359
- if (func === 'style') {
360
- _this3.getTiles().forEach(function (tile) {
361
- return tile.styleUpdate.apply(tile, args);
362
- });
363
- }
364
-
365
- return parent;
366
- };
367
- });
368
- }
369
- }]);
370
- return BaseTileLayer;
371
- }();
372
-
373
- exports.default = BaseTileLayer;