@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
@@ -1 +1,13 @@
1
- export declare const ProxyFuncs: string[];
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,8 +1,17 @@
1
- // TileLayer 需要代理的子图层的方法
2
- // 一般都是在 BaseLayer 上的方法
3
- export var ProxyFuncs = [
4
1
  /**
5
- * 1. 需要作用到所属子图层才会生效的方法
6
- * 2. 不需要主动重新创建 model 的方法
2
+ * 瓦片图层的样式
7
3
  */
8
- 'shape', 'color', 'size', 'style', 'animate', 'filter', 'rotate', 'scale', 'setBlend', 'setSelect', 'setActive'];
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
+ };
@@ -1,2 +1,9 @@
1
- import { ILayer } from '@antv/l7-core';
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;
2
4
  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,4 +1,22 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
1
2
  import _defineProperty from "@babel/runtime/helpers/esm/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
+ }
2
20
  export function updateLayersConfig(layers, key, value) {
3
21
  layers.map(function (layer) {
4
22
  if (key === 'mask') {
@@ -10,4 +28,112 @@ export function updateLayersConfig(layers, key, value) {
10
28
  layer.updateLayerConfig(_defineProperty({}, key, value));
11
29
  }
12
30
  });
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
+ });
13
139
  }
@@ -0,0 +1,45 @@
1
+ import { ILayer, IMapService, IParseDataItem, IRendererService, ISubLayerInitOptions } from '@antv/l7-core';
2
+ import Source from '@antv/l7-source';
3
+ import { Tile, TilesetManager } from '@antv/l7-utils';
4
+ import { ILayerTileConfig, ITileFactory, ITileFactoryOptions, ITileStyles, Timeout } from '../interface';
5
+ export default class TileFactory implements ITileFactory {
6
+ type: string;
7
+ parentLayer: ILayer;
8
+ mapService: IMapService;
9
+ rendererService: IRendererService;
10
+ outSideEventTimer: Timeout | null;
11
+ protected zoomOffset: number;
12
+ protected tilesetManager: TilesetManager;
13
+ protected layers: ILayer[];
14
+ private eventCache;
15
+ constructor(option: ITileFactoryOptions);
16
+ createTile(tile: Tile, initOptions: ISubLayerInitOptions): {
17
+ layers: ILayer[];
18
+ layerIDList: string[];
19
+ };
20
+ getFeatureData(tile: Tile, initOptions: ISubLayerInitOptions): {
21
+ features: never[];
22
+ featureId: null;
23
+ vectorTileLayer: null;
24
+ source: null;
25
+ } | {
26
+ features: any[];
27
+ featureId: string | undefined;
28
+ vectorTileLayer: any;
29
+ source: Source;
30
+ };
31
+ createLayer(tileLayerOption: ILayerTileConfig): any;
32
+ updateStyle(styles: ITileStyles): string;
33
+ protected getTile(lng: number, lat: number): Tile;
34
+ private bindVectorEvent;
35
+ private readRasterTile;
36
+ private bindRasterEvent;
37
+ private bindCommonEvent;
38
+ protected emitEvent(layers: ILayer[]): void;
39
+ protected emitRasterEvent(layers: ILayer[]): void;
40
+ protected getCombineFeature(features: IParseDataItem[]): any;
41
+ protected getFeatureAndEmitEvent(eventName: string, e: any): void;
42
+ private getAllFeatures;
43
+ private getLayerInitOption;
44
+ private handleOutsideEvent;
45
+ }
@@ -0,0 +1,403 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
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 Source from '@antv/l7-source';
7
+ import { setStyleAttributeField, setScale } from "../style/utils";
8
+ import { registerLayers } from "../utils";
9
+ import { readRasterValue } from "../interaction/getRasterData";
10
+ import VectorLayer from "./layers/vectorLayer";
11
+ import * as turf from '@turf/helpers';
12
+ import union from '@turf/union';
13
+ import clone from '@turf/clone';
14
+ import polygonToLineString from '@turf/polygon-to-line';
15
+ var EMPTY_FEATURE_DATA = {
16
+ features: [],
17
+ featureId: null,
18
+ vectorTileLayer: null,
19
+ source: null
20
+ };
21
+
22
+ var TileFactory = /*#__PURE__*/function () {
23
+ // 用于记录图层内事件,辅助判断图层外事件逻辑
24
+ function TileFactory(option) {
25
+ _classCallCheck(this, TileFactory);
26
+
27
+ _defineProperty(this, "outSideEventTimer", null);
28
+
29
+ _defineProperty(this, "eventCache", {
30
+ click: 0,
31
+ mousemove: 0,
32
+ mouseup: 0,
33
+ mousedown: 0,
34
+ contextmenu: 0
35
+ });
36
+
37
+ this.parentLayer = option.parent;
38
+ this.mapService = option.mapService;
39
+ this.rendererService = option.rendererService;
40
+ var source = this.parentLayer.getSource();
41
+ this.zoomOffset = source.parser.zoomOffset || 0;
42
+ this.tilesetManager = source.tileset;
43
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
44
+
45
+
46
+ _createClass(TileFactory, [{
47
+ key: "createTile",
48
+ value: function createTile(tile, initOptions) {
49
+ return {
50
+ layers: [],
51
+ layerIDList: []
52
+ };
53
+ }
54
+ }, {
55
+ key: "getFeatureData",
56
+ value: function getFeatureData(tile, initOptions) {
57
+ var sourceLayer = initOptions.sourceLayer,
58
+ featureId = initOptions.featureId,
59
+ _initOptions$transfor = initOptions.transforms,
60
+ transforms = _initOptions$transfor === void 0 ? [] : _initOptions$transfor,
61
+ layerType = initOptions.layerType,
62
+ shape = initOptions.shape;
63
+
64
+ if (!sourceLayer) {
65
+ return EMPTY_FEATURE_DATA;
66
+ }
67
+
68
+ var vectorTileLayer = tile.data.layers[sourceLayer];
69
+ var features = vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.features;
70
+
71
+ if (!(Array.isArray(features) && features.length > 0)) {
72
+ return EMPTY_FEATURE_DATA;
73
+ } else {
74
+ var geofeatures = [];
75
+
76
+ if (layerType === 'LineLayer' && shape === 'simple') {
77
+ features.map(function (feature) {
78
+ var cloneFeature = clone(feature);
79
+
80
+ if (cloneFeature.geometry.type === 'MultiPolygon') {
81
+ var _geofeatures;
82
+
83
+ // @ts-ignore
84
+ var linefeatures = polygonToLineString(cloneFeature).features;
85
+
86
+ (_geofeatures = geofeatures).push.apply(_geofeatures, _toConsumableArray(linefeatures));
87
+ } else if (cloneFeature.geometry.type === 'Polygon') {
88
+ cloneFeature.geometry.type = 'MultiLineString';
89
+ geofeatures.push(cloneFeature);
90
+ } else {
91
+ geofeatures.push(cloneFeature);
92
+ }
93
+ });
94
+ } else {
95
+ geofeatures = features;
96
+ }
97
+
98
+ var source = new Source({
99
+ type: 'FeatureCollection',
100
+ features: geofeatures
101
+ }, {
102
+ parser: {
103
+ type: 'geojson',
104
+ featureId: featureId,
105
+ cancelExtent: true
106
+ },
107
+ transforms: transforms
108
+ });
109
+ return {
110
+ features: geofeatures,
111
+ featureId: featureId,
112
+ vectorTileLayer: vectorTileLayer,
113
+ source: source
114
+ };
115
+ }
116
+ }
117
+ }, {
118
+ key: "createLayer",
119
+ value: function createLayer(tileLayerOption) {
120
+ var L7Layer = tileLayerOption.L7Layer,
121
+ tile = tileLayerOption.tile,
122
+ initOptions = tileLayerOption.initOptions,
123
+ vectorTileLayer = tileLayerOption.vectorTileLayer,
124
+ source = tileLayerOption.source,
125
+ _tileLayerOption$need = tileLayerOption.needListen,
126
+ needListen = _tileLayerOption$need === void 0 ? true : _tileLayerOption$need;
127
+ var mask = initOptions.mask,
128
+ color = initOptions.color,
129
+ layerType = initOptions.layerType,
130
+ size = initOptions.size,
131
+ shape = initOptions.shape,
132
+ usage = initOptions.usage,
133
+ basemapColor = initOptions.basemapColor,
134
+ basemapSize = initOptions.basemapSize;
135
+ var FactoryTileLayer = L7Layer ? L7Layer : VectorLayer;
136
+ var layer = new FactoryTileLayer(_objectSpread({
137
+ visible: tile.isVisible,
138
+ tileOrigin: vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.l7TileOrigin,
139
+ coord: vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.l7TileCoord,
140
+ needListen: needListen
141
+ }, this.getLayerInitOption(initOptions)));
142
+ if (layerType) layer.type = layerType; // Tip: sign tile layer
143
+
144
+ layer.isTileLayer = true; // vector 、raster
145
+ // vector layer set event
146
+
147
+ if (layer.isVector && usage !== 'basemap') {
148
+ this.emitEvent([layer]);
149
+ layer.select(true);
150
+ } // set source
151
+
152
+
153
+ layer.source(source); // set scale attribute field
154
+
155
+ setStyleAttributeField(layer, this.parentLayer, 'shape', shape);
156
+
157
+ if (usage !== 'basemap') {
158
+ // set scale
159
+ setScale(layer, this.parentLayer);
160
+ setStyleAttributeField(layer, this.parentLayer, 'color', color);
161
+ setStyleAttributeField(layer, this.parentLayer, 'size', size);
162
+ } else {
163
+ layer.style({
164
+ color: basemapColor,
165
+ size: basemapSize
166
+ });
167
+ } // set mask
168
+
169
+
170
+ if (mask && layer.isVector) {
171
+ var masklayer = new VectorLayer({
172
+ layerType: "MaskLayer"
173
+ }).source({
174
+ type: 'FeatureCollection',
175
+ features: [tile.bboxPolygon]
176
+ }, {
177
+ parser: {
178
+ type: 'geojson',
179
+ cancelExtent: true
180
+ }
181
+ });
182
+ registerLayers(this.parentLayer, [masklayer]);
183
+ layer.addMaskLayer(masklayer);
184
+ }
185
+
186
+ this.layers = [layer];
187
+ return layer;
188
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
189
+
190
+ }, {
191
+ key: "updateStyle",
192
+ value: function updateStyle(styles) {
193
+ return '';
194
+ }
195
+ }, {
196
+ key: "getTile",
197
+ value: function getTile(lng, lat) {
198
+ var zoom = this.mapService.getZoom();
199
+ return this.tilesetManager.getTileByLngLat(lng, lat, zoom);
200
+ }
201
+ }, {
202
+ key: "bindVectorEvent",
203
+ value: function bindVectorEvent(layer) {
204
+ var _this = this;
205
+
206
+ layer.on('click', function (e) {
207
+ _this.eventCache.click = 1;
208
+
209
+ _this.getFeatureAndEmitEvent('subLayerClick', e);
210
+ });
211
+ layer.on('mousemove', function (e) {
212
+ _this.eventCache.mousemove = 1;
213
+
214
+ _this.getFeatureAndEmitEvent('subLayerMouseMove', e);
215
+ });
216
+ layer.on('mouseenter', function (e) {
217
+ _this.getFeatureAndEmitEvent('subLayerMouseEnter', e);
218
+ });
219
+ }
220
+ }, {
221
+ key: "readRasterTile",
222
+ value: function readRasterTile(e, name) {
223
+ var _e$lngLat = e.lngLat,
224
+ lng = _e$lngLat.lng,
225
+ lat = _e$lngLat.lat;
226
+ var tile = this.getTile(lng, lat);
227
+ if (!tile) return;
228
+ var data = readRasterValue(tile, this.mapService, e.x, e.y);
229
+ e.value = data;
230
+ this.parentLayer.emit(name, e);
231
+ }
232
+ }, {
233
+ key: "bindRasterEvent",
234
+ value: function bindRasterEvent(layer) {
235
+ var _this2 = this;
236
+
237
+ layer.on('click', function (e) {
238
+ _this2.eventCache.click = 1;
239
+
240
+ _this2.readRasterTile(e, 'subLayerClick');
241
+ });
242
+ layer.on('mousemove', function (e) {
243
+ _this2.eventCache.mousemove = 1;
244
+
245
+ _this2.readRasterTile(e, 'subLayerMouseMove');
246
+ });
247
+ layer.on('mouseenter', function (e) {
248
+ _this2.readRasterTile(e, 'subLayerMouseMove');
249
+ });
250
+ }
251
+ }, {
252
+ key: "bindCommonEvent",
253
+ value: function bindCommonEvent(layer) {
254
+ var _this3 = this;
255
+
256
+ layer.on('mouseup', function (e) {
257
+ _this3.eventCache.mouseup = 1;
258
+
259
+ _this3.getFeatureAndEmitEvent('subLayerMouseUp', e);
260
+ });
261
+ layer.on('mouseout', function (e) {
262
+ _this3.getFeatureAndEmitEvent('subLayerMouseOut', e);
263
+ });
264
+ layer.on('mousedown', function (e) {
265
+ _this3.eventCache.mousedown = 1;
266
+
267
+ _this3.getFeatureAndEmitEvent('subLayerMouseDown', e);
268
+ });
269
+ layer.on('contextmenu', function (e) {
270
+ _this3.eventCache.contextmenu = 1;
271
+
272
+ _this3.getFeatureAndEmitEvent('subLayerContextmenu', e);
273
+ }); // out side
274
+
275
+ layer.on('unclick', function (e) {
276
+ return _this3.handleOutsideEvent('click', 'subLayerUnClick', layer, e);
277
+ });
278
+ layer.on('unmouseup', function (e) {
279
+ return _this3.handleOutsideEvent('mouseup', 'subLayerUnMouseUp', layer, e);
280
+ });
281
+ layer.on('unmousedown', function (e) {
282
+ return _this3.handleOutsideEvent('mousedown', 'subLayerUnMouseDown', layer, e);
283
+ });
284
+ layer.on('uncontextmenu', function (e) {
285
+ return _this3.handleOutsideEvent('contextmenu', 'subLayerUnContextmenu', layer, e);
286
+ });
287
+ }
288
+ }, {
289
+ key: "emitEvent",
290
+ value: function emitEvent(layers) {
291
+ var _this4 = this;
292
+
293
+ layers.map(function (layer) {
294
+ layer.once('modelLoaded', function () {
295
+ _this4.bindVectorEvent(layer);
296
+
297
+ _this4.bindCommonEvent(layer);
298
+ });
299
+ });
300
+ }
301
+ }, {
302
+ key: "emitRasterEvent",
303
+ value: function emitRasterEvent(layers) {
304
+ var _this5 = this;
305
+
306
+ layers.map(function (layer) {
307
+ layer.once('modelLoaded', function () {
308
+ _this5.bindRasterEvent(layer);
309
+
310
+ _this5.bindCommonEvent(layer);
311
+ });
312
+ });
313
+ }
314
+ }, {
315
+ key: "getCombineFeature",
316
+ value: function getCombineFeature(features) {
317
+ var p = null;
318
+ var properties = features[0];
319
+ features.map(function (feature) {
320
+ var polygon = turf.polygon(feature.coordinates);
321
+
322
+ if (p === null) {
323
+ p = polygon;
324
+ }
325
+
326
+ {
327
+ p = union(p, polygon);
328
+ }
329
+ });
330
+
331
+ if (properties) {
332
+ p.properties = _objectSpread({}, properties);
333
+ }
334
+
335
+ return p;
336
+ }
337
+ }, {
338
+ key: "getFeatureAndEmitEvent",
339
+ value: function getFeatureAndEmitEvent(eventName, e) {
340
+ var featureId = e.featureId;
341
+ var features = this.getAllFeatures(featureId);
342
+
343
+ try {
344
+ e.feature = this.getCombineFeature(features);
345
+ } catch (err) {
346
+ console.warn('Combine Featuer Err! Return First Feature!');
347
+ e.feature = features[0];
348
+ }
349
+
350
+ this.parentLayer.emit(eventName, e);
351
+ }
352
+ }, {
353
+ key: "getAllFeatures",
354
+ value: function getAllFeatures(featureId) {
355
+ var allLayers = this.parentLayer.tileLayer.children;
356
+ var features = [];
357
+ allLayers.map(function (layer) {
358
+ var source = layer.getSource();
359
+ source.data.dataArray.map(function (feature) {
360
+ if (feature._id === featureId) {
361
+ features.push(feature);
362
+ }
363
+ });
364
+ });
365
+ return features;
366
+ }
367
+ }, {
368
+ key: "getLayerInitOption",
369
+ value: function getLayerInitOption(initOptions) {
370
+ var option = _objectSpread({}, initOptions);
371
+
372
+ delete option.color;
373
+ delete option.shape;
374
+ delete option.size;
375
+ delete option.coords;
376
+ delete option.sourceLayer;
377
+ delete option.coords;
378
+ return option;
379
+ }
380
+ }, {
381
+ key: "handleOutsideEvent",
382
+ value: function handleOutsideEvent(type, emitType, layer, e) {
383
+ var _this6 = this;
384
+
385
+ if (this.outSideEventTimer) {
386
+ clearTimeout(this.outSideEventTimer);
387
+ this.outSideEventTimer = null;
388
+ }
389
+
390
+ this.outSideEventTimer = setTimeout(function () {
391
+ if (_this6.eventCache[type] > 0) {
392
+ _this6.eventCache[type] = 0;
393
+ } else {
394
+ _this6.getFeatureAndEmitEvent(emitType, e);
395
+ }
396
+ }, 64);
397
+ }
398
+ }]);
399
+
400
+ return TileFactory;
401
+ }();
402
+
403
+ export { TileFactory as default };
@@ -1,11 +1,5 @@
1
- import { ILayer } from '@antv/l7-core';
2
- import VectorTile from './VectorTile';
3
- import DebugTile from './DebugTile';
4
- import ImageTile from './ImageTile';
5
- import RasterTile from './RasterTile';
6
- import RasterRGBTile from './RasterRGBTile';
7
- import MaskLayer from './MaskTile';
8
- export declare type TileType = 'VectorTile' | 'DebugTile' | 'PolygonLayer' | 'PointLayer' | 'LineLayer' | 'RasterLayer' | 'image' | 'MaskLayer' | 'TileDebugLayer';
9
- export declare function getTileFactory(layer: ILayer): typeof VectorTile | typeof DebugTile | typeof ImageTile | typeof RasterTile | typeof RasterRGBTile | typeof MaskLayer;
1
+ import { IParserCfg } from '@antv/l7-core';
2
+ import VectorLineTile from './line';
3
+ export declare type TileType = 'PolygonLayer' | 'PointLayer' | 'LineLayer' | 'RasterLayer' | 'MaskLayer' | 'TileDebugLayer';
4
+ export declare function getTileFactory(tileType: TileType, parser: IParserCfg): typeof VectorLineTile;
10
5
  export * from '../interface';
11
- export * from './Tile';