@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,358 +0,0 @@
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 _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
- import _regeneratorRuntime from "@babel/runtime/regenerator";
6
- import { TYPES } from '@antv/l7-core';
7
- import { TileLayerService } from "../service/TileLayerService";
8
- import { TilePickService } from "../service/TilePickService";
9
- import { debounce } from 'lodash';
10
- import { getTileFactory } from "../tileFactory";
11
- import { ProxyFuncs } from "../style/constants";
12
-
13
- var BaseTileLayer = /*#__PURE__*/function () {
14
- // 瓦片数据管理器
15
- function BaseTileLayer(parent) {
16
- _classCallCheck(this, BaseTileLayer);
17
-
18
- _defineProperty(this, "initedTileset", false);
19
-
20
- _defineProperty(this, "viewchange", debounce(this.mapchange, 24));
21
-
22
- this.parent = parent;
23
- var container = this.parent.getContainer();
24
- this.rendererService = container.get(TYPES.IRendererService);
25
- this.layerService = container.get(TYPES.ILayerService);
26
- this.mapService = container.get(TYPES.IMapService);
27
- this.pickingService = container.get(TYPES.IPickingService); // 初始化瓦片管理服务
28
-
29
- this.tileLayerService = new TileLayerService({
30
- rendererService: this.rendererService,
31
- layerService: this.layerService,
32
- parent: parent
33
- }); // 初始化拾取服务
34
-
35
- this.tilePickService = new TilePickService({
36
- tileLayerService: this.tileLayerService,
37
- layerService: this.layerService
38
- }); // 重置
39
-
40
- this.parent.setLayerPickService(this.tilePickService);
41
- this.proxy(parent);
42
- this.initTileSetManager();
43
- }
44
-
45
- _createClass(BaseTileLayer, [{
46
- key: "initTileSetManager",
47
- value: function initTileSetManager() {
48
- var _this$tilesetManager;
49
-
50
- var source = this.parent.getSource();
51
- this.tilesetManager = source.tileset;
52
-
53
- if (!this.initedTileset) {
54
- this.bindTilesetEvent();
55
- this.initedTileset = true;
56
- }
57
-
58
- var _this$getCurrentView = this.getCurrentView(),
59
- latLonBounds = _this$getCurrentView.latLonBounds,
60
- zoom = _this$getCurrentView.zoom;
61
-
62
- (_this$tilesetManager = this.tilesetManager) === null || _this$tilesetManager === void 0 ? void 0 : _this$tilesetManager.update(zoom, latLonBounds);
63
- }
64
- }, {
65
- key: "mapchange",
66
- value: function mapchange() {
67
- var _this$tilesetManager2;
68
-
69
- var _this$getCurrentView2 = this.getCurrentView(),
70
- latLonBounds = _this$getCurrentView2.latLonBounds,
71
- zoom = _this$getCurrentView2.zoom;
72
-
73
- if (this.mapService.version === 'GAODE1.x') {
74
- var _this$parent$getLayer = this.parent.getLayerConfig(),
75
- visible = _this$parent$getLayer.visible;
76
-
77
- if (zoom < 3 && visible) {
78
- this.parent.updateLayerConfig({
79
- visible: false
80
- });
81
- this.layerService.reRender();
82
- } else if (zoom >= 3 && !visible) {
83
- this.parent.updateLayerConfig({
84
- visible: true
85
- });
86
- this.layerService.reRender();
87
- }
88
- }
89
-
90
- if (this.lastViewStates && this.lastViewStates.zoom === zoom && this.lastViewStates.latLonBounds.toString() === latLonBounds.toString()) {
91
- return;
92
- }
93
-
94
- this.lastViewStates = {
95
- zoom: zoom,
96
- latLonBounds: latLonBounds
97
- };
98
- (_this$tilesetManager2 = this.tilesetManager) === null || _this$tilesetManager2 === void 0 ? void 0 : _this$tilesetManager2.throttleUpdate(zoom, latLonBounds);
99
- }
100
- }, {
101
- key: "getCurrentView",
102
- value: function getCurrentView() {
103
- var bounds = this.mapService.getBounds();
104
- var latLonBounds = [bounds[0][0], bounds[0][1], bounds[1][0], bounds[1][1]];
105
- var zoom = this.mapService.getZoom();
106
- return {
107
- latLonBounds: latLonBounds,
108
- zoom: zoom
109
- };
110
- }
111
- }, {
112
- key: "bindTilesetEvent",
113
- value: function bindTilesetEvent() {
114
- var _this = this;
115
-
116
- // 瓦片数据加载成功
117
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
118
- this.tilesetManager.on('tile-loaded', function (tile) {// 将事件抛出,图层上可以监听使用
119
- }); // 瓦片数据从缓存删除或被执行重新加载
120
-
121
- this.tilesetManager.on('tile-unload', function (tile) {
122
- // 将事件抛出,图层上可以监听使用
123
- _this.tileUnLoad(tile);
124
- }); // 瓦片数据加载失败
125
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
126
-
127
- this.tilesetManager.on('tile-error', function (error, tile) {
128
- // 将事件抛出,图层上可以监听使用
129
- _this.tileError(error);
130
- }); // 瓦片显隐状态更新
131
-
132
- this.tilesetManager.on('tile-update', function () {
133
- _this.tileUpdate();
134
- }); // 地图视野发生改变
135
-
136
- this.mapService.on('zoomend', function () {
137
- return _this.mapchange();
138
- });
139
- this.mapService.on('moveend', function () {
140
- return _this.viewchange();
141
- });
142
- }
143
- }, {
144
- key: "render",
145
- value: function render() {
146
- this.tileLayerService.render();
147
- }
148
- }, {
149
- key: "getLayers",
150
- value: function getLayers() {
151
- return this.tileLayerService.getLayers();
152
- }
153
- }, {
154
- key: "getTiles",
155
- value: function getTiles() {
156
- return this.tileLayerService.getTiles();
157
- } // 防抖操作
158
-
159
- }, {
160
- key: "tileLoaded",
161
- value: // eslint-disable-next-line @typescript-eslint/no-unused-vars
162
- function tileLoaded(tile) {//
163
- }
164
- }, {
165
- key: "tileError",
166
- value: function tileError(error) {
167
- console.warn('error:', error);
168
- }
169
- }, {
170
- key: "destroy",
171
- value: function destroy() {
172
- var _this$tilesetManager3;
173
-
174
- (_this$tilesetManager3 = this.tilesetManager) === null || _this$tilesetManager3 === void 0 ? void 0 : _this$tilesetManager3.destroy();
175
- this.tileLayerService.destroy();
176
- }
177
- }, {
178
- key: "tileUnLoad",
179
- value: function tileUnLoad(tile) {
180
- this.tileLayerService.removeTile(tile.key);
181
- }
182
- }, {
183
- key: "tileUpdate",
184
- value: function () {
185
- var _tileUpdate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
186
- var _this2 = this;
187
-
188
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
189
- while (1) {
190
- switch (_context2.prev = _context2.next) {
191
- case 0:
192
- if (this.tilesetManager) {
193
- _context2.next = 2;
194
- break;
195
- }
196
-
197
- return _context2.abrupt("return");
198
-
199
- case 2:
200
- _context2.next = 4;
201
- return Promise.all(this.tilesetManager.tiles.filter(function (tile) {
202
- return tile.isLoaded;
203
- }) // 过滤未加载完成的
204
- .filter(function (tile) {
205
- return tile.isVisibleChange;
206
- }) // 过滤未发生变化的
207
- .filter(function (tile) {
208
- return _this2.isTileReady(tile);
209
- }) // 过滤未发生变化的
210
- .map( /*#__PURE__*/function () {
211
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tile) {
212
- var tileInstance, tileLayer;
213
- return _regeneratorRuntime.wrap(function _callee$(_context) {
214
- while (1) {
215
- switch (_context.prev = _context.next) {
216
- case 0:
217
- if (_this2.tileLayerService.hasTile(tile.key)) {
218
- _context.next = 11;
219
- break;
220
- }
221
-
222
- tileInstance = getTileFactory(_this2.parent);
223
- tileLayer = new tileInstance(tile, _this2.parent);
224
- _context.next = 5;
225
- return tileLayer.initTileLayer();
226
-
227
- case 5:
228
- _this2.tilePickService.setPickState();
229
-
230
- if (tileLayer.getLayers().length !== 0) {
231
- _this2.tileLayerService.addTile(tileLayer);
232
-
233
- _this2.layerService.reRender();
234
- }
235
-
236
- _this2.tileLayerService.addTile(tileLayer);
237
-
238
- _this2.layerService.reRender();
239
-
240
- _context.next = 14;
241
- break;
242
-
243
- case 11:
244
- _this2.tileLayerService.updateTileVisible(tile);
245
-
246
- _this2.tilePickService.setPickState();
247
-
248
- _this2.layerService.reRender();
249
-
250
- case 14:
251
- case "end":
252
- return _context.stop();
253
- }
254
- }
255
- }, _callee);
256
- }));
257
-
258
- return function (_x) {
259
- return _ref.apply(this, arguments);
260
- };
261
- }()));
262
-
263
- case 4:
264
- if (this.tilesetManager.isLoaded) {
265
- // 将事件抛出,图层上可以使用瓦片
266
- this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);
267
- }
268
-
269
- case 5:
270
- case "end":
271
- return _context2.stop();
272
- }
273
- }
274
- }, _callee2, this);
275
- }));
276
-
277
- function tileUpdate() {
278
- return _tileUpdate.apply(this, arguments);
279
- }
280
-
281
- return tileUpdate;
282
- }() // eslint-disable-next-line @typescript-eslint/no-unused-vars
283
-
284
- }, {
285
- key: "isTileReady",
286
- value: function isTileReady(tile) {
287
- // if (tile.data?.layers && this.sourceLayer) {
288
- // // vector
289
- // const vectorTileLayer = tile.data.layers[this.sourceLayer];
290
- // const features = vectorTileLayer?.features;
291
- // if (!(Array.isArray(features) && features.length > 0)) {
292
- // return false;
293
- // }
294
- // }
295
- return true;
296
- } // eslint-disable-next-line @typescript-eslint/no-unused-vars
297
-
298
- }, {
299
- key: "setPickState",
300
- value: function setPickState(layers) {}
301
- }, {
302
- key: "pickRender",
303
- value: function pickRender(target) {
304
- this.tilePickService.pickRender(target);
305
- }
306
- }, {
307
- key: "selectFeature",
308
- value: function selectFeature(pickedColors) {
309
- this.tilePickService.selectFeature(pickedColors);
310
- }
311
- }, {
312
- key: "highlightPickedFeature",
313
- value: function highlightPickedFeature(pickedColors) {
314
- this.tilePickService.highlightPickedFeature(pickedColors);
315
- }
316
- /**
317
- * 实现 TileLayer 对子图层方法的代理
318
- * @param parent
319
- */
320
-
321
- }, {
322
- key: "proxy",
323
- value: function proxy(parent) {
324
- var _this3 = this;
325
-
326
- ProxyFuncs.forEach(function (func) {
327
- // @ts-ignore
328
- var oldStyleFunc = parent[func].bind(parent); // @ts-ignore
329
-
330
- parent[func] = function () {
331
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
332
- args[_key] = arguments[_key];
333
- }
334
-
335
- oldStyleFunc.apply(void 0, args);
336
-
337
- _this3.getLayers().map(function (child) {
338
- // @ts-ignore
339
- child[func].apply(child, args);
340
- }); // Tip: 目前在更新 RasterData 的 colorTexture 的时候需要额外优化
341
-
342
-
343
- if (func === 'style') {
344
- _this3.getTiles().forEach(function (tile) {
345
- return tile.styleUpdate.apply(tile, args);
346
- });
347
- }
348
-
349
- return parent;
350
- };
351
- });
352
- }
353
- }]);
354
-
355
- return BaseTileLayer;
356
- }();
357
-
358
- export { BaseTileLayer as default };
@@ -1,96 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
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 BaseLayerPickService = /*#__PURE__*/function () {
21
- function BaseLayerPickService(layer) {
22
- (0, _classCallCheck2.default)(this, BaseLayerPickService);
23
- this.layer = layer;
24
- }
25
-
26
- (0, _createClass2.default)(BaseLayerPickService, [{
27
- key: "pickRender",
28
- value: function pickRender(target) {
29
- var layer = this.layer; // 拾取绘制
30
-
31
- if (layer.tileLayer) {
32
- return layer.tileLayer.pickRender(target);
33
- }
34
-
35
- layer.hooks.beforePickingEncode.call();
36
-
37
- if (layer.masks.length > 0) {
38
- // 若存在 mask,则在 pick 阶段的绘制也启用
39
- layer.masks.map( /*#__PURE__*/function () {
40
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(m) {
41
- return _regenerator.default.wrap(function _callee$(_context) {
42
- while (1) {
43
- switch (_context.prev = _context.next) {
44
- case 0:
45
- m.render();
46
-
47
- case 1:
48
- case "end":
49
- return _context.stop();
50
- }
51
- }
52
- }, _callee);
53
- }));
54
-
55
- return function (_x) {
56
- return _ref.apply(this, arguments);
57
- };
58
- }());
59
- }
60
-
61
- layer.renderModels(true);
62
- layer.hooks.afterPickingEncode.call();
63
- }
64
- }, {
65
- key: "selectFeature",
66
- value: function selectFeature(pickedColors) {
67
- var layer = this.layer; // @ts-ignore
68
-
69
- var _pickedColors = (0, _slicedToArray2.default)(pickedColors, 3),
70
- r = _pickedColors[0],
71
- g = _pickedColors[1],
72
- b = _pickedColors[2];
73
-
74
- layer.hooks.beforeSelect.call([r, g, b]);
75
- }
76
- }, {
77
- key: "highlightPickedFeature",
78
- value: function highlightPickedFeature(pickedColors) {
79
- // @ts-ignore
80
- var _pickedColors2 = (0, _slicedToArray2.default)(pickedColors, 3),
81
- r = _pickedColors2[0],
82
- g = _pickedColors2[1],
83
- b = _pickedColors2[2];
84
-
85
- this.layer.hooks.beforeHighlight.call([r, g, b]);
86
- }
87
- }, {
88
- key: "getFeatureById",
89
- value: function getFeatureById(pickedFeatureIdx) {
90
- return this.layer.getSource().getFeatureById(pickedFeatureIdx);
91
- }
92
- }]);
93
- return BaseLayerPickService;
94
- }();
95
-
96
- exports.default = BaseLayerPickService;
@@ -1,185 +0,0 @@
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;