@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,148 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
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 _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
6
+ import { TileSourceService } from "./TileSourceService";
7
+ var SELECT = 'select';
8
+ var ACTIVE = 'active';
9
+ export var TilePickService = /*#__PURE__*/function () {
10
+ function TilePickService(_ref) {
11
+ var layerService = _ref.layerService,
12
+ tileLayerService = _ref.tileLayerService;
13
+
14
+ _classCallCheck(this, TilePickService);
15
+
16
+ _defineProperty(this, "tilePickID", new Map());
17
+
18
+ this.layerService = layerService;
19
+ this.tileLayerService = tileLayerService;
20
+ this.tileSourceService = new TileSourceService();
21
+ }
22
+
23
+ _createClass(TilePickService, [{
24
+ key: "pickRender",
25
+ value: function pickRender(target) {
26
+ // 一个 TileLayer 有多个 Tile,但是会同时触发事件的只有一个 Tile
27
+ var tile = this.tileLayerService.getVisibleTileBylngLat(target.lngLat);
28
+
29
+ if (tile) {
30
+ // TODO 多图层拾取
31
+ var pickLayer = tile.getMainLayer();
32
+
33
+ if (pickLayer) {
34
+ pickLayer.layerPickService.pickRender(target);
35
+ }
36
+ }
37
+ }
38
+ }, {
39
+ key: "selectFeature",
40
+ value: function selectFeature(pickedColors) {
41
+ // @ts-ignore
42
+ var _pickedColors = _slicedToArray(pickedColors, 3),
43
+ r = _pickedColors[0],
44
+ g = _pickedColors[1],
45
+ b = _pickedColors[2];
46
+
47
+ var id = this.clor2PickId(r, g, b);
48
+ this.tilePickID.set(SELECT, id);
49
+ this.updateHighLight(r, g, b, SELECT);
50
+ }
51
+ }, {
52
+ key: "highlightPickedFeature",
53
+ value: function highlightPickedFeature(pickedColors) {
54
+ // @ts-ignore
55
+ var _pickedColors2 = _slicedToArray(pickedColors, 3),
56
+ r = _pickedColors2[0],
57
+ g = _pickedColors2[1],
58
+ b = _pickedColors2[2];
59
+
60
+ var id = this.clor2PickId(r, g, b);
61
+ this.tilePickID.set(ACTIVE, id);
62
+ this.updateHighLight(r, g, b, ACTIVE);
63
+ }
64
+ }, {
65
+ key: "updateHighLight",
66
+ value: function updateHighLight(r, g, b, type) {
67
+ this.tileLayerService.tiles.map(function (tile) {
68
+ var layers = tile.getLayers();
69
+ layers.forEach(function (layer) {
70
+ switch (type) {
71
+ case SELECT:
72
+ layer.hooks.beforeSelect.call([r, g, b]);
73
+ break;
74
+
75
+ case ACTIVE:
76
+ layer.hooks.beforeHighlight.call([r, g, b]);
77
+ break;
78
+ }
79
+ });
80
+ });
81
+ }
82
+ }, {
83
+ key: "setPickState",
84
+ value: function setPickState() {
85
+ var selectColor = this.tilePickID.get(SELECT);
86
+ var activeColor = this.tilePickID.get(ACTIVE);
87
+
88
+ if (selectColor) {
89
+ var _this$pickId2Color = this.pickId2Color(selectColor),
90
+ _this$pickId2Color2 = _slicedToArray(_this$pickId2Color, 3),
91
+ r = _this$pickId2Color2[0],
92
+ g = _this$pickId2Color2[1],
93
+ b = _this$pickId2Color2[2];
94
+
95
+ this.updateHighLight(r, g, b, SELECT);
96
+ return;
97
+ }
98
+
99
+ if (activeColor) {
100
+ var _this$pickId2Color3 = this.pickId2Color(activeColor),
101
+ _this$pickId2Color4 = _slicedToArray(_this$pickId2Color3, 3),
102
+ _r = _this$pickId2Color4[0],
103
+ _g = _this$pickId2Color4[1],
104
+ _b = _this$pickId2Color4[2];
105
+
106
+ this.updateHighLight(_r, _g, _b, ACTIVE);
107
+ return;
108
+ }
109
+ }
110
+ }, {
111
+ key: "clor2PickId",
112
+ value: function clor2PickId(r, g, b) {
113
+ return r + '-' + g + '-' + b;
114
+ }
115
+ }, {
116
+ key: "pickId2Color",
117
+ value: function pickId2Color(str) {
118
+ return str.split('-').map(function (n) {
119
+ return +n;
120
+ });
121
+ }
122
+ /** 从瓦片中根据数据 */
123
+
124
+ }, {
125
+ key: "getFeatureById",
126
+ value: function getFeatureById(pickedFeatureIdx) {
127
+ // 提取当前可见瓦片
128
+ var tiles = this.tileLayerService.getTiles().filter(function (tile) {
129
+ return tile.visible;
130
+ }); // 提取当前可见瓦片中匹配 ID 的 feature 列表
131
+
132
+ var features = [];
133
+ tiles.map(function (tile) {
134
+ features.push.apply(features, _toConsumableArray(tile.getFeatureById(pickedFeatureIdx)));
135
+ });
136
+
137
+ if (features.length <= 0) {
138
+ return null;
139
+ } // 将 feature 列表合并后返回
140
+ // 统一返回成 polygon 的格式 点、线、面可以通用
141
+
142
+
143
+ return this.tileSourceService.getCombineFeature(features);
144
+ }
145
+ }]);
146
+
147
+ return TilePickService;
148
+ }();
@@ -0,0 +1,7 @@
1
+ import { IParseDataItem } from '@antv/l7-core';
2
+ /**
3
+ * 专门处理 Tile 数据相关
4
+ */
5
+ export declare class TileSourceService {
6
+ getCombineFeature(features: IParseDataItem[]): any;
7
+ }
@@ -0,0 +1,39 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
4
+ import * as turf from '@turf/helpers';
5
+ import union from '@turf/union';
6
+ /**
7
+ * 专门处理 Tile 数据相关
8
+ */
9
+
10
+ export var TileSourceService = /*#__PURE__*/function () {
11
+ function TileSourceService() {
12
+ _classCallCheck(this, TileSourceService);
13
+ }
14
+
15
+ _createClass(TileSourceService, [{
16
+ key: "getCombineFeature",
17
+ value: function getCombineFeature(features) {
18
+ var p = null;
19
+ var properties = features[0];
20
+ features.map(function (feature) {
21
+ var polygon = turf.polygon(feature.coordinates);
22
+
23
+ if (p === null) {
24
+ p = polygon;
25
+ } else {
26
+ p = union(p, polygon);
27
+ }
28
+ });
29
+
30
+ if (properties) {
31
+ p.properties = _objectSpread({}, properties);
32
+ }
33
+
34
+ return p;
35
+ }
36
+ }]);
37
+
38
+ return TileSourceService;
39
+ }();
@@ -1,13 +1 @@
1
- /**
2
- * 瓦片图层的样式
3
- */
4
- export declare const Attributes: string[];
5
- export declare type IStyles = 'PointLayer' | 'LineLayer' | 'PolygonLayer' | 'RasterLayer' | 'MaskLayer' | 'TileDebugLayer';
6
- export declare const styles: {
7
- PointLayer: string[];
8
- LineLayer: string[];
9
- PolygonLayer: string[];
10
- RasterLayer: string[];
11
- MaskLayer: never[];
12
- TileDebugLayer: never[];
13
- };
1
+ export declare const ProxyFuncs: string[];
@@ -1,17 +1,8 @@
1
+ // TileLayer 需要代理的子图层的方法
2
+ // 一般都是在 BaseLayer 上的方法
3
+ export var ProxyFuncs = [
1
4
  /**
2
- * 瓦片图层的样式
5
+ * 1. 需要作用到所属子图层才会生效的方法
6
+ * 2. 不需要主动重新创建 model 的方法
3
7
  */
4
- export var Attributes = ['size', 'color', 'shape'];
5
- var common = ['opacity', 'zIndex'];
6
- var rasterLayer = ['mask', 'rampColors', 'domain', 'clampHigh', 'clampLow', 'pixelConstant', 'pixelConstantR', 'pixelConstantG', 'pixelConstantB', 'pixelConstantRGB'].concat(common);
7
- var pointLayer = ['stroke', 'strokeWidth', 'strokeOpacity', 'color', 'shape', 'size'].concat(common);
8
- var lineLayer = ['stroke', 'strokeWidth', 'strokeOpacity', 'color', 'shape', 'size'].concat(common);
9
- var polygonLayer = ['color', 'shape'].concat(common);
10
- export var styles = {
11
- 'PointLayer': pointLayer,
12
- 'LineLayer': lineLayer,
13
- 'PolygonLayer': polygonLayer,
14
- 'RasterLayer': rasterLayer,
15
- 'MaskLayer': [],
16
- 'TileDebugLayer': []
17
- };
8
+ 'shape', 'color', 'size', 'style', 'animate', 'filter', 'rotate', 'scale', 'setBlend', 'setSelect', 'setActive'];
@@ -1,9 +1,2 @@
1
- import { ILayer, IRendererService, ScaleAttributeType, IScaleValue } from '@antv/l7-core';
2
- import { IColorRamp } from '@antv/l7-utils';
3
- export declare function updateTexture(config: IColorRamp, layers: ILayer[], rendererService: IRendererService): import("@antv/l7-core").ITexture2D;
1
+ import { ILayer } from '@antv/l7-core';
4
2
  export declare function updateLayersConfig(layers: ILayer[], key: string, value: any): void;
5
- export declare function setStyleAttributeField(layer: ILayer, parent: ILayer, style: ScaleAttributeType, value: IScaleValue | undefined | string | string[]): ILayer | undefined;
6
- export declare function getDefaultStyleAttributeField(layer: ILayer, type: string, style: string): string | string[] | 1;
7
- export declare function getLayerShape(layerType: string, layer: ILayer): string | string[];
8
- export declare function parseScaleValue(value: IScaleValue | string, type: string): (string | number | any[])[] | (import("@antv/l7-core").StyleAttributeField | ((...args: any[]) => [] | undefined))[];
9
- export declare function setScale(layer: ILayer, parent: ILayer): void;
@@ -1,22 +1,4 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- import { generateColorRamp } from '@antv/l7-utils';
4
- export function updateTexture(config, layers, rendererService) {
5
- var createTexture2D = rendererService.createTexture2D;
6
- var imageData = generateColorRamp(config);
7
- var texture = createTexture2D({
8
- data: imageData.data,
9
- width: imageData.width,
10
- height: imageData.height,
11
- flipY: false
12
- });
13
- layers.map(function (layer) {
14
- layer.updateLayerConfig({
15
- colorTexture: texture
16
- });
17
- });
18
- return texture;
19
- }
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
20
2
  export function updateLayersConfig(layers, key, value) {
21
3
  layers.map(function (layer) {
22
4
  if (key === 'mask') {
@@ -28,112 +10,4 @@ export function updateLayersConfig(layers, key, value) {
28
10
  layer.updateLayerConfig(_defineProperty({}, key, value));
29
11
  }
30
12
  });
31
- }
32
- export function setStyleAttributeField(layer, parent, style, value) {
33
- if (Array.isArray(value)) {
34
- // @ts-ignore
35
- layer[style].apply(layer, _toConsumableArray(value));
36
- return;
37
- }
38
-
39
- if (typeof value === 'string') {
40
- layer[style](value);
41
- return;
42
- }
43
-
44
- var defaultValue = getDefaultStyleAttributeField(layer, parent.type, style);
45
-
46
- if (!value) {
47
- layer[style](defaultValue);
48
- return layer;
49
- }
50
-
51
- var params = parseScaleValue(value, style);
52
-
53
- if (params.length === 0) {
54
- layer[style](defaultValue);
55
- } else {
56
- // @ts-ignore
57
- layer[style].apply(layer, _toConsumableArray(params));
58
- }
59
- }
60
- export function getDefaultStyleAttributeField(layer, type, style) {
61
- switch (style) {
62
- case 'size':
63
- return 1;
64
-
65
- case 'color':
66
- return '#fff';
67
-
68
- case 'shape':
69
- return getLayerShape(type, layer);
70
-
71
- default:
72
- return '';
73
- }
74
- }
75
- export function getLayerShape(layerType, layer) {
76
- var _layerShape$scale;
77
-
78
- var layerShape = layer.getAttribute('shape');
79
-
80
- if (layerShape && (_layerShape$scale = layerShape.scale) !== null && _layerShape$scale !== void 0 && _layerShape$scale.field) {
81
- var _layerShape$scale2;
82
-
83
- if (((_layerShape$scale2 = layerShape.scale) === null || _layerShape$scale2 === void 0 ? void 0 : _layerShape$scale2.values) === 'text') {
84
- return [layerShape.scale.field, layerShape.scale.values];
85
- }
86
-
87
- return layerShape.scale.field;
88
- }
89
-
90
- switch (layerType) {
91
- case 'PolygonLayer':
92
- return 'fill';
93
-
94
- case 'LineLayer':
95
- return 'tileline';
96
-
97
- case 'PointLayer':
98
- return 'circle';
99
-
100
- case 'RasterLayer':
101
- return 'image';
102
-
103
- default:
104
- return '';
105
- }
106
- }
107
- export function parseScaleValue(value, type) {
108
- if (type === 'shape') {
109
- if (typeof value === 'string') {
110
- return [value];
111
- } else if (value !== null && value !== void 0 && value.field) {
112
- return [value === null || value === void 0 ? void 0 : value.field];
113
- } else {
114
- return [];
115
- }
116
- }
117
-
118
- var _ref = value,
119
- field = _ref.field,
120
- values = _ref.values,
121
- callback = _ref.callback;
122
-
123
- if (field && values && Array.isArray(values)) {
124
- return [field, values];
125
- } else if (field && callback) {
126
- return [field, callback];
127
- } else if (field) {
128
- return [field];
129
- }
130
-
131
- return [];
132
- }
133
- export function setScale(layer, parent) {
134
- var scaleOptions = parent.tileLayer.scaleField;
135
- var scaleKeys = Object.keys(scaleOptions);
136
- scaleKeys.map(function (key) {
137
- layer.scale(key, scaleOptions[key]);
138
- });
139
13
  }
@@ -0,0 +1,16 @@
1
+ import Tile from './Tile';
2
+ export default class DebugTile extends Tile {
3
+ initTileLayer(): Promise<void>;
4
+ protected getSourceOption(): {
5
+ data: {
6
+ type: string;
7
+ features: any;
8
+ };
9
+ options: {
10
+ parser: {
11
+ type: string;
12
+ };
13
+ transforms: import("@antv/l7-core").ITransform[];
14
+ };
15
+ };
16
+ }
@@ -0,0 +1,100 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
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 _regeneratorRuntime from "@babel/runtime/regenerator";
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 Tile from "./Tile";
14
+ import PointLayer from "../../point";
15
+ import LineLayer from "../../line";
16
+
17
+ var DebugTile = /*#__PURE__*/function (_Tile) {
18
+ _inherits(DebugTile, _Tile);
19
+
20
+ var _super = _createSuper(DebugTile);
21
+
22
+ function DebugTile() {
23
+ _classCallCheck(this, DebugTile);
24
+
25
+ return _super.apply(this, arguments);
26
+ }
27
+
28
+ _createClass(DebugTile, [{
29
+ key: "initTileLayer",
30
+ value: function () {
31
+ var _initTileLayer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
32
+ var sourceOptions, pointData, lineLayer, pointLayer;
33
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
34
+ while (1) {
35
+ switch (_context.prev = _context.next) {
36
+ case 0:
37
+ sourceOptions = this.getSourceOption();
38
+ pointData = sourceOptions.data.features[0].properties;
39
+ lineLayer = new LineLayer().source(sourceOptions.data, sourceOptions.options).size(1).shape('line').color('red');
40
+ pointLayer = new PointLayer({
41
+ minZoom: this.z - 1,
42
+ maxZoom: this.z + 1
43
+ }).source([pointData], {
44
+ parser: {
45
+ type: 'json',
46
+ x: 'textLng',
47
+ y: 'textLat'
48
+ }
49
+ }).size(20).color('red').shape(this.key).style({
50
+ stroke: '#fff',
51
+ strokeWidth: 2
52
+ });
53
+ _context.next = 6;
54
+ return this.addLayer(lineLayer);
55
+
56
+ case 6:
57
+ _context.next = 8;
58
+ return this.addLayer(pointLayer);
59
+
60
+ case 8:
61
+ this.isLoaded = true;
62
+
63
+ case 9:
64
+ case "end":
65
+ return _context.stop();
66
+ }
67
+ }
68
+ }, _callee, this);
69
+ }));
70
+
71
+ function initTileLayer() {
72
+ return _initTileLayer.apply(this, arguments);
73
+ }
74
+
75
+ return initTileLayer;
76
+ }()
77
+ }, {
78
+ key: "getSourceOption",
79
+ value: function getSourceOption() {
80
+ var rawSource = this.parent.getSource();
81
+ var features = this.sourceTile.data.layers['testTile'].features;
82
+ return {
83
+ data: {
84
+ type: 'FeatureCollection',
85
+ features: features
86
+ },
87
+ options: {
88
+ parser: {
89
+ type: 'geojson'
90
+ },
91
+ transforms: rawSource.transforms
92
+ }
93
+ };
94
+ }
95
+ }]);
96
+
97
+ return DebugTile;
98
+ }(Tile);
99
+
100
+ export { DebugTile as default };
@@ -0,0 +1,14 @@
1
+ import Tile from './Tile';
2
+ export default class ImageTile extends Tile {
3
+ initTileLayer(): Promise<void>;
4
+ protected getSourceOption(): {
5
+ data: any;
6
+ options: {
7
+ parser: {
8
+ type: string;
9
+ extent: import("@antv/l7-utils").TileBounds;
10
+ };
11
+ transforms: import("@antv/l7-core").ITransform[];
12
+ };
13
+ };
14
+ }
@@ -0,0 +1,89 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
4
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
5
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
6
+ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
7
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
8
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
9
+
10
+ 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); }; }
11
+
12
+ 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; } }
13
+
14
+ import ImageLayer from "../../image";
15
+ import Tile from "./Tile";
16
+
17
+ var ImageTile = /*#__PURE__*/function (_Tile) {
18
+ _inherits(ImageTile, _Tile);
19
+
20
+ var _super = _createSuper(ImageTile);
21
+
22
+ function ImageTile() {
23
+ _classCallCheck(this, ImageTile);
24
+
25
+ return _super.apply(this, arguments);
26
+ }
27
+
28
+ _createClass(ImageTile, [{
29
+ key: "initTileLayer",
30
+ value: function () {
31
+ var _initTileLayer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
32
+ var attributes, layerOptions, sourceOptions, layer;
33
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
34
+ while (1) {
35
+ switch (_context.prev = _context.next) {
36
+ case 0:
37
+ attributes = this.parent.getLayerAttributeConfig();
38
+ layerOptions = this.parent.getLayerConfig();
39
+ sourceOptions = this.getSourceOption();
40
+ layer = new ImageLayer(_objectSpread({}, layerOptions)).source(sourceOptions.data, sourceOptions.options); // 初始化数据映射
41
+
42
+ attributes && Object.keys(attributes).forEach(function (type) {
43
+ var _attributes$attr, _attributes$attr2;
44
+
45
+ var attr = type; // @ts-ignore
46
+
47
+ layer[attr]((_attributes$attr = attributes[attr]) === null || _attributes$attr === void 0 ? void 0 : _attributes$attr.field, (_attributes$attr2 = attributes[attr]) === null || _attributes$attr2 === void 0 ? void 0 : _attributes$attr2.values);
48
+ });
49
+ _context.next = 7;
50
+ return this.addLayer(layer);
51
+
52
+ case 7:
53
+ this.isLoaded = true;
54
+
55
+ case 8:
56
+ case "end":
57
+ return _context.stop();
58
+ }
59
+ }
60
+ }, _callee, this);
61
+ }));
62
+
63
+ function initTileLayer() {
64
+ return _initTileLayer.apply(this, arguments);
65
+ }
66
+
67
+ return initTileLayer;
68
+ }()
69
+ }, {
70
+ key: "getSourceOption",
71
+ value: function getSourceOption() {
72
+ var rawSource = this.parent.getSource();
73
+ return {
74
+ data: this.sourceTile.data,
75
+ options: {
76
+ parser: {
77
+ type: 'image',
78
+ extent: this.sourceTile.bounds
79
+ },
80
+ transforms: rawSource.transforms
81
+ }
82
+ };
83
+ }
84
+ }]);
85
+
86
+ return ImageTile;
87
+ }(Tile);
88
+
89
+ export { ImageTile as default };
@@ -0,0 +1,17 @@
1
+ import Tile from './Tile';
2
+ export default class MaskTile extends Tile {
3
+ initTileLayer(): Promise<void>;
4
+ protected getSourceOption(): {
5
+ data: {
6
+ type: string;
7
+ features: any;
8
+ };
9
+ options: {
10
+ parser: {
11
+ type: string;
12
+ featureId: string | undefined;
13
+ };
14
+ transforms: import("@antv/l7-core").ITransform[];
15
+ };
16
+ };
17
+ }