@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
@@ -0,0 +1,129 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
4
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
5
+ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
6
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
7
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
8
+
9
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
+
11
+ 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; } }
12
+
13
+ import { EventEmitter } from 'eventemitter3';
14
+ export var TilePickService = /*#__PURE__*/function (_EventEmitter) {
15
+ _inherits(TilePickService, _EventEmitter);
16
+
17
+ var _super = _createSuper(TilePickService);
18
+
19
+ function TilePickService(parent, rendererService, pickingService, children, tileRenderService) {
20
+ var _this;
21
+
22
+ _classCallCheck(this, TilePickService);
23
+
24
+ _this = _super.call(this);
25
+
26
+ _defineProperty(_assertThisInitialized(_this), "isLastPicked", false);
27
+
28
+ _this.parent = parent;
29
+ _this.rendererService = rendererService;
30
+ _this.pickingService = pickingService;
31
+ _this.children = children;
32
+ _this.tileRenderService = tileRenderService;
33
+ return _this;
34
+ }
35
+
36
+ _createClass(TilePickService, [{
37
+ key: "pick",
38
+ value: function pick(layers, target) {
39
+ var _this2 = this;
40
+
41
+ // Tip: 在进行拾取渲染的时候也需要先渲染一遍父组件然后再渲染子组件
42
+ // 如需要在 栅格瓦片存在 Mask 的时候发生的拾取,那么就需要先渲染父组件(渲染父组件的帧缓冲)
43
+ this.tileRenderService.renderMask(this.parent);
44
+ var isPicked = layers.filter(function (layer) {
45
+ return _this2.parent.needPick(target.type) && layer.inited && layer.isVisible();
46
+ }).some(function (layer) {
47
+ layer.hooks.beforePickingEncode.call();
48
+
49
+ if (layer.masks.length > 0) {
50
+ // 清除上一次的模版缓存
51
+ _this2.rendererService.clear({
52
+ stencil: 0,
53
+ depth: 1,
54
+ framebuffer: null
55
+ });
56
+
57
+ layer.masks.map(function (m) {
58
+ m.hooks.beforeRender.call();
59
+ m.render();
60
+ m.hooks.afterRender.call();
61
+ });
62
+ }
63
+
64
+ layer.renderModels(true);
65
+ layer.hooks.afterPickingEncode.call();
66
+
67
+ var layerPicked = _this2.pickingService.pickFromPickingFBO(layer, target); // RasterLayer 不参与拾取后的 shader 计算
68
+
69
+
70
+ if (layerPicked && _this2.parent.type !== 'RasterLayer') {
71
+ _this2.emit('pick', {
72
+ type: target.type,
73
+ pickedColors: _this2.pickingService.pickedColors,
74
+ layer: layer
75
+ });
76
+
77
+ _this2.pickingService.pickedTileLayers = [_this2.parent];
78
+ }
79
+
80
+ return layerPicked;
81
+ });
82
+
83
+ if (this.parent.type !== 'RasterLayer' && !isPicked && this.isLastPicked && target.type !== 'click') {
84
+ // 只有上一次有被高亮选中,本次未选中的时候才需要清除选中状态
85
+ this.pickingService.pickedTileLayers = [];
86
+ this.emit('unpick', {});
87
+ this.beforeHighlight([0, 0, 0]);
88
+ }
89
+
90
+ this.isLastPicked = isPicked;
91
+ return isPicked;
92
+ }
93
+ }, {
94
+ key: "clearPick",
95
+ value: function clearPick() {
96
+ this.children.filter(function (child) {
97
+ return child.inited && child.isVisible();
98
+ }).map(function (layer) {
99
+ layer.hooks.beforeSelect.call([0, 0, 0]);
100
+ });
101
+ this.pickingService.pickedTileLayers = [];
102
+ }
103
+ }, {
104
+ key: "beforeHighlight",
105
+ value: function beforeHighlight(pickedColors) {
106
+ this.children.filter(function (child) {
107
+ return child.inited && child.isVisible();
108
+ }).map(function (child) {
109
+ child.hooks.beforeHighlight.call(pickedColors);
110
+ });
111
+ }
112
+ }, {
113
+ key: "beforeSelect",
114
+ value: function beforeSelect(pickedColors) {
115
+ this.children.filter(function (child) {
116
+ return child.inited && child.isVisible();
117
+ }).map(function (layer) {
118
+ layer.hooks.beforeSelect.call(pickedColors);
119
+ });
120
+ }
121
+ }, {
122
+ key: "destroy",
123
+ value: function destroy() {
124
+ this.removeAllListeners();
125
+ }
126
+ }]);
127
+
128
+ return TilePickService;
129
+ }(EventEmitter);
@@ -1,4 +1,4 @@
1
1
  import { IMapService, IRendererService } from '@antv/l7-core';
2
- import { SourceTile } from '@antv/l7-utils';
3
- export declare function readRasterValue(tile: SourceTile, mapService: IMapService, x: number, y: number): any;
2
+ import { Tile } from '@antv/l7-utils';
3
+ export declare function readRasterValue(tile: Tile, mapService: IMapService, x: number, y: number): any;
4
4
  export declare function readPixel(x: number, y: number, rendererService: IRendererService): false | Uint8Array;
@@ -27,7 +27,7 @@ export function setSelect(layers, pickedColors, renderList) {
27
27
  }); // unselect normal layer
28
28
 
29
29
  renderList.filter(function (layer) {
30
- return layer.inited && layer.isVisible() && layer.needPick('click');
30
+ return layer.inited && !layer.isVector && layer.isVisible() && layer.needPick('click');
31
31
  }).filter(function (layer) {
32
32
  return layer.getCurrentSelectedId() !== null;
33
33
  }).map(function (layer) {
@@ -39,8 +39,9 @@ export function setSelect(layers, pickedColors, renderList) {
39
39
  export function setHighlight(layers, pickedColors) {
40
40
  var pickId = decodePickingColor(pickedColors);
41
41
  layers.filter(function (layer) {
42
- return layer.inited && layer.isVisible();
43
- }) // @ts-ignore
42
+ return layer.inited && layer.isVisible() && layer.isVector;
43
+ }) // Tip: 使用 vectorLayer 上的 pickID 优化高亮操作(过滤重复操作)
44
+ // @ts-ignore
44
45
  .filter(function (layer) {
45
46
  return layer.getPickID() !== pickId;
46
47
  }).map(function (layer) {
@@ -52,6 +53,13 @@ export function setHighlight(layers, pickedColors) {
52
53
  export function setPickState(layers, pickColors) {
53
54
  if (pickColors.select) {
54
55
  layers.map(function (layer) {
56
+ // if(layer.modelLoaded) {
57
+ // selectFeature(layer, this.pickColors.select);
58
+ // } else {
59
+ // layer.once('modelLoaded', () => {
60
+ // selectFeature(layer, this.pickColors.select);
61
+ // })
62
+ // }
55
63
  selectFeature(layer, pickColors.select);
56
64
  });
57
65
  }
@@ -1,5 +1,5 @@
1
1
  import { ILayer, IMapService, IRendererService, ISource, ISubLayerInitOptions } from '@antv/l7-core';
2
- import { SourceTile } from '@antv/l7-utils';
2
+ import { Tile } from '@antv/l7-utils';
3
3
  export declare type Timeout = any;
4
4
  export declare type CacheEvent = 'click' | 'mousemove' | 'mouseup' | 'mousedown' | 'contextmenu';
5
5
  export interface ITileFactoryOptions {
@@ -12,17 +12,16 @@ export interface ITileStyles {
12
12
  }
13
13
  export interface ILayerTileConfig {
14
14
  L7Layer?: any;
15
- tile: SourceTile;
15
+ tile: Tile;
16
16
  initOptions: ISubLayerInitOptions;
17
17
  vectorTileLayer?: any;
18
18
  source: ISource;
19
19
  needListen?: boolean;
20
20
  }
21
21
  export interface ITileFactory {
22
- loaded: boolean;
23
- layers: ILayer[];
24
- createTile(tile: SourceTile, initOptions: ISubLayerInitOptions): {
22
+ createTile(tile: Tile, initOptions: ISubLayerInitOptions): {
25
23
  layers: ILayer[];
24
+ layerIDList: string[];
26
25
  };
27
26
  createLayer(option: ILayerTileConfig): ILayer;
28
27
  updateStyle(styles: ITileStyles): string;
@@ -1,35 +1,30 @@
1
- import { ILayer, IRendererService, IMapService, ISubLayerInitOptions, ILayerService } from '@antv/l7-core';
2
- import { SourceTile } from '@antv/l7-utils';
1
+ import { ILayer, IRendererService, IMapService, ISubLayerInitOptions } from '@antv/l7-core';
2
+ import { Tile } from '@antv/l7-utils';
3
+ import { ITileFactory } from '../tileFactory';
3
4
  export declare class Base {
4
5
  sourceLayer: string;
5
6
  parent: ILayer;
6
7
  children: ILayer[];
7
8
  mapService: IMapService;
8
9
  rendererService: IRendererService;
9
- protected tileFactory: any;
10
+ protected tileFactory: ITileFactory;
10
11
  protected initOptions: ISubLayerInitOptions;
11
12
  private tileCache;
12
- private tileLayerCache;
13
- private initTileLayers;
14
- render(): void;
15
- hasTile(tile: SourceTile): boolean;
16
- addTile(tile: SourceTile): Promise<any>;
17
- removeTile(tile: SourceTile): void;
13
+ hasTile(tile: Tile): boolean;
14
+ addTile(tile: Tile): {
15
+ layers: ILayer[];
16
+ layerIDList: string[];
17
+ };
18
+ removeTile(tile: Tile): void;
18
19
  addChild(layer: ILayer): void;
19
20
  addChildren(layers: ILayer[]): void;
20
- removeLayers(layers?: ILayer[], refresh?: boolean): void;
21
+ removeChildren(layerIDList: string[], refresh?: boolean): void;
21
22
  removeChild(layer: ILayer): void;
22
- getLayers(tile: SourceTile): ILayer[];
23
+ getChildren(layerIDList: string[]): ILayer[];
23
24
  getChild(layerID: string): ILayer;
24
25
  clearChild(): void;
25
26
  hasChild(layer: ILayer): boolean;
26
27
  initTileFactory(): void;
27
28
  getSourceLayer(parentParserType: string, sourceLayer: string | undefined): string | undefined;
28
- updateTileVisible(tile: SourceTile, layerService: ILayerService): void;
29
- listenLoad(tile: SourceTile, callback: () => void): void;
30
- isTileLoaded(tile: SourceTile): boolean;
31
- isTileChildLoaded(tile: SourceTile): boolean;
32
- isTileParentLoaded(tile: SourceTile): boolean;
33
- isTileAllLoad(tile: SourceTile): boolean;
34
29
  destroy(): void;
35
30
  }
@@ -1,143 +1,55 @@
1
1
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
2
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
4
3
  import _createClass from "@babel/runtime/helpers/esm/createClass";
5
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
6
- import _regeneratorRuntime from "@babel/runtime/regenerator";
7
- import { createLayerContainer } from '@antv/l7-core';
8
- import { updateLayersConfig } from "../style/utils";
5
+ import { getTileFactory } from "../tileFactory";
6
+ import { registerLayers } from "../utils";
9
7
  export var Base = /*#__PURE__*/function () {
10
8
  function Base() {
11
9
  _classCallCheck(this, Base);
12
10
 
13
11
  _defineProperty(this, "tileCache", new Map());
14
-
15
- _defineProperty(this, "tileLayerCache", new Map());
16
12
  }
17
13
 
18
14
  _createClass(Base, [{
19
- key: "initTileLayers",
20
- value: function () {
21
- var _initTileLayers = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(layers, tile) {
22
- var _this = this;
23
-
24
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
25
- while (1) {
26
- switch (_context2.prev = _context2.next) {
27
- case 0:
28
- return _context2.abrupt("return", Promise.all(layers.map( /*#__PURE__*/function () {
29
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(layer) {
30
- var container;
31
- return _regeneratorRuntime.wrap(function _callee$(_context) {
32
- while (1) {
33
- switch (_context.prev = _context.next) {
34
- case 0:
35
- container = createLayerContainer(_this.parent.sceneContainer);
36
- layer.setContainer(container, _this.parent.sceneContainer);
37
- _context.next = 4;
38
- return layer.init();
39
-
40
- case 4:
41
- _this.addChild(layer);
42
-
43
- tile.layerLoad();
44
-
45
- _this.render();
46
-
47
- case 7:
48
- case "end":
49
- return _context.stop();
50
- }
51
- }
52
- }, _callee);
53
- }));
54
-
55
- return function (_x3) {
56
- return _ref.apply(this, arguments);
57
- };
58
- }())));
59
-
60
- case 1:
61
- case "end":
62
- return _context2.stop();
63
- }
64
- }
65
- }, _callee2);
66
- }));
67
-
68
- function initTileLayers(_x, _x2) {
69
- return _initTileLayers.apply(this, arguments);
70
- }
71
-
72
- return initTileLayers;
73
- }()
74
- }, {
75
- key: "render",
76
- value: function render() {
77
- this.parent.renderLayers();
78
- }
79
- }, {
80
15
  key: "hasTile",
81
16
  value: function hasTile(tile) {
82
- return this.tileCache.has(tile.key);
83
- } // 添加图层
84
-
17
+ return !!this.tileCache.has(tile.key);
18
+ }
85
19
  }, {
86
20
  key: "addTile",
87
- value: function () {
88
- var _addTile = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(tile) {
89
- var layerCollections;
90
- return _regeneratorRuntime.wrap(function _callee3$(_context3) {
91
- while (1) {
92
- switch (_context3.prev = _context3.next) {
93
- case 0:
94
- if (!this.hasTile(tile)) {
95
- _context3.next = 2;
96
- break;
97
- }
21
+ value: function addTile(tile) {
22
+ var _tile$layerIDList;
98
23
 
99
- return _context3.abrupt("return", {
100
- layers: []
101
- });
24
+ // oldTile 存在的时候暂时直接结束
25
+ // TODO:合并不存在的时候
26
+ if (this.hasTile(tile)) return {
27
+ layers: [],
28
+ layerIDList: []
29
+ }; // 存储当前 tile
102
30
 
103
- case 2:
104
- // 存储当前 tile
105
- this.tileCache.set(tile.key, tile); // 创建 tile 对应的 layers
31
+ this.tileCache.set(tile.key, tile); // 创建 tile 对应的 layers
106
32
 
107
- layerCollections = this.tileFactory.createTile(tile, this.initOptions); // // 初始化图层
33
+ var layerCollections = this.tileFactory.createTile(tile, this.initOptions); // regist layer 将创建出来的 layer 进行注册初始化操作
108
34
 
109
- _context3.next = 6;
110
- return this.initTileLayers(layerCollections.layers, tile);
35
+ registerLayers(this.parent, layerCollections.layers);
111
36
 
112
- case 6:
113
- this.tileLayerCache.set(tile.key, layerCollections.layers); // const visible = tile.parent ? tile.parent.children.every(t=>this.tileLayerCache.has(t.key)) : true
114
- // tile.parent?.children.forEach((t)=>{
115
- // updateLayersConfig(this.getLayers(t),'visible',visible)
116
- // })
37
+ (_tile$layerIDList = tile.layerIDList).push.apply(_tile$layerIDList, _toConsumableArray(layerCollections.layerIDList)); // add layer into layerGroup
117
38
 
118
- return _context3.abrupt("return", layerCollections);
119
-
120
- case 8:
121
- case "end":
122
- return _context3.stop();
123
- }
124
- }
125
- }, _callee3, this);
126
- }));
127
-
128
- function addTile(_x4) {
129
- return _addTile.apply(this, arguments);
130
- }
131
39
 
132
- return addTile;
133
- }()
40
+ this.addChildren(layerCollections.layers);
41
+ layerCollections.layers.map(function (layer) {
42
+ layer.once('modelLoaded', function () {
43
+ tile.layerLoad();
44
+ });
45
+ });
46
+ return layerCollections;
47
+ }
134
48
  }, {
135
49
  key: "removeTile",
136
50
  value: function removeTile(tile) {
137
51
  this.tileCache.delete(tile.key);
138
- var layers = this.tileLayerCache.get(tile.key);
139
- this.tileLayerCache.delete(tile.key);
140
- this.removeLayers(layers, false);
52
+ this.removeChildren(tile.layerIDList, false);
141
53
  }
142
54
  }, {
143
55
  key: "addChild",
@@ -152,16 +64,18 @@ export var Base = /*#__PURE__*/function () {
152
64
  (_this$children = this.children).push.apply(_this$children, _toConsumableArray(layers));
153
65
  }
154
66
  }, {
155
- key: "removeLayers",
156
- value: function removeLayers() {
157
- var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
67
+ key: "removeChildren",
68
+ value: function removeChildren(layerIDList) {
158
69
  var refresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
159
- this.children = this.children.filter(function (child) {
160
- return !layers.includes(child);
70
+ var remveLayerList = [];
71
+ var cacheLayerList = [];
72
+ this.children.filter(function (child) {
73
+ layerIDList.includes(child.id) ? remveLayerList.push(child) : cacheLayerList.push(child);
161
74
  });
162
- layers.map(function (layer) {
75
+ remveLayerList.map(function (layer) {
163
76
  return layer.destroy(refresh);
164
77
  });
78
+ this.children = cacheLayerList;
165
79
  }
166
80
  }, {
167
81
  key: "removeChild",
@@ -175,10 +89,11 @@ export var Base = /*#__PURE__*/function () {
175
89
  layer.destroy();
176
90
  }
177
91
  }, {
178
- key: "getLayers",
179
- value: function getLayers(tile) {
180
- if (!tile) return [];
181
- return this.tileLayerCache.get(tile.key) || [];
92
+ key: "getChildren",
93
+ value: function getChildren(layerIDList) {
94
+ return this.children.filter(function (child) {
95
+ return layerIDList.includes(child.id);
96
+ });
182
97
  }
183
98
  }, {
184
99
  key: "getChild",
@@ -202,11 +117,14 @@ export var Base = /*#__PURE__*/function () {
202
117
  }
203
118
  }, {
204
119
  key: "initTileFactory",
205
- value: function initTileFactory() {// this.tileFactory = new TileFactory({
206
- // parent: this.parent,
207
- // mapService: this.mapService,
208
- // rendererService: this.rendererService,
209
- // });
120
+ value: function initTileFactory() {
121
+ var source = this.parent.getSource();
122
+ var TileFactory = getTileFactory(this.parent.type, source.parser);
123
+ this.tileFactory = new TileFactory({
124
+ parent: this.parent,
125
+ mapService: this.mapService,
126
+ rendererService: this.rendererService
127
+ });
210
128
  }
211
129
  }, {
212
130
  key: "getSourceLayer",
@@ -219,92 +137,9 @@ export var Base = /*#__PURE__*/function () {
219
137
  return sourceLayer;
220
138
  }
221
139
  }
222
- }, {
223
- key: "updateTileVisible",
224
- value: function updateTileVisible(tile, layerService) {
225
- var layers = this.getLayers(tile);
226
- if (layers.length === 0) return;
227
-
228
- if (tile.isVisible) {
229
- // 如果可见直接进行渲染,父级发
230
- updateLayersConfig(layers, 'visible', tile.isVisible);
231
- } else {
232
- // 如果不可见,放大,等到子瓦片渲染完成,缩小:父级渲染成功
233
- // console.log('updateTileVisible',`${tile.x}_${tile.y}_${tile.z}`,tile.isVisible)
234
- // console.log(tile);
235
- // console.log(`子瓦片${tile.x}/${tile.y}/${tile.z}`,tile.children.length)
236
- // tile.children.forEach((t)=>{
237
- // console.log(`${t.x}/${t.y}/${t.z}`)
238
- // })
239
- updateLayersConfig(layers, 'visible', tile.isVisible);
240
- } // this.listenLoad(tile, () => {
241
- // this.isTileAllLoad(tile) && updateLayersConfig(layers, 'visible', tile.isVisible);
242
- // })
243
-
244
- }
245
- }, {
246
- key: "listenLoad",
247
- value: function listenLoad(tile, callback) {
248
- var _tile$parent;
249
-
250
- tile.once('layerLoaded', function () {
251
- callback();
252
- });
253
- tile.children.map(function (childTile) {
254
- childTile.once('layerLoaded', function () {
255
- callback();
256
- });
257
- });
258
- (_tile$parent = tile.parent) === null || _tile$parent === void 0 ? void 0 : _tile$parent.once('layerLoaded', function () {
259
- callback();
260
- });
261
- }
262
- }, {
263
- key: "isTileLoaded",
264
- value: function isTileLoaded(tile) {
265
- if (tile.isLoad) return true;
266
- var isLoad = this.getLayers(tile).length === tile.loadedLayers;
267
- tile.isLoad = isLoad;
268
- return isLoad;
269
- }
270
- }, {
271
- key: "isTileChildLoaded",
272
- value: function isTileChildLoaded(tile) {
273
- var _this2 = this;
274
-
275
- if (tile.isChildLoad) return true;
276
- var children = tile.children;
277
- var isLoad = children.filter(function (child) {
278
- return _this2.isTileLoaded(child);
279
- }).length === children.length;
280
- tile.isChildLoad = isLoad;
281
- return isLoad;
282
- }
283
- }, {
284
- key: "isTileParentLoaded",
285
- value: function isTileParentLoaded(tile) {
286
- var parent = tile.parent;
287
-
288
- if (!parent) {
289
- return true;
290
- } else {
291
- return this.isTileLoaded(parent);
292
- }
293
- }
294
- }, {
295
- key: "isTileAllLoad",
296
- value: function isTileAllLoad(tile) {
297
- var tileLoaded = this.isTileLoaded(tile);
298
- var tileChildLoaded = this.isTileChildLoaded(tile);
299
- var tileParentLoaded = this.isTileParentLoaded(tile);
300
- return tileLoaded && tileChildLoaded && tileParentLoaded;
301
- }
302
140
  }, {
303
141
  key: "destroy",
304
- value: function destroy() {
305
- this.tileCache.clear();
306
- this.tileLayerCache.clear();
307
- }
142
+ value: function destroy() {}
308
143
  }]);
309
144
 
310
145
  return Base;
@@ -0,0 +1,19 @@
1
+ import { IInteractionTarget, ILayer, IMapService, IPickingService, IRendererService, ITileLayerManager, ITilePickService, ITileRenderService, ITransform } from '@antv/l7-core';
2
+ import { Base } from './base';
3
+ import { ITileStyleService } from '../style/TileStyleService';
4
+ export declare class TileLayerManager extends Base implements ITileLayerManager {
5
+ tilePickService: ITilePickService;
6
+ tileStyleService: ITileStyleService;
7
+ tileRenderService: ITileRenderService;
8
+ private transforms;
9
+ constructor(parent: ILayer, mapService: IMapService, rendererService: IRendererService, pickingService: IPickingService, transforms: ITransform[]);
10
+ render(): void;
11
+ pickLayers(target: IInteractionTarget): boolean;
12
+ private setSubLayerInitOption;
13
+ private getInitOptionValue;
14
+ private setInitOptionValue;
15
+ private setConfigListener;
16
+ private updateAttribute;
17
+ private updateStyle;
18
+ destroy(): void;
19
+ }