@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,254 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
+ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
5
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
6
+
7
+ 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); }; }
8
+
9
+ 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; } }
10
+
11
+ import { Base } from "./base";
12
+ import { generateColorRamp } from '@antv/l7-utils';
13
+ import { getLayerShape, getMaskValue } from "../utils";
14
+ import { TileStyleService } from "../style/TileStyleService";
15
+ import { TilePickService } from "../interaction/TilePickService";
16
+ import { TileRenderService } from "../render/TileRenderService";
17
+ import { styles, Attributes } from "../style/constants";
18
+ import { updateTexture, updateLayersConfig, setStyleAttributeField } from "../style/utils";
19
+ export var TileLayerManager = /*#__PURE__*/function (_Base) {
20
+ _inherits(TileLayerManager, _Base);
21
+
22
+ var _super = _createSuper(TileLayerManager);
23
+
24
+ function TileLayerManager(parent, mapService, rendererService, pickingService, transforms) {
25
+ var _this;
26
+
27
+ _classCallCheck(this, TileLayerManager);
28
+
29
+ _this = _super.call(this);
30
+ _this.parent = parent;
31
+ _this.children = parent.layerChildren;
32
+ _this.mapService = mapService;
33
+ _this.rendererService = rendererService;
34
+ _this.transforms = transforms;
35
+ _this.tileRenderService = new TileRenderService(rendererService);
36
+ _this.tilePickService = new TilePickService(parent, rendererService, pickingService, _this.children, _this.tileRenderService);
37
+ _this.tileStyleService = new TileStyleService();
38
+
39
+ _this.setSubLayerInitOption();
40
+
41
+ _this.setConfigListener();
42
+
43
+ _this.initTileFactory();
44
+
45
+ return _this;
46
+ }
47
+
48
+ _createClass(TileLayerManager, [{
49
+ key: "render",
50
+ value: function render() {
51
+ this.tileStyleService.checkConfig(this.parent);
52
+ this.tileRenderService.render(this.children);
53
+ }
54
+ }, {
55
+ key: "pickLayers",
56
+ value: function pickLayers(target) {
57
+ return this.tilePickService.pick(this.children, target);
58
+ }
59
+ }, {
60
+ key: "setSubLayerInitOption",
61
+ value: function setSubLayerInitOption() {
62
+ var _source$data;
63
+
64
+ var _ref = this.parent.getLayerConfig(),
65
+ _ref$zIndex = _ref.zIndex,
66
+ zIndex = _ref$zIndex === void 0 ? 0 : _ref$zIndex,
67
+ _ref$opacity = _ref.opacity,
68
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
69
+ _ref$mask = _ref.mask,
70
+ mask = _ref$mask === void 0 ? false : _ref$mask,
71
+ _ref$stroke = _ref.stroke,
72
+ stroke = _ref$stroke === void 0 ? '#fff' : _ref$stroke,
73
+ _ref$strokeWidth = _ref.strokeWidth,
74
+ strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
75
+ _ref$strokeOpacity = _ref.strokeOpacity,
76
+ strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
77
+ _ref$clampLow = _ref.clampLow,
78
+ clampLow = _ref$clampLow === void 0 ? true : _ref$clampLow,
79
+ _ref$clampHigh = _ref.clampHigh,
80
+ clampHigh = _ref$clampHigh === void 0 ? true : _ref$clampHigh,
81
+ _ref$domain = _ref.domain,
82
+ domain = _ref$domain === void 0 ? [0, 1] : _ref$domain,
83
+ _ref$rampColors = _ref.rampColors,
84
+ rampColors = _ref$rampColors === void 0 ? {
85
+ colors: ['rgb(166,97,26)', 'rgb(223,194,125)', 'rgb(245,245,245)', 'rgb(128,205,193)', 'rgb(1,133,113)'],
86
+ positions: [0, 0.25, 0.5, 0.75, 1.0]
87
+ } : _ref$rampColors,
88
+ _ref$featureId = _ref.featureId,
89
+ featureId = _ref$featureId === void 0 ? 'id' : _ref$featureId,
90
+ _ref$workerEnabled = _ref.workerEnabled,
91
+ workerEnabled = _ref$workerEnabled === void 0 ? false : _ref$workerEnabled,
92
+ sourceLayer = _ref.sourceLayer,
93
+ _ref$pixelConstant = _ref.pixelConstant,
94
+ pixelConstant = _ref$pixelConstant === void 0 ? 0 : _ref$pixelConstant,
95
+ _ref$pixelConstantR = _ref.pixelConstantR,
96
+ pixelConstantR = _ref$pixelConstantR === void 0 ? 256 * 256 : _ref$pixelConstantR,
97
+ _ref$pixelConstantG = _ref.pixelConstantG,
98
+ pixelConstantG = _ref$pixelConstantG === void 0 ? 256 : _ref$pixelConstantG,
99
+ _ref$pixelConstantB = _ref.pixelConstantB,
100
+ pixelConstantB = _ref$pixelConstantB === void 0 ? 1 : _ref$pixelConstantB,
101
+ _ref$pixelConstantRGB = _ref.pixelConstantRGB,
102
+ pixelConstantRGB = _ref$pixelConstantRGB === void 0 ? 0.1 : _ref$pixelConstantRGB;
103
+
104
+ var colorValue = this.tileStyleService.getAttributeScale(this.parent, 'color');
105
+ var sizeValue = this.tileStyleService.getAttributeScale(this.parent, 'size');
106
+ var source = this.parent.getSource();
107
+
108
+ var _ref2 = (source === null || source === void 0 ? void 0 : (_source$data = source.data) === null || _source$data === void 0 ? void 0 : _source$data.tilesetOptions) || {},
109
+ coords = _ref2.coords;
110
+
111
+ var parentParserType = source.getParserType();
112
+ var layerShape = getLayerShape(this.parent.type, this.parent);
113
+ this.initOptions = {
114
+ layerType: this.parent.type,
115
+ transforms: this.transforms,
116
+ shape: layerShape,
117
+ zIndex: zIndex,
118
+ opacity: opacity,
119
+ sourceLayer: this.getSourceLayer(parentParserType, sourceLayer),
120
+ coords: coords,
121
+ featureId: featureId,
122
+ color: colorValue,
123
+ size: sizeValue,
124
+ mask: getMaskValue(this.parent.type, mask),
125
+ stroke: stroke,
126
+ strokeWidth: strokeWidth,
127
+ strokeOpacity: strokeOpacity,
128
+ // raster tiff
129
+ clampLow: clampLow,
130
+ clampHigh: clampHigh,
131
+ domain: domain,
132
+ rampColors: rampColors,
133
+ // worker
134
+ workerEnabled: workerEnabled,
135
+ pixelConstant: pixelConstant,
136
+ pixelConstantR: pixelConstantR,
137
+ pixelConstantG: pixelConstantG,
138
+ pixelConstantB: pixelConstantB,
139
+ pixelConstantRGB: pixelConstantRGB
140
+ };
141
+
142
+ if (rampColors) {
143
+ // 构建统一的色带贴图
144
+ var createTexture2D = this.rendererService.createTexture2D;
145
+ var imageData = generateColorRamp(rampColors);
146
+ var colorTexture = createTexture2D({
147
+ data: imageData.data,
148
+ width: imageData.width,
149
+ height: imageData.height,
150
+ flipY: false
151
+ });
152
+ this.initOptions.colorTexture = colorTexture;
153
+ }
154
+ }
155
+ }, {
156
+ key: "getInitOptionValue",
157
+ value: function getInitOptionValue(field) {
158
+ var _this$parent$getAttri, _this$parent$getAttri2, _this$parent$getAttri3;
159
+
160
+ switch (field) {
161
+ case 'color':
162
+ return (_this$parent$getAttri = this.parent.getAttribute('color')) === null || _this$parent$getAttri === void 0 ? void 0 : _this$parent$getAttri.scale;
163
+
164
+ case 'shape':
165
+ return (_this$parent$getAttri2 = this.parent.getAttribute('shape')) === null || _this$parent$getAttri2 === void 0 ? void 0 : _this$parent$getAttri2.scale;
166
+
167
+ case 'size':
168
+ return (_this$parent$getAttri3 = this.parent.getAttribute('size')) === null || _this$parent$getAttri3 === void 0 ? void 0 : _this$parent$getAttri3.scale;
169
+ // @ts-ignore
170
+
171
+ default:
172
+ return this.initOptions[field];
173
+ }
174
+ }
175
+ }, {
176
+ key: "setInitOptionValue",
177
+ value: function setInitOptionValue(field, value) {
178
+ // @ts-ignore
179
+ this.initOptions[field] = value;
180
+ }
181
+ }, {
182
+ key: "setConfigListener",
183
+ value: function setConfigListener() {
184
+ var _this2 = this;
185
+
186
+ var styleConfigs = styles[this.parent.type] || [];
187
+ styleConfigs.map(function (style) {
188
+ _this2.tileStyleService.setConfig(style, _this2.getInitOptionValue(style));
189
+ });
190
+ this.tileStyleService.on('updateConfig', function (updateConfigs) {
191
+ updateConfigs.map(function (key) {
192
+ return _this2.updateStyle(key);
193
+ });
194
+ });
195
+ }
196
+ }, {
197
+ key: "updateAttribute",
198
+ value: function updateAttribute(style) {
199
+ var _this3 = this;
200
+
201
+ if (Attributes.includes(style)) {
202
+ var _this$parent$getAttri4;
203
+
204
+ var scaleValue = (_this$parent$getAttri4 = this.parent.getAttribute(style)) === null || _this$parent$getAttri4 === void 0 ? void 0 : _this$parent$getAttri4.scale;
205
+
206
+ if (!scaleValue) {
207
+ return;
208
+ }
209
+
210
+ this.children.map(function (child) {
211
+ return setStyleAttributeField(child, _this3.parent, style, scaleValue);
212
+ });
213
+ }
214
+ }
215
+ }, {
216
+ key: "updateStyle",
217
+ value: function updateStyle(style) {
218
+ var updateValue = null;
219
+
220
+ if (Attributes.includes(style)) {
221
+ this.updateAttribute(style);
222
+ } else {
223
+ var layerConfig = this.parent.getLayerConfig();
224
+
225
+ if (!(style in layerConfig)) {
226
+ return;
227
+ } // @ts-ignore
228
+
229
+
230
+ var config = layerConfig[style];
231
+ updateValue = config;
232
+
233
+ switch (style) {
234
+ case 'rampColors':
235
+ var texture = updateTexture(config, this.children, this.rendererService);
236
+ this.initOptions.colorTexture = texture;
237
+ break;
238
+
239
+ default:
240
+ updateLayersConfig(this.children, style, config);
241
+ }
242
+ }
243
+
244
+ this.setInitOptionValue(style, updateValue);
245
+ }
246
+ }, {
247
+ key: "destroy",
248
+ value: function destroy() {
249
+ this.tilePickService.destroy();
250
+ }
251
+ }]);
252
+
253
+ return TileLayerManager;
254
+ }(Base);
@@ -0,0 +1,7 @@
1
+ import { ILayer, IMapService, IRendererService, IBaseTileLayerManager } from '@antv/l7-core';
2
+ import { Base } from './base';
3
+ export declare class BaseMapTileLayerManager extends Base implements IBaseTileLayerManager {
4
+ constructor(parent: ILayer, mapService: IMapService, rendererService: IRendererService);
5
+ render(): void;
6
+ private setSubLayerInitOption;
7
+ }
@@ -0,0 +1,119 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
+ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
5
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
6
+
7
+ 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); }; }
8
+
9
+ 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; } }
10
+
11
+ import { Base } from "./base";
12
+ import { getLayerShape, getMaskValue } from "../utils";
13
+ export var BaseMapTileLayerManager = /*#__PURE__*/function (_Base) {
14
+ _inherits(BaseMapTileLayerManager, _Base);
15
+
16
+ var _super = _createSuper(BaseMapTileLayerManager);
17
+
18
+ // only support vector layer
19
+ function BaseMapTileLayerManager(parent, mapService, rendererService) {
20
+ var _this;
21
+
22
+ _classCallCheck(this, BaseMapTileLayerManager);
23
+
24
+ _this = _super.call(this);
25
+ _this.parent = parent;
26
+ _this.children = parent.layerChildren;
27
+ _this.mapService = mapService;
28
+ _this.rendererService = rendererService;
29
+
30
+ _this.setSubLayerInitOption();
31
+
32
+ _this.initTileFactory();
33
+
34
+ return _this;
35
+ }
36
+
37
+ _createClass(BaseMapTileLayerManager, [{
38
+ key: "render",
39
+ value: function render() {
40
+ var _this2 = this;
41
+
42
+ this.children.filter(function (layer) {
43
+ return layer.inited;
44
+ }).filter(function (layer) {
45
+ return layer.isVisible();
46
+ }).map(function (layer) {
47
+ layer.hooks.beforeRenderData.call();
48
+ layer.hooks.beforeRender.call();
49
+
50
+ if (layer.masks.length > 0) {
51
+ // 清除上一次的模版缓存
52
+ _this2.rendererService.clear({
53
+ stencil: 0,
54
+ depth: 1,
55
+ framebuffer: null
56
+ });
57
+
58
+ layer.masks.map(function (m) {
59
+ m.hooks.beforeRenderData.call();
60
+ m.hooks.beforeRender.call();
61
+ m.render();
62
+ m.hooks.afterRender.call();
63
+ });
64
+ }
65
+
66
+ layer.render();
67
+ layer.hooks.afterRender.call();
68
+ });
69
+ }
70
+ }, {
71
+ key: "setSubLayerInitOption",
72
+ value: function setSubLayerInitOption() {
73
+ var _colorAttribute$scale, _sizeAttribute$scale;
74
+
75
+ var _ref = this.parent.getLayerConfig(),
76
+ _ref$zIndex = _ref.zIndex,
77
+ zIndex = _ref$zIndex === void 0 ? 0 : _ref$zIndex,
78
+ _ref$opacity = _ref.opacity,
79
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
80
+ _ref$mask = _ref.mask,
81
+ mask = _ref$mask === void 0 ? false : _ref$mask,
82
+ _ref$stroke = _ref.stroke,
83
+ stroke = _ref$stroke === void 0 ? '#fff' : _ref$stroke,
84
+ _ref$strokeWidth = _ref.strokeWidth,
85
+ strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
86
+ _ref$strokeOpacity = _ref.strokeOpacity,
87
+ strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
88
+ _ref$workerEnabled = _ref.workerEnabled,
89
+ workerEnabled = _ref$workerEnabled === void 0 ? false : _ref$workerEnabled,
90
+ sourceLayer = _ref.sourceLayer;
91
+
92
+ var source = this.parent.getSource();
93
+ var parentParserType = source.getParserType();
94
+ var colorAttribute = this.parent.getAttribute('color');
95
+ var basemapColor = (colorAttribute === null || colorAttribute === void 0 ? void 0 : (_colorAttribute$scale = colorAttribute.scale) === null || _colorAttribute$scale === void 0 ? void 0 : _colorAttribute$scale.field) || '#fff';
96
+ var sizeAttribute = this.parent.getAttribute('size');
97
+ var basemapSize = (sizeAttribute === null || sizeAttribute === void 0 ? void 0 : (_sizeAttribute$scale = sizeAttribute.scale) === null || _sizeAttribute$scale === void 0 ? void 0 : _sizeAttribute$scale.field) || 1;
98
+ var layerShape = getLayerShape(this.parent.type, this.parent);
99
+ this.initOptions = {
100
+ usage: 'basemap',
101
+ layerType: this.parent.type,
102
+ shape: layerShape,
103
+ zIndex: zIndex,
104
+ opacity: opacity,
105
+ sourceLayer: this.getSourceLayer(parentParserType, sourceLayer),
106
+ basemapColor: basemapColor,
107
+ basemapSize: basemapSize,
108
+ mask: getMaskValue(this.parent.type, mask),
109
+ stroke: stroke,
110
+ strokeWidth: strokeWidth,
111
+ strokeOpacity: strokeOpacity,
112
+ // worker
113
+ workerEnabled: workerEnabled
114
+ };
115
+ }
116
+ }]);
117
+
118
+ return BaseMapTileLayerManager;
119
+ }(Base);
@@ -0,0 +1,10 @@
1
+ import { IModelUniform } from '@antv/l7-core';
2
+ import BaseModel from '../../core/BaseModel';
3
+ export default class TileModel extends BaseModel {
4
+ getUninforms(): IModelUniform;
5
+ private getTileLayer;
6
+ initModels(): never[];
7
+ clearModels(): void;
8
+ buildModels(): never[];
9
+ protected registerBuiltinAttributes(): void;
10
+ }
@@ -0,0 +1,81 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
+ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
5
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
6
+
7
+ 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); }; }
8
+
9
+ 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; } }
10
+
11
+ import BaseModel from "../../core/BaseModel";
12
+ import { TileLayer } from "../tileLayer/TileLayer";
13
+ import { MapTileLayer } from "../tileLayer/MapTileLayer";
14
+
15
+ var TileModel = /*#__PURE__*/function (_BaseModel) {
16
+ _inherits(TileModel, _BaseModel);
17
+
18
+ var _super = _createSuper(TileModel);
19
+
20
+ function TileModel() {
21
+ _classCallCheck(this, TileModel);
22
+
23
+ return _super.apply(this, arguments);
24
+ }
25
+
26
+ _createClass(TileModel, [{
27
+ key: "getUninforms",
28
+ value: function getUninforms() {
29
+ return {};
30
+ }
31
+ }, {
32
+ key: "getTileLayer",
33
+ value: function getTileLayer(usage) {
34
+ switch (usage) {
35
+ case 'basemap':
36
+ return MapTileLayer;
37
+
38
+ default:
39
+ return TileLayer;
40
+ }
41
+ }
42
+ }, {
43
+ key: "initModels",
44
+ value: function initModels() {
45
+ var source = this.layer.getSource();
46
+
47
+ var _this$layer$getLayerC = this.layer.getLayerConfig(),
48
+ usage = _this$layer$getLayerC.usage;
49
+
50
+ if (source !== null && source !== void 0 && source.data.isTile && !this.layer.tileLayer) {
51
+ var tileLayer = this.getTileLayer(usage);
52
+ this.layer.tileLayer = new tileLayer({
53
+ parent: this.layer,
54
+ rendererService: this.rendererService,
55
+ mapService: this.mapService,
56
+ layerService: this.layerService,
57
+ pickingService: this.pickingService,
58
+ transforms: source.transforms
59
+ });
60
+ }
61
+
62
+ return this.buildModels();
63
+ }
64
+ }, {
65
+ key: "clearModels",
66
+ value: function clearModels() {}
67
+ }, {
68
+ key: "buildModels",
69
+ value: function buildModels() {
70
+ return [];
71
+ }
72
+ }, {
73
+ key: "registerBuiltinAttributes",
74
+ value: function registerBuiltinAttributes() {//
75
+ }
76
+ }]);
77
+
78
+ return TileModel;
79
+ }(BaseModel);
80
+
81
+ export { TileModel as default };
@@ -0,0 +1,10 @@
1
+ import { ILayer, IRendererService, ITileRenderService } from '@antv/l7-core';
2
+ /**
3
+ * 主要用于瓦片图层队列的渲染
4
+ */
5
+ export declare class TileRenderService implements ITileRenderService {
6
+ private rendererService;
7
+ constructor(rendererService: IRendererService);
8
+ render(layers: ILayer[]): void;
9
+ renderMask(layer: ILayer): void;
10
+ }
@@ -0,0 +1,68 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+
4
+ /**
5
+ * 主要用于瓦片图层队列的渲染
6
+ */
7
+ export var TileRenderService = /*#__PURE__*/function () {
8
+ function TileRenderService(rendererService) {
9
+ _classCallCheck(this, TileRenderService);
10
+
11
+ this.rendererService = rendererService;
12
+ }
13
+
14
+ _createClass(TileRenderService, [{
15
+ key: "render",
16
+ value: function render(layers) {
17
+ var _this = this;
18
+
19
+ layers.filter(function (layer) {
20
+ return layer.inited;
21
+ }).filter(function (layer) {
22
+ return layer.isVisible();
23
+ }).map(function (layer) {
24
+ layer.hooks.beforeRenderData.call();
25
+ layer.hooks.beforeRender.call();
26
+
27
+ if (layer.masks.length > 0) {
28
+ // 清除上一次的模版缓存
29
+ _this.rendererService.clear({
30
+ stencil: 0,
31
+ depth: 1,
32
+ framebuffer: null
33
+ });
34
+
35
+ layer.masks.map(function (m) {
36
+ m.hooks.beforeRenderData.call();
37
+ m.hooks.beforeRender.call();
38
+ m.render();
39
+ m.hooks.afterRender.call();
40
+ });
41
+ }
42
+
43
+ layer.render();
44
+ layer.hooks.afterRender.call();
45
+ });
46
+ }
47
+ }, {
48
+ key: "renderMask",
49
+ value: function renderMask(layer) {
50
+ if (layer.inited && layer.isVisible() && layer.masks.length > 0) {
51
+ layer.hooks.beforeRender.call();
52
+ this.rendererService.clear({
53
+ stencil: 0,
54
+ depth: 1,
55
+ framebuffer: null
56
+ });
57
+ layer.masks.map(function (m) {
58
+ m.hooks.beforeRender.call();
59
+ m.render();
60
+ m.hooks.afterRender.call();
61
+ });
62
+ layer.hooks.afterRender.call();
63
+ }
64
+ }
65
+ }]);
66
+
67
+ return TileRenderService;
68
+ }();
@@ -0,0 +1,17 @@
1
+ import { ILayer, IScaleValue } from '@antv/l7-core';
2
+ import EventEmitter from 'eventemitter3';
3
+ export interface ITileStyleService {
4
+ setConfig(key: string, value: any): void;
5
+ checkConfig(layer: ILayer): void;
6
+ on(event: string, fn: (...args: any[]) => void): void;
7
+ getAttributeScale(layer: ILayer, name: string): IScaleValue;
8
+ }
9
+ export declare class TileStyleService extends EventEmitter {
10
+ cacheConfig: Map<string, any>;
11
+ checkConfigList: string[];
12
+ constructor();
13
+ setConfig(key: string, value: any): void;
14
+ removeConfig(key: string): void;
15
+ checkConfig(layer: ILayer): void;
16
+ getAttributeScale(layer: ILayer, name: string): IScaleValue;
17
+ }
@@ -0,0 +1,118 @@
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
+ import { isEqual } from 'lodash';
15
+ export var TileStyleService = /*#__PURE__*/function (_EventEmitter) {
16
+ _inherits(TileStyleService, _EventEmitter);
17
+
18
+ var _super = _createSuper(TileStyleService);
19
+
20
+ function TileStyleService() {
21
+ var _this;
22
+
23
+ _classCallCheck(this, TileStyleService);
24
+
25
+ _this = _super.call(this);
26
+
27
+ _defineProperty(_assertThisInitialized(_this), "checkConfigList", []);
28
+
29
+ _this.cacheConfig = new Map();
30
+ return _this;
31
+ }
32
+
33
+ _createClass(TileStyleService, [{
34
+ key: "setConfig",
35
+ value: function setConfig(key, value) {
36
+ if (!this.checkConfigList.includes(key)) {
37
+ this.checkConfigList.push(key);
38
+ }
39
+
40
+ this.cacheConfig.set(key, value);
41
+ }
42
+ }, {
43
+ key: "removeConfig",
44
+ value: function removeConfig(key) {
45
+ var configIndex = this.checkConfigList.indexOf(key);
46
+
47
+ if (configIndex > -1) {
48
+ this.cacheConfig.delete(key);
49
+ this.checkConfigList.splice(configIndex, 1);
50
+ }
51
+ }
52
+ }, {
53
+ key: "checkConfig",
54
+ value: function checkConfig(layer) {
55
+ var _this2 = this;
56
+
57
+ if (!layer.inited) {
58
+ return;
59
+ }
60
+
61
+ var layerConfig = layer.getLayerConfig();
62
+ var updateConfigs = [];
63
+ this.checkConfigList.map(function (key) {
64
+ var cacheConfig = _this2.cacheConfig.get(key);
65
+
66
+ var currentConfig;
67
+
68
+ if (['color', 'size', 'shape'].includes(key)) {
69
+ var _layer$getAttribute;
70
+
71
+ currentConfig = (_layer$getAttribute = layer.getAttribute(key)) === null || _layer$getAttribute === void 0 ? void 0 : _layer$getAttribute.scale;
72
+ } else {
73
+ if (!(key in layerConfig)) {
74
+ return;
75
+ } // @ts-ignore
76
+
77
+
78
+ currentConfig = layerConfig[key];
79
+ }
80
+
81
+ if (!isEqual(cacheConfig, currentConfig)) {
82
+ updateConfigs.push(key);
83
+
84
+ _this2.setConfig(key, currentConfig);
85
+ }
86
+ });
87
+
88
+ if (updateConfigs.length > 0) {
89
+ console.warn('tile config cache update!', updateConfigs);
90
+ this.emit('updateConfig', updateConfigs);
91
+ }
92
+ }
93
+ }, {
94
+ key: "getAttributeScale",
95
+ value: function getAttributeScale(layer, name) {
96
+ var attribute = layer.getAttribute(name);
97
+ var scaleValue = {
98
+ field: undefined,
99
+ values: undefined,
100
+ callback: undefined
101
+ };
102
+
103
+ if (attribute && attribute.scale) {
104
+ var _attribute$scale = attribute.scale,
105
+ field = _attribute$scale.field,
106
+ values = _attribute$scale.values,
107
+ callback = _attribute$scale.callback;
108
+ scaleValue.field = field;
109
+ scaleValue.values = values;
110
+ scaleValue.callback = callback;
111
+ }
112
+
113
+ return scaleValue;
114
+ }
115
+ }]);
116
+
117
+ return TileStyleService;
118
+ }(EventEmitter);