@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,198 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
4
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
5
+ import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
6
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
7
+ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
8
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
9
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
10
+
11
+ 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); }; }
12
+
13
+ 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; } }
14
+
15
+ import { TileLayerManager } from "../manager/layerManager";
16
+ import { Base } from "./base";
17
+ import { setSelect, setHighlight, setPickState as _setPickState, clearPickState as _clearPickState } from "../interaction/utils";
18
+ export var TileLayer = /*#__PURE__*/function (_Base) {
19
+ _inherits(TileLayer, _Base);
20
+
21
+ var _super = _createSuper(TileLayer);
22
+
23
+ function TileLayer(_ref) {
24
+ var _parentSource$data;
25
+
26
+ var _this;
27
+
28
+ var parent = _ref.parent,
29
+ rendererService = _ref.rendererService,
30
+ mapService = _ref.mapService,
31
+ layerService = _ref.layerService,
32
+ pickingService = _ref.pickingService,
33
+ transforms = _ref.transforms;
34
+
35
+ _classCallCheck(this, TileLayer);
36
+
37
+ _this = _super.call(this);
38
+
39
+ _defineProperty(_assertThisInitialized(_this), "pickColors", {
40
+ select: null,
41
+ active: null
42
+ });
43
+
44
+ var parentSource = parent.getSource();
45
+
46
+ var _ref2 = (parentSource === null || parentSource === void 0 ? void 0 : (_parentSource$data = parentSource.data) === null || _parentSource$data === void 0 ? void 0 : _parentSource$data.tilesetOptions) || {},
47
+ sourceLayer = _ref2.sourceLayer;
48
+
49
+ _this.sourceLayer = sourceLayer;
50
+ _this.parent = parent;
51
+ _this.mapService = mapService;
52
+ _this.layerService = layerService;
53
+ _this.tileLayerManager = new TileLayerManager(parent, mapService, rendererService, pickingService, transforms);
54
+
55
+ _this.initTileSetManager();
56
+
57
+ _this.bindSubLayerEvent();
58
+
59
+ _this.bindSubLayerPick();
60
+
61
+ _this.scaleField = _this.parent.getScaleOptions();
62
+ return _this;
63
+ }
64
+
65
+ _createClass(TileLayer, [{
66
+ key: "children",
67
+ get: function get() {
68
+ return this.tileLayerManager.children;
69
+ }
70
+ }, {
71
+ key: "clearPick",
72
+ value: function clearPick(type) {
73
+ // Tip: 瓦片只有在 mousemove 的时候需要设置清除
74
+ if (type === 'mousemove') {
75
+ this.tileLayerManager.tilePickService.clearPick();
76
+ }
77
+ }
78
+ /**
79
+ * 清除 select 的选中状态
80
+ */
81
+
82
+ }, {
83
+ key: "clearPickState",
84
+ value: function clearPickState() {
85
+ _clearPickState(this.children);
86
+ }
87
+ /**
88
+ * 瓦片图层独立的拾取逻辑
89
+ * @param target
90
+ * @returns
91
+ */
92
+
93
+ }, {
94
+ key: "pickLayers",
95
+ value: function pickLayers(target) {
96
+ return this.tileLayerManager.pickLayers(target);
97
+ }
98
+ }, {
99
+ key: "setPickState",
100
+ value: function setPickState(layers) {
101
+ _setPickState(layers, this.pickColors);
102
+ }
103
+ }, {
104
+ key: "bindSubLayerPick",
105
+ value: function bindSubLayerPick() {
106
+ var _this2 = this;
107
+
108
+ this.tileLayerManager.tilePickService.on('pick', function (e) {
109
+ // @ts-ignore
110
+ var _e$pickedColors = _slicedToArray(e.pickedColors, 3),
111
+ r = _e$pickedColors[0],
112
+ g = _e$pickedColors[1],
113
+ b = _e$pickedColors[2];
114
+
115
+ if (e.type === 'click') {
116
+ var restLayers = _this2.children.filter(function (child) {
117
+ return child.inited && child.isVisible() && child.isVector;
118
+ }).filter(function (child) {
119
+ return child !== e.layer;
120
+ });
121
+
122
+ var renderList = _this2.layerService.getRenderList();
123
+
124
+ var color = setSelect(restLayers, [r, g, b], renderList);
125
+ _this2.pickColors.select = color;
126
+ } else {
127
+ setHighlight(_this2.children, [r, g, b]);
128
+ _this2.pickColors.active = [r, g, b];
129
+ }
130
+ });
131
+ this.tileLayerManager.tilePickService.on('unpick', function () {
132
+ _this2.pickColors.active = null;
133
+ });
134
+ }
135
+ }, {
136
+ key: "bindSubLayerEvent",
137
+ value: function bindSubLayerEvent() {
138
+ var _this3 = this;
139
+
140
+ /**
141
+ * layer.on('click', (ev) => {}); // 鼠标左键点击图层事件
142
+ * layer.on('mouseenter', (ev) => {}); // 鼠标进入图层要素
143
+ * layer.on('mousemove', (ev) => {}); // 鼠标在图层上移动时触发
144
+ * layer.on('mouseout', (ev) => {}); // 鼠标移出图层要素时触发
145
+ * layer.on('mouseup', (ev) => {}); // 鼠标在图层上单击抬起时触发
146
+ * layer.on('mousedown', (ev) => {}); // 鼠标在图层上单击按下时触发
147
+ * layer.on('contextmenu', (ev) => {}); // 图层要素点击右键菜单
148
+ *
149
+ * 鼠标在图层外的事件
150
+ * layer.on('unclick', (ev) => {}); // 图层外点击
151
+ * layer.on('unmousemove', (ev) => {}); // 图层外移动
152
+ * layer.on('unmouseup', (ev) => {}); // 图层外鼠标抬起
153
+ * layer.on('unmousedown', (ev) => {}); // 图层外单击按下时触发
154
+ * layer.on('uncontextmenu', (ev) => {}); // 图层外点击右键
155
+ * layer.on('unpick', (ev) => {}); // 图层外的操作的所有事件
156
+ */
157
+ this.parent.on('subLayerClick', function (e) {
158
+ _this3.parent.emit('click', _objectSpread({}, e));
159
+ });
160
+ this.parent.on('subLayerMouseMove', function (e) {
161
+ return _this3.parent.emit('mousemove', _objectSpread({}, e));
162
+ });
163
+ this.parent.on('subLayerMouseUp', function (e) {
164
+ return _this3.parent.emit('mouseup', _objectSpread({}, e));
165
+ });
166
+ this.parent.on('subLayerMouseEnter', function (e) {
167
+ return _this3.parent.emit('mouseenter', _objectSpread({}, e));
168
+ });
169
+ this.parent.on('subLayerMouseOut', function (e) {
170
+ return _this3.parent.emit('mouseout', _objectSpread({}, e));
171
+ });
172
+ this.parent.on('subLayerMouseDown', function (e) {
173
+ return _this3.parent.emit('mousedown', _objectSpread({}, e));
174
+ });
175
+ this.parent.on('subLayerContextmenu', function (e) {
176
+ return _this3.parent.emit('contextmenu', _objectSpread({}, e));
177
+ }); // vector layer 图层外事件
178
+
179
+ this.parent.on('subLayerUnClick', function (e) {
180
+ return _this3.parent.emit('unclick', _objectSpread({}, e));
181
+ });
182
+ this.parent.on('subLayerUnMouseMove', function (e) {
183
+ return _this3.parent.emit('unmousemove', _objectSpread({}, e));
184
+ });
185
+ this.parent.on('subLayerUnMouseUp', function (e) {
186
+ return _this3.parent.emit('unmouseup', _objectSpread({}, e));
187
+ });
188
+ this.parent.on('subLayerUnMouseDown', function (e) {
189
+ return _this3.parent.emit('unmousedown', _objectSpread({}, e));
190
+ });
191
+ this.parent.on('subLayerUnContextmenu', function (e) {
192
+ return _this3.parent.emit('uncontextmenu', _objectSpread({}, e));
193
+ });
194
+ }
195
+ }]);
196
+
197
+ return TileLayer;
198
+ }(Base);
@@ -0,0 +1,33 @@
1
+ import { ILayer, IMapService, ILayerService } from '@antv/l7-core';
2
+ import { Tile, TilesetManager } from '@antv/l7-utils';
3
+ export declare class Base {
4
+ tileLayerManager: any;
5
+ get children(): any;
6
+ sourceLayer: string;
7
+ parent: ILayer;
8
+ initedTileset: boolean;
9
+ tilesetManager: TilesetManager | undefined;
10
+ scaleField: any;
11
+ protected mapService: IMapService;
12
+ protected layerService: ILayerService;
13
+ protected lastViewStates: {
14
+ zoom: number;
15
+ latLonBounds: [number, number, number, number];
16
+ };
17
+ protected mapchange(): void;
18
+ protected getCurrentView(): {
19
+ latLonBounds: [number, number, number, number];
20
+ zoom: number;
21
+ };
22
+ protected initTileSetManager(): void;
23
+ private bindTilesetEvent;
24
+ render(): void;
25
+ viewchange: import("lodash").DebouncedFunc<() => void>;
26
+ tileLoaded(tile: Tile): void;
27
+ tileError(error: Error): void;
28
+ destroy(): void;
29
+ tileUnLoad(tile: Tile): void;
30
+ tileUpdate(): void;
31
+ isTileReady(tile: Tile): boolean;
32
+ setPickState(layers: ILayer[]): void;
33
+ }
@@ -0,0 +1,212 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
+ import { debounce } from 'lodash';
5
+ import { updateTileVisible } from "../utils";
6
+ export var Base = /*#__PURE__*/function () {
7
+ function Base() {
8
+ _classCallCheck(this, Base);
9
+
10
+ _defineProperty(this, "initedTileset", false);
11
+
12
+ _defineProperty(this, "viewchange", debounce(this.mapchange, 200));
13
+ }
14
+
15
+ _createClass(Base, [{
16
+ key: "children",
17
+ get: function get() {
18
+ return this.tileLayerManager.children;
19
+ }
20
+ }, {
21
+ key: "mapchange",
22
+ value: function mapchange() {
23
+ var _this$tilesetManager;
24
+
25
+ var _this$getCurrentView = this.getCurrentView(),
26
+ latLonBounds = _this$getCurrentView.latLonBounds,
27
+ zoom = _this$getCurrentView.zoom;
28
+
29
+ if (this.mapService.version === 'GAODE1.x') {
30
+ var _this$parent$getLayer = this.parent.getLayerConfig(),
31
+ visible = _this$parent$getLayer.visible;
32
+
33
+ if (zoom < 3 && visible) {
34
+ this.parent.updateLayerConfig({
35
+ visible: false
36
+ });
37
+ this.layerService.reRender();
38
+ } else if (zoom >= 3 && !visible) {
39
+ this.parent.updateLayerConfig({
40
+ visible: true
41
+ });
42
+ this.layerService.reRender();
43
+ }
44
+ }
45
+
46
+ if (this.lastViewStates && this.lastViewStates.zoom === zoom && this.lastViewStates.latLonBounds.toString() === latLonBounds.toString()) {
47
+ return;
48
+ }
49
+
50
+ this.lastViewStates = {
51
+ zoom: zoom,
52
+ latLonBounds: latLonBounds
53
+ };
54
+ (_this$tilesetManager = this.tilesetManager) === null || _this$tilesetManager === void 0 ? void 0 : _this$tilesetManager.throttleUpdate(zoom, latLonBounds);
55
+ }
56
+ }, {
57
+ key: "getCurrentView",
58
+ value: function getCurrentView() {
59
+ var bounds = this.mapService.getBounds();
60
+ var latLonBounds = [bounds[0][0], bounds[0][1], bounds[1][0], bounds[1][1]];
61
+ var zoom = this.mapService.getZoom();
62
+ return {
63
+ latLonBounds: latLonBounds,
64
+ zoom: zoom
65
+ };
66
+ }
67
+ }, {
68
+ key: "initTileSetManager",
69
+ value: function initTileSetManager() {
70
+ var _this$tilesetManager2;
71
+
72
+ var source = this.parent.getSource();
73
+ this.tilesetManager = source.tileset;
74
+
75
+ if (!this.initedTileset) {
76
+ this.bindTilesetEvent();
77
+ this.initedTileset = true;
78
+ }
79
+
80
+ var _this$getCurrentView2 = this.getCurrentView(),
81
+ latLonBounds = _this$getCurrentView2.latLonBounds,
82
+ zoom = _this$getCurrentView2.zoom;
83
+
84
+ (_this$tilesetManager2 = this.tilesetManager) === null || _this$tilesetManager2 === void 0 ? void 0 : _this$tilesetManager2.update(zoom, latLonBounds);
85
+ }
86
+ }, {
87
+ key: "bindTilesetEvent",
88
+ value: function bindTilesetEvent() {
89
+ var _this = this;
90
+
91
+ if (!this.tilesetManager) {
92
+ return;
93
+ } // 瓦片数据加载成功
94
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
95
+
96
+
97
+ this.tilesetManager.on('tile-loaded', function (tile) {// 将事件抛出,图层上可以监听使用
98
+ }); // 瓦片数据从缓存删除或被执行重新加载
99
+
100
+ this.tilesetManager.on('tile-unload', function (tile) {
101
+ // 将事件抛出,图层上可以监听使用
102
+ _this.tileUnLoad(tile);
103
+ }); // 瓦片数据加载失败
104
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
105
+
106
+ this.tilesetManager.on('tile-error', function (error, tile) {
107
+ // 将事件抛出,图层上可以监听使用
108
+ _this.tileError(error);
109
+ }); // 瓦片显隐状态更新
110
+
111
+ this.tilesetManager.on('tile-update', function () {
112
+ _this.tileUpdate();
113
+ }); // 地图视野发生改变
114
+
115
+ this.mapService.on('zoomend', function () {
116
+ return _this.viewchange();
117
+ });
118
+ this.mapService.on('moveend', function () {
119
+ return _this.viewchange();
120
+ });
121
+ }
122
+ }, {
123
+ key: "render",
124
+ value: function render() {
125
+ this.tileLayerManager.render();
126
+ } // 防抖操作
127
+
128
+ }, {
129
+ key: "tileLoaded",
130
+ value: // eslint-disable-next-line @typescript-eslint/no-unused-vars
131
+ function tileLoaded(tile) {//
132
+ }
133
+ }, {
134
+ key: "tileError",
135
+ value: function tileError(error) {
136
+ console.warn('error:', error);
137
+ }
138
+ }, {
139
+ key: "destroy",
140
+ value: function destroy() {
141
+ var _this$tilesetManager3;
142
+
143
+ (_this$tilesetManager3 = this.tilesetManager) === null || _this$tilesetManager3 === void 0 ? void 0 : _this$tilesetManager3.destroy();
144
+ this.tileLayerManager.destroy();
145
+ }
146
+ }, {
147
+ key: "tileUnLoad",
148
+ value: function tileUnLoad(tile) {
149
+ this.tileLayerManager.removeTile(tile);
150
+ }
151
+ }, {
152
+ key: "tileUpdate",
153
+ value: function tileUpdate() {
154
+ var _this2 = this;
155
+
156
+ if (!this.tilesetManager) {
157
+ return;
158
+ }
159
+
160
+ this.tilesetManager.tiles.filter(function (tile) {
161
+ return tile.isLoaded;
162
+ }).map(function (tile) {
163
+ if (!_this2.isTileReady(tile)) return;
164
+
165
+ if (!_this2.tileLayerManager.hasTile(tile)) {
166
+ var _this2$tileLayerManag = _this2.tileLayerManager.addTile(tile),
167
+ layers = _this2$tileLayerManag.layers;
168
+
169
+ _this2.setPickState(layers);
170
+ } else {
171
+ if (!tile.isVisibleChange) {
172
+ return;
173
+ }
174
+
175
+ var _layers = _this2.tileLayerManager.getChildren(tile.layerIDList);
176
+
177
+ updateTileVisible(tile, _layers, _this2.layerService);
178
+
179
+ _this2.setPickState(_layers);
180
+ }
181
+ });
182
+
183
+ if (this.tilesetManager.isLoaded) {
184
+ // 将事件抛出,图层上可以使用瓦片
185
+ this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);
186
+ }
187
+ }
188
+ }, {
189
+ key: "isTileReady",
190
+ value: function isTileReady(tile) {
191
+ var _tile$data;
192
+
193
+ if ((_tile$data = tile.data) !== null && _tile$data !== void 0 && _tile$data.layers && this.sourceLayer) {
194
+ // vector
195
+ var vectorTileLayer = tile.data.layers[this.sourceLayer];
196
+ var features = vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.features;
197
+
198
+ if (!(Array.isArray(features) && features.length > 0)) {
199
+ return false;
200
+ }
201
+ }
202
+
203
+ return true;
204
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
205
+
206
+ }, {
207
+ key: "setPickState",
208
+ value: function setPickState(layers) {}
209
+ }]);
210
+
211
+ return Base;
212
+ }();
@@ -1,4 +1,5 @@
1
- import { ILayer } from '@antv/l7-core';
1
+ import { ILayer, ILayerService } from '@antv/l7-core';
2
+ import { Tile } from '@antv/l7-utils';
2
3
  export declare const tileVectorParser: string[];
3
4
  /**
4
5
  * 判断当前图层是否是瓦片图层
@@ -6,7 +7,16 @@ export declare const tileVectorParser: string[];
6
7
  * @returns
7
8
  */
8
9
  export declare function isTileGroup(layer: ILayer): boolean;
10
+ export declare function isVectorTile(parserType: string): boolean;
11
+ export declare function registerLayers(parentLayer: ILayer, layers: ILayer[]): void;
12
+ export declare function getLayerShape(layerType: string, layer: ILayer): string | string[];
13
+ export declare function getMaskValue(layerType: string, mask: boolean): boolean;
9
14
  export declare function getContainerSize(container: HTMLCanvasElement | HTMLElement): DOMRect | {
10
15
  width: number;
11
16
  height: number;
12
17
  };
18
+ export declare function isTileLoaded(tile: Tile): boolean;
19
+ export declare function isTileChildLoaded(tile: Tile): boolean;
20
+ export declare function isTileParentLoaded(tile: Tile): boolean;
21
+ export declare function tileAllLoad(tile: Tile, callback: () => void): void;
22
+ export declare function updateTileVisible(tile: Tile, layers: ILayer[], layerService: ILayerService): void;
package/es/tile/utils.js CHANGED
@@ -1,4 +1,6 @@
1
+ import { createLayerContainer } from '@antv/l7-core';
1
2
  import { DOM } from '@antv/l7-utils';
3
+ import { updateLayersConfig } from "./style/utils";
2
4
  export var tileVectorParser = ['mvt', 'geojsonvt', 'testTile'];
3
5
  /**
4
6
  * 判断当前图层是否是瓦片图层
@@ -10,6 +12,66 @@ export function isTileGroup(layer) {
10
12
  var source = layer.getSource();
11
13
  return tileVectorParser.includes(source.parser.type);
12
14
  }
15
+ export function isVectorTile(parserType) {
16
+ return tileVectorParser.indexOf(parserType) >= 0;
17
+ }
18
+ export function registerLayers(parentLayer, layers) {
19
+ layers.map(function (layer) {
20
+ var container = createLayerContainer(parentLayer.sceneContainer);
21
+ layer.setContainer(container, parentLayer.sceneContainer);
22
+ layer.init();
23
+ });
24
+ }
25
+ export function getLayerShape(layerType, layer) {
26
+ var _layerShape$scale;
27
+
28
+ var layerShape = layer.getAttribute('shape');
29
+
30
+ if (layerShape && (_layerShape$scale = layerShape.scale) !== null && _layerShape$scale !== void 0 && _layerShape$scale.field) {
31
+ var _layerShape$scale2;
32
+
33
+ if (((_layerShape$scale2 = layerShape.scale) === null || _layerShape$scale2 === void 0 ? void 0 : _layerShape$scale2.values) === 'text') {
34
+ return [layerShape.scale.field, layerShape.scale.values];
35
+ }
36
+
37
+ return layerShape.scale.field;
38
+ }
39
+
40
+ switch (layerType) {
41
+ case 'PolygonLayer':
42
+ return 'fill';
43
+
44
+ case 'LineLayer':
45
+ return 'tileline';
46
+
47
+ case 'PointLayer':
48
+ return 'circle';
49
+
50
+ case 'RasterLayer':
51
+ return 'image';
52
+
53
+ default:
54
+ return '';
55
+ }
56
+ }
57
+ export function getMaskValue(layerType, mask) {
58
+ switch (layerType) {
59
+ case 'PolygonLayer':
60
+ return true;
61
+
62
+ case 'LineLayer':
63
+ return true;
64
+
65
+ case 'PointLayer':
66
+ return false;
67
+
68
+ case 'RasterLayer':
69
+ return mask;
70
+
71
+ default:
72
+ return mask;
73
+ }
74
+ }
13
75
  export function getContainerSize(container) {
14
76
  if (container.getContext) {
15
77
  return {
@@ -19,4 +81,71 @@ export function getContainerSize(container) {
19
81
  } else {
20
82
  return container.getBoundingClientRect();
21
83
  }
84
+ }
85
+ export function isTileLoaded(tile) {
86
+ return tile.layerIDList.length === tile.loadedLayers;
87
+ }
88
+ export function isTileChildLoaded(tile) {
89
+ var children = tile.children;
90
+ return children.filter(function (child) {
91
+ return isTileLoaded(child);
92
+ }).length === children.length;
93
+ }
94
+ export function isTileParentLoaded(tile) {
95
+ var parent = tile.parent;
96
+
97
+ if (!parent) {
98
+ return true;
99
+ } else {
100
+ return isTileLoaded(parent);
101
+ }
102
+ }
103
+ export function tileAllLoad(tile, callback) {
104
+ var timer = window.setInterval(function () {
105
+ var tileLoaded = isTileLoaded(tile);
106
+ var tileChildLoaded = isTileChildLoaded(tile);
107
+ var tileParentLoaded = isTileParentLoaded(tile);
108
+
109
+ if (tileLoaded && tileChildLoaded && tileParentLoaded) {
110
+ callback();
111
+ window.clearInterval(timer);
112
+ }
113
+ }, 36);
114
+ }
115
+
116
+ function dispatchTileVisibleChange(tile, callback) {
117
+ if (tile.isVisible) {
118
+ callback();
119
+ } else {
120
+ tileAllLoad(tile, function () {
121
+ callback();
122
+ });
123
+ }
124
+ }
125
+
126
+ function updateImmediately(layers) {
127
+ var immediately = true;
128
+ layers.map(function (layer) {
129
+ if (layer.type !== 'PointLayer') {
130
+ immediately = false;
131
+ }
132
+ });
133
+ return immediately;
134
+ }
135
+
136
+ export function updateTileVisible(tile, layers, layerService) {
137
+ if (layers.length === 0) {
138
+ return;
139
+ }
140
+
141
+ if (updateImmediately(layers)) {
142
+ updateLayersConfig(layers, 'visible', tile.isVisible);
143
+ layerService.reRender();
144
+ return;
145
+ }
146
+
147
+ dispatchTileVisibleChange(tile, function () {
148
+ updateLayersConfig(layers, 'visible', tile.isVisible);
149
+ layerService.reRender();
150
+ });
22
151
  }
@@ -16,16 +16,16 @@ interface IConfigToUpdate {
16
16
  * @param configToUpdate
17
17
  * @param layer
18
18
  */
19
- declare function styleDataMapping(configToUpdate: IConfigToUpdate, layer: any): void;
19
+ declare function handleStyleDataMapping(configToUpdate: IConfigToUpdate, layer: any): void;
20
20
  /**
21
21
  * 根据传入参数 float 的类型和值做相应的操作
22
22
  */
23
- declare function floatStyleMapping(fieldName: string, layer: ILayer, styleFloat: any): void;
23
+ declare function handleStyleFloat(fieldName: string, layer: ILayer, styleFloat: any): void;
24
24
  /**
25
25
  * 根据传入参数 stroke / color 的类型和值做相应的操作
26
26
  * @param fieldName
27
27
  * @param layer
28
28
  * @param styleColor
29
29
  */
30
- declare function colorStyleMapping(fieldName: string, layer: ILayer, styleColor: any): void;
31
- export { styleDataMapping, floatStyleMapping, colorStyleMapping };
30
+ declare function handleStyleColor(fieldName: string, layer: ILayer, styleColor: any): void;
31
+ export { handleStyleDataMapping, handleStyleFloat, handleStyleColor };