@antv/l7-layers 2.10.1 → 2.10.3

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 (374) hide show
  1. package/es/Geometry/index.d.ts +2 -3
  2. package/es/Geometry/index.js +34 -24
  3. package/es/Geometry/models/billboard.d.ts +2 -2
  4. package/es/Geometry/models/billboard.js +85 -45
  5. package/es/Geometry/models/plane.d.ts +2 -2
  6. package/es/Geometry/models/plane.js +89 -49
  7. package/es/Geometry/models/sprite.d.ts +2 -2
  8. package/es/Geometry/models/sprite.js +92 -54
  9. package/es/canvas/index.d.ts +3 -4
  10. package/es/canvas/index.js +42 -31
  11. package/es/canvas/models/canvas.d.ts +2 -2
  12. package/es/canvas/models/canvas.js +62 -23
  13. package/es/citybuliding/building.d.ts +2 -3
  14. package/es/citybuliding/building.js +33 -24
  15. package/es/citybuliding/models/build.d.ts +2 -2
  16. package/es/citybuliding/models/build.js +76 -31
  17. package/es/core/BaseLayer.d.ts +21 -18
  18. package/es/core/BaseLayer.js +407 -286
  19. package/es/core/BaseModel.d.ts +2 -2
  20. package/es/core/BaseModel.js +54 -13
  21. package/es/core/LayerPickService.d.ts +9 -0
  22. package/es/core/LayerPickService.js +85 -0
  23. package/es/core/shape/Path.js +1 -1
  24. package/es/core/shape/extrude.js +1 -1
  25. package/es/core/triangulation.js +10 -3
  26. package/es/earth/index.d.ts +3 -3
  27. package/es/earth/index.js +35 -16
  28. package/es/earth/models/atmosphere.d.ts +2 -2
  29. package/es/earth/models/atmosphere.js +72 -27
  30. package/es/earth/models/base.d.ts +2 -2
  31. package/es/earth/models/base.js +96 -50
  32. package/es/earth/models/bloomsphere.d.ts +2 -2
  33. package/es/earth/models/bloomsphere.js +72 -27
  34. package/es/earth/utils.js +1 -1
  35. package/es/heatmap/index.d.ts +2 -3
  36. package/es/heatmap/index.js +40 -29
  37. package/es/heatmap/models/grid.d.ts +2 -2
  38. package/es/heatmap/models/grid.js +73 -32
  39. package/es/heatmap/models/grid3d.d.ts +2 -2
  40. package/es/heatmap/models/grid3d.js +74 -33
  41. package/es/heatmap/models/heatmap.d.ts +2 -2
  42. package/es/heatmap/models/heatmap.js +48 -22
  43. package/es/heatmap/models/hexagon.d.ts +2 -2
  44. package/es/heatmap/models/hexagon.js +74 -33
  45. package/es/image/index.d.ts +2 -3
  46. package/es/image/index.js +34 -24
  47. package/es/image/models/dataImage.d.ts +2 -2
  48. package/es/image/models/dataImage.js +98 -59
  49. package/es/image/models/image.d.ts +2 -2
  50. package/es/image/models/image.js +113 -72
  51. package/es/image/models/tileDataImage.d.ts +2 -2
  52. package/es/image/models/tileDataImage.js +89 -48
  53. package/es/index.d.ts +2 -2
  54. package/es/index.js +2 -2
  55. package/es/line/index.d.ts +5 -4
  56. package/es/line/index.js +58 -32
  57. package/es/line/models/arc.d.ts +2 -2
  58. package/es/line/models/arc.js +80 -45
  59. package/es/line/models/arc_3d.d.ts +2 -2
  60. package/es/line/models/arc_3d.js +76 -41
  61. package/es/line/models/earthArc_3d.d.ts +2 -2
  62. package/es/line/models/earthArc_3d.js +79 -44
  63. package/es/line/models/great_circle.d.ts +2 -2
  64. package/es/line/models/great_circle.js +77 -36
  65. package/es/line/models/half.d.ts +2 -2
  66. package/es/line/models/half.js +46 -23
  67. package/es/line/models/index.d.ts +1 -1
  68. package/es/line/models/index.js +0 -2
  69. package/es/line/models/line.d.ts +2 -2
  70. package/es/line/models/line.js +86 -54
  71. package/es/line/models/linearline.d.ts +2 -2
  72. package/es/line/models/linearline.js +77 -38
  73. package/es/line/models/simpleLine.d.ts +2 -2
  74. package/es/line/models/simpleLine.js +76 -39
  75. package/es/line/models/simpleTileLine.d.ts +2 -2
  76. package/es/line/models/simpleTileLine.js +75 -35
  77. package/es/line/models/tile.d.ts +2 -2
  78. package/es/line/models/tile.js +46 -23
  79. package/es/line/models/wall.d.ts +2 -2
  80. package/es/line/models/wall.js +74 -29
  81. package/es/mask/index.d.ts +2 -4
  82. package/es/mask/index.js +34 -104
  83. package/es/mask/models/fill.d.ts +2 -2
  84. package/es/mask/models/fill.js +46 -22
  85. package/es/mask/models/index.d.ts +1 -1
  86. package/es/mask/models/index.js +1 -3
  87. package/es/plugins/DataMappingPlugin.d.ts +0 -2
  88. package/es/plugins/DataMappingPlugin.js +97 -156
  89. package/es/plugins/DataSourcePlugin.js +74 -27
  90. package/es/plugins/FeatureScalePlugin.d.ts +0 -1
  91. package/es/plugins/FeatureScalePlugin.js +89 -65
  92. package/es/plugins/LayerAnimateStylePlugin.js +9 -6
  93. package/es/plugins/LayerModelPlugin.d.ts +2 -2
  94. package/es/plugins/LayerModelPlugin.js +123 -39
  95. package/es/plugins/LayerStylePlugin.js +3 -8
  96. package/es/plugins/LightingPlugin.js +4 -4
  97. package/es/plugins/MultiPassRendererPlugin.js +3 -3
  98. package/es/plugins/PixelPickingPlugin.js +3 -3
  99. package/es/plugins/RegisterStyleAttributePlugin.js +6 -19
  100. package/es/plugins/ShaderUniformPlugin.js +13 -8
  101. package/es/plugins/UpdateModelPlugin.js +5 -2
  102. package/es/plugins/UpdateStyleAttributePlugin.js +9 -10
  103. package/es/point/index.d.ts +4 -4
  104. package/es/point/index.js +62 -30
  105. package/es/point/models/earthExtrude.d.ts +2 -2
  106. package/es/point/models/earthExtrude.js +80 -37
  107. package/es/point/models/earthFill.d.ts +2 -2
  108. package/es/point/models/earthFill.js +73 -28
  109. package/es/point/models/extrude.d.ts +2 -2
  110. package/es/point/models/extrude.js +48 -25
  111. package/es/point/models/fill.d.ts +2 -2
  112. package/es/point/models/fill.js +51 -28
  113. package/es/point/models/fillmage.d.ts +2 -2
  114. package/es/point/models/fillmage.js +90 -51
  115. package/es/point/models/image.d.ts +2 -2
  116. package/es/point/models/image.js +79 -38
  117. package/es/point/models/index.d.ts +1 -1
  118. package/es/point/models/index.js +0 -2
  119. package/es/point/models/normal.d.ts +2 -2
  120. package/es/point/models/normal.js +77 -36
  121. package/es/point/models/radar.d.ts +2 -2
  122. package/es/point/models/radar.js +83 -43
  123. package/es/point/models/simplePoint.d.ts +2 -2
  124. package/es/point/models/simplePoint.js +76 -35
  125. package/es/point/models/text.d.ts +3 -2
  126. package/es/point/models/text.js +192 -119
  127. package/es/point/models/tile.d.ts +2 -2
  128. package/es/point/models/tile.js +82 -40
  129. package/es/point/models/tileText.d.ts +2 -2
  130. package/es/point/models/tileText.js +160 -125
  131. package/es/point/shape/extrude.js +1 -1
  132. package/es/polygon/index.d.ts +2 -3
  133. package/es/polygon/index.js +34 -31
  134. package/es/polygon/models/extrude.d.ts +2 -2
  135. package/es/polygon/models/extrude.js +72 -35
  136. package/es/polygon/models/fill.d.ts +2 -2
  137. package/es/polygon/models/fill.js +81 -48
  138. package/es/polygon/models/index.d.ts +1 -1
  139. package/es/polygon/models/index.js +0 -2
  140. package/es/polygon/models/ocean.d.ts +2 -2
  141. package/es/polygon/models/ocean.js +75 -34
  142. package/es/polygon/models/tile.d.ts +2 -2
  143. package/es/polygon/models/tile.js +75 -35
  144. package/es/polygon/models/water.d.ts +2 -2
  145. package/es/polygon/models/water.js +75 -34
  146. package/es/raster/index.d.ts +3 -4
  147. package/es/raster/index.js +35 -29
  148. package/es/raster/models/index.d.ts +1 -1
  149. package/es/raster/models/index.js +1 -3
  150. package/es/raster/models/raster.d.ts +2 -2
  151. package/es/raster/models/raster.js +42 -19
  152. package/es/raster/models/rasterRgb.d.ts +2 -2
  153. package/es/raster/models/rasterRgb.js +44 -21
  154. package/es/raster/models/rasterTile.d.ts +2 -2
  155. package/es/raster/models/rasterTile.js +82 -41
  156. package/es/raster/raster.d.ts +1 -1
  157. package/es/raster/raster.js +51 -31
  158. package/es/tile/interaction/getRasterData.d.ts +2 -2
  159. package/es/tile/interaction/getRasterData.js +1 -1
  160. package/es/tile/interaction/utils.js +4 -12
  161. package/es/tile/interface.d.ts +5 -4
  162. package/es/tile/manager/base.d.ts +17 -12
  163. package/es/tile/manager/base.js +216 -51
  164. package/es/tile/service/TileLayerService.d.ts +33 -0
  165. package/es/tile/service/TileLayerService.js +172 -0
  166. package/es/tile/service/TilePickService.d.ts +22 -0
  167. package/es/tile/service/TilePickService.js +148 -0
  168. package/es/tile/service/TileSourceService.d.ts +7 -0
  169. package/es/tile/service/TileSourceService.js +39 -0
  170. package/es/tile/style/constants.d.ts +1 -13
  171. package/es/tile/style/constants.js +6 -15
  172. package/es/tile/style/utils.d.ts +1 -8
  173. package/es/tile/style/utils.js +1 -127
  174. package/es/tile/tileFactory/DebugTile.d.ts +16 -0
  175. package/es/tile/tileFactory/DebugTile.js +100 -0
  176. package/es/tile/tileFactory/ImageTile.d.ts +14 -0
  177. package/es/tile/tileFactory/ImageTile.js +89 -0
  178. package/es/tile/tileFactory/MaskTile.d.ts +17 -0
  179. package/es/tile/tileFactory/MaskTile.js +98 -0
  180. package/es/tile/tileFactory/RasterRGBTile.d.ts +16 -0
  181. package/es/tile/tileFactory/RasterRGBTile.js +91 -0
  182. package/es/tile/tileFactory/RasterTile.d.ts +27 -0
  183. package/es/tile/tileFactory/RasterTile.js +186 -0
  184. package/es/tile/tileFactory/Tile.d.ts +34 -0
  185. package/es/tile/tileFactory/Tile.js +199 -0
  186. package/es/tile/tileFactory/VectorTile.d.ts +20 -0
  187. package/es/tile/tileFactory/VectorTile.js +152 -0
  188. package/es/tile/tileFactory/index.d.ts +10 -4
  189. package/es/tile/tileFactory/index.js +30 -23
  190. package/es/tile/tileFactory/layers/{rasterDataLayer.d.ts → RasterDataLayer.d.ts} +3 -3
  191. package/es/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +40 -28
  192. package/es/tile/tileFactory/layers/{tileTest.d.ts → TileDebugLayer.d.ts} +2 -2
  193. package/es/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +30 -17
  194. package/es/tile/tileFactory/util.d.ts +6 -0
  195. package/es/tile/tileFactory/util.js +33 -0
  196. package/es/tile/tileLayer/BaseLayer.d.ts +46 -0
  197. package/es/tile/tileLayer/BaseLayer.js +358 -0
  198. package/es/tile/utils.d.ts +1 -11
  199. package/es/tile/utils.js +0 -127
  200. package/es/utils/blend.js +1 -1
  201. package/es/utils/collision-index.js +4 -4
  202. package/es/utils/dataMappingStyle.d.ts +4 -4
  203. package/es/utils/dataMappingStyle.js +19 -19
  204. package/es/utils/extrude_polyline.js +5 -5
  205. package/es/utils/grid-index.js +3 -3
  206. package/es/utils/layerData.js +5 -11
  207. package/es/utils/multiPassRender.js +1 -1
  208. package/es/utils/polylineNormal.js +1 -1
  209. package/es/utils/simpleLine.js +3 -3
  210. package/es/wind/index.d.ts +2 -3
  211. package/es/wind/index.js +34 -24
  212. package/es/wind/models/wind.d.ts +2 -2
  213. package/es/wind/models/wind.js +130 -111
  214. package/es/wind/models/windRender.js +3 -3
  215. package/lib/Geometry/index.js +29 -17
  216. package/lib/Geometry/models/billboard.js +79 -37
  217. package/lib/Geometry/models/plane.js +82 -40
  218. package/lib/Geometry/models/sprite.js +85 -45
  219. package/lib/canvas/index.js +37 -24
  220. package/lib/canvas/models/canvas.js +56 -15
  221. package/lib/citybuliding/building.js +28 -17
  222. package/lib/citybuliding/models/build.js +72 -25
  223. package/lib/core/BaseLayer.js +395 -269
  224. package/lib/core/BaseModel.js +48 -6
  225. package/lib/core/LayerPickService.js +96 -0
  226. package/lib/core/triangulation.js +8 -1
  227. package/lib/earth/index.js +30 -9
  228. package/lib/earth/models/atmosphere.js +69 -22
  229. package/lib/earth/models/base.js +90 -42
  230. package/lib/earth/models/bloomsphere.js +69 -22
  231. package/lib/heatmap/index.js +35 -22
  232. package/lib/heatmap/models/grid.js +70 -27
  233. package/lib/heatmap/models/grid3d.js +71 -28
  234. package/lib/heatmap/models/heatmap.js +40 -14
  235. package/lib/heatmap/models/hexagon.js +71 -28
  236. package/lib/image/index.js +29 -17
  237. package/lib/image/models/dataImage.js +95 -54
  238. package/lib/image/models/image.js +110 -67
  239. package/lib/image/models/tileDataImage.js +86 -43
  240. package/lib/index.js +5 -5
  241. package/lib/line/index.js +53 -26
  242. package/lib/line/models/arc.js +75 -38
  243. package/lib/line/models/arc_3d.js +71 -34
  244. package/lib/line/models/earthArc_3d.js +74 -37
  245. package/lib/line/models/great_circle.js +72 -29
  246. package/lib/line/models/half.js +40 -17
  247. package/lib/line/models/index.js +0 -3
  248. package/lib/line/models/line.js +81 -47
  249. package/lib/line/models/linearline.js +72 -31
  250. package/lib/line/models/simpleLine.js +73 -34
  251. package/lib/line/models/simpleTileLine.js +72 -30
  252. package/lib/line/models/tile.js +40 -17
  253. package/lib/line/models/wall.js +69 -22
  254. package/lib/mask/index.js +28 -99
  255. package/lib/mask/models/fill.js +40 -16
  256. package/lib/mask/models/index.js +1 -4
  257. package/lib/plugins/DataMappingPlugin.js +91 -146
  258. package/lib/plugins/DataSourcePlugin.js +79 -30
  259. package/lib/plugins/FeatureScalePlugin.js +87 -61
  260. package/lib/plugins/LayerAnimateStylePlugin.js +6 -3
  261. package/lib/plugins/LayerModelPlugin.js +128 -41
  262. package/lib/plugins/LayerStylePlugin.js +1 -6
  263. package/lib/plugins/MultiPassRendererPlugin.js +1 -1
  264. package/lib/plugins/PixelPickingPlugin.js +1 -1
  265. package/lib/plugins/RegisterStyleAttributePlugin.js +4 -17
  266. package/lib/plugins/ShaderUniformPlugin.js +7 -2
  267. package/lib/plugins/UpdateModelPlugin.js +3 -0
  268. package/lib/plugins/UpdateStyleAttributePlugin.js +7 -8
  269. package/lib/point/index.js +56 -24
  270. package/lib/point/models/earthExtrude.js +75 -30
  271. package/lib/point/models/earthFill.js +68 -21
  272. package/lib/point/models/extrude.js +40 -17
  273. package/lib/point/models/fill.js +44 -21
  274. package/lib/point/models/fillmage.js +84 -43
  275. package/lib/point/models/image.js +74 -31
  276. package/lib/point/models/index.js +0 -3
  277. package/lib/point/models/normal.js +73 -30
  278. package/lib/point/models/radar.js +77 -35
  279. package/lib/point/models/simplePoint.js +72 -29
  280. package/lib/point/models/text.js +183 -109
  281. package/lib/point/models/tile.js +79 -35
  282. package/lib/point/models/tileText.js +151 -115
  283. package/lib/polygon/index.js +29 -25
  284. package/lib/polygon/models/extrude.js +68 -29
  285. package/lib/polygon/models/fill.js +78 -43
  286. package/lib/polygon/models/index.js +0 -3
  287. package/lib/polygon/models/ocean.js +71 -28
  288. package/lib/polygon/models/tile.js +72 -30
  289. package/lib/polygon/models/water.js +71 -28
  290. package/lib/raster/index.js +30 -22
  291. package/lib/raster/models/index.js +1 -4
  292. package/lib/raster/models/raster.js +36 -13
  293. package/lib/raster/models/rasterRgb.js +36 -13
  294. package/lib/raster/models/rasterTile.js +79 -36
  295. package/lib/raster/raster.js +44 -22
  296. package/lib/tile/interaction/utils.js +3 -11
  297. package/lib/tile/manager/base.js +213 -47
  298. package/lib/tile/service/TileLayerService.js +185 -0
  299. package/lib/tile/service/TilePickService.js +162 -0
  300. package/lib/tile/service/TileSourceService.js +59 -0
  301. package/lib/tile/style/constants.js +8 -19
  302. package/lib/tile/style/utils.js +0 -140
  303. package/lib/tile/tileFactory/DebugTile.js +115 -0
  304. package/lib/tile/tileFactory/ImageTile.js +104 -0
  305. package/lib/tile/tileFactory/MaskTile.js +113 -0
  306. package/lib/tile/tileFactory/RasterRGBTile.js +106 -0
  307. package/lib/tile/tileFactory/RasterTile.js +205 -0
  308. package/lib/tile/tileFactory/Tile.js +210 -0
  309. package/lib/tile/tileFactory/VectorTile.js +167 -0
  310. package/lib/tile/tileFactory/index.js +42 -24
  311. package/lib/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +35 -21
  312. package/lib/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +24 -11
  313. package/lib/tile/tileFactory/util.js +48 -0
  314. package/lib/tile/tileLayer/BaseLayer.js +373 -0
  315. package/lib/tile/utils.js +0 -146
  316. package/lib/utils/dataMappingStyle.js +21 -21
  317. package/lib/utils/layerData.js +4 -10
  318. package/lib/wind/index.js +29 -17
  319. package/lib/wind/models/wind.js +125 -104
  320. package/package.json +7 -7
  321. package/es/tile/interaction/TilePickService.d.ts +0 -16
  322. package/es/tile/interaction/TilePickService.js +0 -129
  323. package/es/tile/manager/layerManager.d.ts +0 -19
  324. package/es/tile/manager/layerManager.js +0 -254
  325. package/es/tile/manager/mapLayerManager.d.ts +0 -7
  326. package/es/tile/manager/mapLayerManager.js +0 -119
  327. package/es/tile/models/tileModel.d.ts +0 -10
  328. package/es/tile/models/tileModel.js +0 -81
  329. package/es/tile/render/TileRenderService.d.ts +0 -10
  330. package/es/tile/render/TileRenderService.js +0 -68
  331. package/es/tile/style/TileStyleService.d.ts +0 -17
  332. package/es/tile/style/TileStyleService.js +0 -118
  333. package/es/tile/tileFactory/base.d.ts +0 -45
  334. package/es/tile/tileFactory/base.js +0 -403
  335. package/es/tile/tileFactory/layers/vectorLayer.d.ts +0 -30
  336. package/es/tile/tileFactory/layers/vectorLayer.js +0 -253
  337. package/es/tile/tileFactory/line.d.ts +0 -12
  338. package/es/tile/tileFactory/line.js +0 -59
  339. package/es/tile/tileFactory/mask.d.ts +0 -12
  340. package/es/tile/tileFactory/mask.js +0 -60
  341. package/es/tile/tileFactory/point.d.ts +0 -12
  342. package/es/tile/tileFactory/point.js +0 -60
  343. package/es/tile/tileFactory/polygon.d.ts +0 -12
  344. package/es/tile/tileFactory/polygon.js +0 -59
  345. package/es/tile/tileFactory/raster.d.ts +0 -12
  346. package/es/tile/tileFactory/raster.js +0 -55
  347. package/es/tile/tileFactory/rasterData.d.ts +0 -12
  348. package/es/tile/tileFactory/rasterData.js +0 -81
  349. package/es/tile/tileFactory/test.d.ts +0 -12
  350. package/es/tile/tileFactory/test.js +0 -94
  351. package/es/tile/tileLayer/MapTileLayer.d.ts +0 -6
  352. package/es/tile/tileLayer/MapTileLayer.js +0 -48
  353. package/es/tile/tileLayer/TileLayer.d.ts +0 -22
  354. package/es/tile/tileLayer/TileLayer.js +0 -198
  355. package/es/tile/tileLayer/base.d.ts +0 -33
  356. package/es/tile/tileLayer/base.js +0 -212
  357. package/lib/tile/interaction/TilePickService.js +0 -143
  358. package/lib/tile/manager/layerManager.js +0 -275
  359. package/lib/tile/manager/mapLayerManager.js +0 -134
  360. package/lib/tile/models/tileModel.js +0 -94
  361. package/lib/tile/render/TileRenderService.js +0 -78
  362. package/lib/tile/style/TileStyleService.js +0 -133
  363. package/lib/tile/tileFactory/base.js +0 -427
  364. package/lib/tile/tileFactory/layers/vectorLayer.js +0 -268
  365. package/lib/tile/tileFactory/line.js +0 -70
  366. package/lib/tile/tileFactory/mask.js +0 -71
  367. package/lib/tile/tileFactory/point.js +0 -71
  368. package/lib/tile/tileFactory/polygon.js +0 -70
  369. package/lib/tile/tileFactory/raster.js +0 -68
  370. package/lib/tile/tileFactory/rasterData.js +0 -93
  371. package/lib/tile/tileFactory/test.js +0 -106
  372. package/lib/tile/tileLayer/MapTileLayer.js +0 -63
  373. package/lib/tile/tileLayer/TileLayer.js +0 -215
  374. package/lib/tile/tileLayer/base.js +0 -225
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.TileLayerService = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
+
18
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
+
20
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
+
22
+ require("reflect-metadata");
23
+
24
+ var TileLayerService = /*#__PURE__*/function () {
25
+ /**
26
+ * tileResource 用于存储瓦片的全局资源
27
+ */
28
+ function TileLayerService(_ref) {
29
+ var rendererService = _ref.rendererService,
30
+ layerService = _ref.layerService,
31
+ parent = _ref.parent;
32
+ (0, _classCallCheck2.default)(this, TileLayerService);
33
+ (0, _defineProperty2.default)(this, "tileResource", new Map());
34
+ (0, _defineProperty2.default)(this, "_tiles", []);
35
+ this.rendererService = rendererService;
36
+ this.layerService = layerService;
37
+ this.parent = parent;
38
+ }
39
+
40
+ (0, _createClass2.default)(TileLayerService, [{
41
+ key: "tiles",
42
+ get: function get() {
43
+ return this._tiles;
44
+ }
45
+ }, {
46
+ key: "hasTile",
47
+ value: function hasTile(tileKey) {
48
+ return this._tiles.some(function (tile) {
49
+ return tile.key === tileKey;
50
+ });
51
+ }
52
+ }, {
53
+ key: "addTile",
54
+ value: function addTile(tile) {
55
+ this._tiles.push(tile);
56
+ }
57
+ }, {
58
+ key: "getTile",
59
+ value: function getTile(tileKey) {
60
+ return this._tiles.find(function (tile) {
61
+ return tile.key === tileKey;
62
+ });
63
+ }
64
+ }, {
65
+ key: "getVisibleTileBylngLat",
66
+ value: function getVisibleTileBylngLat(lngLat) {
67
+ // 加载完成 & 可见 & 鼠标选中
68
+ return this._tiles.find(function (tile) {
69
+ return tile.isLoaded && tile.visible && tile.lnglatInBounds(lngLat);
70
+ });
71
+ }
72
+ }, {
73
+ key: "removeTile",
74
+ value: function removeTile(tileKey) {
75
+ var index = this._tiles.findIndex(function (tile) {
76
+ return tile.key === tileKey;
77
+ });
78
+
79
+ var tile = this._tiles.splice(index, 1);
80
+
81
+ tile[0] && tile[0].destroy();
82
+ }
83
+ }, {
84
+ key: "updateTileVisible",
85
+ value: function updateTileVisible(sourceTile) {
86
+ var tile = this.getTile(sourceTile.key);
87
+ tile === null || tile === void 0 ? void 0 : tile.updateVisible(sourceTile.isVisible);
88
+ }
89
+ }, {
90
+ key: "beforeRender",
91
+ value: function beforeRender() {// TODO 统一处理状态更新 attribute style
92
+ }
93
+ }, {
94
+ key: "render",
95
+ value: function () {
96
+ var _render = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
97
+ var _this = this;
98
+
99
+ var layers;
100
+ return _regenerator.default.wrap(function _callee2$(_context2) {
101
+ while (1) {
102
+ switch (_context2.prev = _context2.next) {
103
+ case 0:
104
+ layers = this.getRenderLayers();
105
+ layers.map( /*#__PURE__*/function () {
106
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(layer) {
107
+ return _regenerator.default.wrap(function _callee$(_context) {
108
+ while (1) {
109
+ switch (_context.prev = _context.next) {
110
+ case 0:
111
+ _context.next = 2;
112
+ return _this.layerService.renderLayer(layer);
113
+
114
+ case 2:
115
+ case "end":
116
+ return _context.stop();
117
+ }
118
+ }
119
+ }, _callee);
120
+ }));
121
+
122
+ return function (_x) {
123
+ return _ref2.apply(this, arguments);
124
+ };
125
+ }());
126
+
127
+ case 2:
128
+ case "end":
129
+ return _context2.stop();
130
+ }
131
+ }
132
+ }, _callee2, this);
133
+ }));
134
+
135
+ function render() {
136
+ return _render.apply(this, arguments);
137
+ }
138
+
139
+ return render;
140
+ }()
141
+ }, {
142
+ key: "getRenderLayers",
143
+ value: function getRenderLayers() {
144
+ var tileList = this._tiles.filter(function (t) {
145
+ return t.visible && t.isLoaded;
146
+ });
147
+
148
+ var layers = [];
149
+ tileList.map(function (tile) {
150
+ return layers.push.apply(layers, (0, _toConsumableArray2.default)(tile.getLayers()));
151
+ });
152
+ return layers;
153
+ }
154
+ }, {
155
+ key: "getLayers",
156
+ value: function getLayers() {
157
+ var tileList = this._tiles.filter(function (t) {
158
+ return t.isLoaded;
159
+ });
160
+
161
+ var layers = [];
162
+ tileList.map(function (tile) {
163
+ return layers.push.apply(layers, (0, _toConsumableArray2.default)(tile.getLayers()));
164
+ });
165
+ return layers;
166
+ }
167
+ }, {
168
+ key: "getTiles",
169
+ value: function getTiles() {
170
+ return this._tiles;
171
+ }
172
+ }, {
173
+ key: "destroy",
174
+ value: function destroy() {
175
+ this._tiles.forEach(function (t) {
176
+ return t.destroy();
177
+ });
178
+
179
+ this.tileResource.clear();
180
+ }
181
+ }]);
182
+ return TileLayerService;
183
+ }();
184
+
185
+ exports.TileLayerService = TileLayerService;
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.TilePickService = void 0;
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
+
20
+ var _TileSourceService = require("./TileSourceService");
21
+
22
+ var SELECT = 'select';
23
+ var ACTIVE = 'active';
24
+
25
+ var TilePickService = /*#__PURE__*/function () {
26
+ function TilePickService(_ref) {
27
+ var layerService = _ref.layerService,
28
+ tileLayerService = _ref.tileLayerService;
29
+ (0, _classCallCheck2.default)(this, TilePickService);
30
+ (0, _defineProperty2.default)(this, "tilePickID", new Map());
31
+ this.layerService = layerService;
32
+ this.tileLayerService = tileLayerService;
33
+ this.tileSourceService = new _TileSourceService.TileSourceService();
34
+ }
35
+
36
+ (0, _createClass2.default)(TilePickService, [{
37
+ key: "pickRender",
38
+ value: function pickRender(target) {
39
+ // 一个 TileLayer 有多个 Tile,但是会同时触发事件的只有一个 Tile
40
+ var tile = this.tileLayerService.getVisibleTileBylngLat(target.lngLat);
41
+
42
+ if (tile) {
43
+ // TODO 多图层拾取
44
+ var pickLayer = tile.getMainLayer();
45
+
46
+ if (pickLayer) {
47
+ pickLayer.layerPickService.pickRender(target);
48
+ }
49
+ }
50
+ }
51
+ }, {
52
+ key: "selectFeature",
53
+ value: function selectFeature(pickedColors) {
54
+ // @ts-ignore
55
+ var _pickedColors = (0, _slicedToArray2.default)(pickedColors, 3),
56
+ r = _pickedColors[0],
57
+ g = _pickedColors[1],
58
+ b = _pickedColors[2];
59
+
60
+ var id = this.clor2PickId(r, g, b);
61
+ this.tilePickID.set(SELECT, id);
62
+ this.updateHighLight(r, g, b, SELECT);
63
+ }
64
+ }, {
65
+ key: "highlightPickedFeature",
66
+ value: function highlightPickedFeature(pickedColors) {
67
+ // @ts-ignore
68
+ var _pickedColors2 = (0, _slicedToArray2.default)(pickedColors, 3),
69
+ r = _pickedColors2[0],
70
+ g = _pickedColors2[1],
71
+ b = _pickedColors2[2];
72
+
73
+ var id = this.clor2PickId(r, g, b);
74
+ this.tilePickID.set(ACTIVE, id);
75
+ this.updateHighLight(r, g, b, ACTIVE);
76
+ }
77
+ }, {
78
+ key: "updateHighLight",
79
+ value: function updateHighLight(r, g, b, type) {
80
+ this.tileLayerService.tiles.map(function (tile) {
81
+ var layers = tile.getLayers();
82
+ layers.forEach(function (layer) {
83
+ switch (type) {
84
+ case SELECT:
85
+ layer.hooks.beforeSelect.call([r, g, b]);
86
+ break;
87
+
88
+ case ACTIVE:
89
+ layer.hooks.beforeHighlight.call([r, g, b]);
90
+ break;
91
+ }
92
+ });
93
+ });
94
+ }
95
+ }, {
96
+ key: "setPickState",
97
+ value: function setPickState() {
98
+ var selectColor = this.tilePickID.get(SELECT);
99
+ var activeColor = this.tilePickID.get(ACTIVE);
100
+
101
+ if (selectColor) {
102
+ var _this$pickId2Color = this.pickId2Color(selectColor),
103
+ _this$pickId2Color2 = (0, _slicedToArray2.default)(_this$pickId2Color, 3),
104
+ r = _this$pickId2Color2[0],
105
+ g = _this$pickId2Color2[1],
106
+ b = _this$pickId2Color2[2];
107
+
108
+ this.updateHighLight(r, g, b, SELECT);
109
+ return;
110
+ }
111
+
112
+ if (activeColor) {
113
+ var _this$pickId2Color3 = this.pickId2Color(activeColor),
114
+ _this$pickId2Color4 = (0, _slicedToArray2.default)(_this$pickId2Color3, 3),
115
+ _r = _this$pickId2Color4[0],
116
+ _g = _this$pickId2Color4[1],
117
+ _b = _this$pickId2Color4[2];
118
+
119
+ this.updateHighLight(_r, _g, _b, ACTIVE);
120
+ return;
121
+ }
122
+ }
123
+ }, {
124
+ key: "clor2PickId",
125
+ value: function clor2PickId(r, g, b) {
126
+ return r + '-' + g + '-' + b;
127
+ }
128
+ }, {
129
+ key: "pickId2Color",
130
+ value: function pickId2Color(str) {
131
+ return str.split('-').map(function (n) {
132
+ return +n;
133
+ });
134
+ }
135
+ /** 从瓦片中根据数据 */
136
+
137
+ }, {
138
+ key: "getFeatureById",
139
+ value: function getFeatureById(pickedFeatureIdx) {
140
+ // 提取当前可见瓦片
141
+ var tiles = this.tileLayerService.getTiles().filter(function (tile) {
142
+ return tile.visible;
143
+ }); // 提取当前可见瓦片中匹配 ID 的 feature 列表
144
+
145
+ var features = [];
146
+ tiles.map(function (tile) {
147
+ features.push.apply(features, (0, _toConsumableArray2.default)(tile.getFeatureById(pickedFeatureIdx)));
148
+ });
149
+
150
+ if (features.length <= 0) {
151
+ return null;
152
+ } // 将 feature 列表合并后返回
153
+ // 统一返回成 polygon 的格式 点、线、面可以通用
154
+
155
+
156
+ return this.tileSourceService.getCombineFeature(features);
157
+ }
158
+ }]);
159
+ return TilePickService;
160
+ }();
161
+
162
+ exports.TilePickService = TilePickService;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.TileSourceService = void 0;
11
+
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var turf = _interopRequireWildcard(require("@turf/helpers"));
19
+
20
+ var _union = _interopRequireDefault(require("@turf/union"));
21
+
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ /**
27
+ * 专门处理 Tile 数据相关
28
+ */
29
+ var TileSourceService = /*#__PURE__*/function () {
30
+ function TileSourceService() {
31
+ (0, _classCallCheck2.default)(this, TileSourceService);
32
+ }
33
+
34
+ (0, _createClass2.default)(TileSourceService, [{
35
+ key: "getCombineFeature",
36
+ value: function getCombineFeature(features) {
37
+ var p = null;
38
+ var properties = features[0];
39
+ features.map(function (feature) {
40
+ var polygon = turf.polygon(feature.coordinates);
41
+
42
+ if (p === null) {
43
+ p = polygon;
44
+ } else {
45
+ p = (0, _union.default)(p, polygon);
46
+ }
47
+ });
48
+
49
+ if (properties) {
50
+ p.properties = (0, _objectSpread2.default)({}, properties);
51
+ }
52
+
53
+ return p;
54
+ }
55
+ }]);
56
+ return TileSourceService;
57
+ }();
58
+
59
+ exports.TileSourceService = TileSourceService;
@@ -3,24 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.styles = exports.Attributes = void 0;
7
-
6
+ exports.ProxyFuncs = void 0;
7
+ // TileLayer 需要代理的子图层的方法
8
+ // 一般都是在 BaseLayer 上的方法
9
+ var ProxyFuncs = [
8
10
  /**
9
- * 瓦片图层的样式
11
+ * 1. 需要作用到所属子图层才会生效的方法
12
+ * 2. 不需要主动重新创建 model 的方法
10
13
  */
11
- var Attributes = ['size', 'color', 'shape'];
12
- exports.Attributes = Attributes;
13
- var common = ['opacity', 'zIndex'];
14
- var rasterLayer = ['mask', 'rampColors', 'domain', 'clampHigh', 'clampLow', 'pixelConstant', 'pixelConstantR', 'pixelConstantG', 'pixelConstantB', 'pixelConstantRGB'].concat(common);
15
- var pointLayer = ['stroke', 'strokeWidth', 'strokeOpacity', 'color', 'shape', 'size'].concat(common);
16
- var lineLayer = ['stroke', 'strokeWidth', 'strokeOpacity', 'color', 'shape', 'size'].concat(common);
17
- var polygonLayer = ['color', 'shape'].concat(common);
18
- var styles = {
19
- 'PointLayer': pointLayer,
20
- 'LineLayer': lineLayer,
21
- 'PolygonLayer': polygonLayer,
22
- 'RasterLayer': rasterLayer,
23
- 'MaskLayer': [],
24
- 'TileDebugLayer': []
25
- };
26
- exports.styles = styles;
14
+ 'shape', 'color', 'size', 'style', 'animate', 'filter', 'rotate', 'scale', 'setBlend', 'setSelect', 'setActive'];
15
+ exports.ProxyFuncs = ProxyFuncs;
@@ -5,37 +5,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.getDefaultStyleAttributeField = getDefaultStyleAttributeField;
9
- exports.getLayerShape = getLayerShape;
10
- exports.parseScaleValue = parseScaleValue;
11
- exports.setScale = setScale;
12
- exports.setStyleAttributeField = setStyleAttributeField;
13
8
  exports.updateLayersConfig = updateLayersConfig;
14
- exports.updateTexture = updateTexture;
15
-
16
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
9
 
18
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
11
 
20
- var _l7Utils = require("@antv/l7-utils");
21
-
22
- function updateTexture(config, layers, rendererService) {
23
- var createTexture2D = rendererService.createTexture2D;
24
- var imageData = (0, _l7Utils.generateColorRamp)(config);
25
- var texture = createTexture2D({
26
- data: imageData.data,
27
- width: imageData.width,
28
- height: imageData.height,
29
- flipY: false
30
- });
31
- layers.map(function (layer) {
32
- layer.updateLayerConfig({
33
- colorTexture: texture
34
- });
35
- });
36
- return texture;
37
- }
38
-
39
12
  function updateLayersConfig(layers, key, value) {
40
13
  layers.map(function (layer) {
41
14
  if (key === 'mask') {
@@ -47,117 +20,4 @@ function updateLayersConfig(layers, key, value) {
47
20
  layer.updateLayerConfig((0, _defineProperty2.default)({}, key, value));
48
21
  }
49
22
  });
50
- }
51
-
52
- function setStyleAttributeField(layer, parent, style, value) {
53
- if (Array.isArray(value)) {
54
- // @ts-ignore
55
- layer[style].apply(layer, (0, _toConsumableArray2.default)(value));
56
- return;
57
- }
58
-
59
- if (typeof value === 'string') {
60
- layer[style](value);
61
- return;
62
- }
63
-
64
- var defaultValue = getDefaultStyleAttributeField(layer, parent.type, style);
65
-
66
- if (!value) {
67
- layer[style](defaultValue);
68
- return layer;
69
- }
70
-
71
- var params = parseScaleValue(value, style);
72
-
73
- if (params.length === 0) {
74
- layer[style](defaultValue);
75
- } else {
76
- // @ts-ignore
77
- layer[style].apply(layer, (0, _toConsumableArray2.default)(params));
78
- }
79
- }
80
-
81
- function getDefaultStyleAttributeField(layer, type, style) {
82
- switch (style) {
83
- case 'size':
84
- return 1;
85
-
86
- case 'color':
87
- return '#fff';
88
-
89
- case 'shape':
90
- return getLayerShape(type, layer);
91
-
92
- default:
93
- return '';
94
- }
95
- }
96
-
97
- function getLayerShape(layerType, layer) {
98
- var _layerShape$scale;
99
-
100
- var layerShape = layer.getAttribute('shape');
101
-
102
- if (layerShape && (_layerShape$scale = layerShape.scale) !== null && _layerShape$scale !== void 0 && _layerShape$scale.field) {
103
- var _layerShape$scale2;
104
-
105
- if (((_layerShape$scale2 = layerShape.scale) === null || _layerShape$scale2 === void 0 ? void 0 : _layerShape$scale2.values) === 'text') {
106
- return [layerShape.scale.field, layerShape.scale.values];
107
- }
108
-
109
- return layerShape.scale.field;
110
- }
111
-
112
- switch (layerType) {
113
- case 'PolygonLayer':
114
- return 'fill';
115
-
116
- case 'LineLayer':
117
- return 'tileline';
118
-
119
- case 'PointLayer':
120
- return 'circle';
121
-
122
- case 'RasterLayer':
123
- return 'image';
124
-
125
- default:
126
- return '';
127
- }
128
- }
129
-
130
- function parseScaleValue(value, type) {
131
- if (type === 'shape') {
132
- if (typeof value === 'string') {
133
- return [value];
134
- } else if (value !== null && value !== void 0 && value.field) {
135
- return [value === null || value === void 0 ? void 0 : value.field];
136
- } else {
137
- return [];
138
- }
139
- }
140
-
141
- var _ref = value,
142
- field = _ref.field,
143
- values = _ref.values,
144
- callback = _ref.callback;
145
-
146
- if (field && values && Array.isArray(values)) {
147
- return [field, values];
148
- } else if (field && callback) {
149
- return [field, callback];
150
- } else if (field) {
151
- return [field];
152
- }
153
-
154
- return [];
155
- }
156
-
157
- function setScale(layer, parent) {
158
- var scaleOptions = parent.tileLayer.scaleField;
159
- var scaleKeys = Object.keys(scaleOptions);
160
- scaleKeys.map(function (key) {
161
- layer.scale(key, scaleOptions[key]);
162
- });
163
23
  }