@antv/l7-layers 2.10.2 → 2.10.4

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