@antv/l7-layers 2.10.2 → 2.10.4

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 (372) hide show
  1. package/es/Geometry/index.d.ts +3 -2
  2. package/es/Geometry/index.js +24 -34
  3. package/es/Geometry/models/billboard.d.ts +2 -2
  4. package/es/Geometry/models/billboard.js +45 -85
  5. package/es/Geometry/models/plane.d.ts +2 -2
  6. package/es/Geometry/models/plane.js +49 -89
  7. package/es/Geometry/models/sprite.d.ts +2 -2
  8. package/es/Geometry/models/sprite.js +54 -92
  9. package/es/canvas/index.d.ts +3 -2
  10. package/es/canvas/index.js +26 -36
  11. package/es/canvas/models/canvas.d.ts +2 -2
  12. package/es/canvas/models/canvas.js +23 -62
  13. package/es/citybuliding/building.d.ts +3 -2
  14. package/es/citybuliding/building.js +24 -33
  15. package/es/citybuliding/models/build.d.ts +2 -2
  16. package/es/citybuliding/models/build.js +31 -76
  17. package/es/core/BaseLayer.d.ts +18 -21
  18. package/es/core/BaseLayer.js +273 -393
  19. package/es/core/BaseModel.d.ts +2 -2
  20. package/es/core/BaseModel.js +13 -54
  21. package/es/core/shape/Path.js +1 -1
  22. package/es/core/shape/extrude.js +1 -1
  23. package/es/core/triangulation.js +3 -10
  24. package/es/earth/index.d.ts +2 -2
  25. package/es/earth/index.js +16 -35
  26. package/es/earth/models/atmosphere.d.ts +2 -2
  27. package/es/earth/models/atmosphere.js +27 -72
  28. package/es/earth/models/base.d.ts +2 -2
  29. package/es/earth/models/base.js +50 -96
  30. package/es/earth/models/bloomsphere.d.ts +2 -2
  31. package/es/earth/models/bloomsphere.js +27 -72
  32. package/es/earth/utils.js +1 -1
  33. package/es/heatmap/index.d.ts +3 -2
  34. package/es/heatmap/index.js +29 -40
  35. package/es/heatmap/models/grid.d.ts +2 -2
  36. package/es/heatmap/models/grid.js +32 -73
  37. package/es/heatmap/models/grid3d.d.ts +2 -2
  38. package/es/heatmap/models/grid3d.js +33 -74
  39. package/es/heatmap/models/heatmap.d.ts +2 -2
  40. package/es/heatmap/models/heatmap.js +22 -48
  41. package/es/heatmap/models/hexagon.d.ts +2 -2
  42. package/es/heatmap/models/hexagon.js +33 -74
  43. package/es/image/index.d.ts +3 -2
  44. package/es/image/index.js +24 -34
  45. package/es/image/models/dataImage.d.ts +2 -2
  46. package/es/image/models/dataImage.js +59 -98
  47. package/es/image/models/image.d.ts +2 -2
  48. package/es/image/models/image.js +72 -113
  49. package/es/image/models/tileDataImage.d.ts +2 -2
  50. package/es/image/models/tileDataImage.js +48 -89
  51. package/es/index.d.ts +2 -2
  52. package/es/index.js +2 -2
  53. package/es/line/index.d.ts +4 -5
  54. package/es/line/index.js +32 -58
  55. package/es/line/models/arc.d.ts +2 -2
  56. package/es/line/models/arc.js +45 -80
  57. package/es/line/models/arc_3d.d.ts +2 -2
  58. package/es/line/models/arc_3d.js +41 -76
  59. package/es/line/models/earthArc_3d.d.ts +2 -2
  60. package/es/line/models/earthArc_3d.js +44 -79
  61. package/es/line/models/great_circle.d.ts +2 -2
  62. package/es/line/models/great_circle.js +36 -77
  63. package/es/line/models/half.d.ts +2 -2
  64. package/es/line/models/half.js +23 -46
  65. package/es/line/models/index.d.ts +1 -1
  66. package/es/line/models/index.js +2 -0
  67. package/es/line/models/line.d.ts +2 -2
  68. package/es/line/models/line.js +54 -86
  69. package/es/line/models/linearline.d.ts +2 -2
  70. package/es/line/models/linearline.js +38 -77
  71. package/es/line/models/simpleLine.d.ts +2 -2
  72. package/es/line/models/simpleLine.js +39 -76
  73. package/es/line/models/simpleTileLine.d.ts +2 -2
  74. package/es/line/models/simpleTileLine.js +35 -75
  75. package/es/line/models/tile.d.ts +2 -2
  76. package/es/line/models/tile.js +23 -46
  77. package/es/line/models/wall.d.ts +2 -2
  78. package/es/line/models/wall.js +29 -74
  79. package/es/mask/index.d.ts +4 -2
  80. package/es/mask/index.js +104 -34
  81. package/es/mask/models/fill.d.ts +2 -2
  82. package/es/mask/models/fill.js +22 -46
  83. package/es/mask/models/index.d.ts +1 -1
  84. package/es/mask/models/index.js +3 -1
  85. package/es/plugins/DataMappingPlugin.js +72 -83
  86. package/es/plugins/DataSourcePlugin.js +32 -68
  87. package/es/plugins/FeatureScalePlugin.js +48 -88
  88. package/es/plugins/LayerAnimateStylePlugin.js +3 -3
  89. package/es/plugins/LayerModelPlugin.d.ts +2 -2
  90. package/es/plugins/LayerModelPlugin.js +39 -126
  91. package/es/plugins/LayerStylePlugin.js +8 -3
  92. package/es/plugins/LightingPlugin.js +4 -4
  93. package/es/plugins/MultiPassRendererPlugin.js +3 -3
  94. package/es/plugins/PixelPickingPlugin.js +3 -3
  95. package/es/plugins/RegisterStyleAttributePlugin.js +18 -3
  96. package/es/plugins/ShaderUniformPlugin.js +6 -6
  97. package/es/plugins/UpdateModelPlugin.js +2 -2
  98. package/es/plugins/UpdateStyleAttributePlugin.js +5 -6
  99. package/es/point/index.d.ts +4 -4
  100. package/es/point/index.js +30 -62
  101. package/es/point/models/earthExtrude.d.ts +2 -2
  102. package/es/point/models/earthExtrude.js +37 -80
  103. package/es/point/models/earthFill.d.ts +2 -2
  104. package/es/point/models/earthFill.js +28 -73
  105. package/es/point/models/extrude.d.ts +2 -2
  106. package/es/point/models/extrude.js +25 -48
  107. package/es/point/models/fill.d.ts +2 -2
  108. package/es/point/models/fill.js +28 -51
  109. package/es/point/models/fillmage.d.ts +2 -2
  110. package/es/point/models/fillmage.js +51 -90
  111. package/es/point/models/image.d.ts +2 -2
  112. package/es/point/models/image.js +38 -79
  113. package/es/point/models/index.d.ts +1 -1
  114. package/es/point/models/index.js +2 -0
  115. package/es/point/models/normal.d.ts +2 -2
  116. package/es/point/models/normal.js +36 -77
  117. package/es/point/models/radar.d.ts +2 -2
  118. package/es/point/models/radar.js +43 -83
  119. package/es/point/models/simplePoint.d.ts +2 -2
  120. package/es/point/models/simplePoint.js +35 -76
  121. package/es/point/models/text.d.ts +2 -3
  122. package/es/point/models/text.js +116 -173
  123. package/es/point/models/tile.d.ts +2 -2
  124. package/es/point/models/tile.js +40 -82
  125. package/es/point/models/tileText.d.ts +2 -2
  126. package/es/point/models/tileText.js +125 -160
  127. package/es/point/shape/extrude.js +1 -1
  128. package/es/polygon/index.d.ts +3 -2
  129. package/es/polygon/index.js +31 -34
  130. package/es/polygon/models/extrude.d.ts +2 -2
  131. package/es/polygon/models/extrude.js +38 -75
  132. package/es/polygon/models/fill.d.ts +2 -2
  133. package/es/polygon/models/fill.js +48 -81
  134. package/es/polygon/models/index.d.ts +1 -1
  135. package/es/polygon/models/index.js +2 -0
  136. package/es/polygon/models/ocean.d.ts +2 -2
  137. package/es/polygon/models/ocean.js +34 -75
  138. package/es/polygon/models/tile.d.ts +2 -2
  139. package/es/polygon/models/tile.js +35 -75
  140. package/es/polygon/models/water.d.ts +2 -2
  141. package/es/polygon/models/water.js +34 -75
  142. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -1
  143. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +2 -1
  144. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +2 -1
  145. package/es/raster/index.d.ts +4 -3
  146. package/es/raster/index.js +29 -35
  147. package/es/raster/models/index.d.ts +1 -1
  148. package/es/raster/models/index.js +3 -1
  149. package/es/raster/models/raster.d.ts +2 -2
  150. package/es/raster/models/raster.js +19 -42
  151. package/es/raster/models/rasterRgb.d.ts +2 -2
  152. package/es/raster/models/rasterRgb.js +21 -44
  153. package/es/raster/models/rasterTile.d.ts +2 -2
  154. package/es/raster/models/rasterTile.js +41 -82
  155. package/es/raster/raster.d.ts +1 -1
  156. package/es/raster/raster.js +31 -51
  157. package/es/tile/interaction/TilePickService.d.ts +16 -0
  158. package/es/tile/interaction/TilePickService.js +129 -0
  159. package/es/tile/interaction/getRasterData.d.ts +2 -2
  160. package/es/tile/interaction/getRasterData.js +1 -1
  161. package/es/tile/interaction/utils.js +12 -4
  162. package/es/tile/interface.d.ts +4 -5
  163. package/es/tile/manager/base.d.ts +12 -17
  164. package/es/tile/manager/base.js +51 -216
  165. package/es/tile/manager/layerManager.d.ts +19 -0
  166. package/es/tile/manager/layerManager.js +254 -0
  167. package/es/tile/manager/mapLayerManager.d.ts +7 -0
  168. package/es/tile/manager/mapLayerManager.js +119 -0
  169. package/es/tile/models/tileModel.d.ts +10 -0
  170. package/es/tile/models/tileModel.js +81 -0
  171. package/es/tile/render/TileRenderService.d.ts +10 -0
  172. package/es/tile/render/TileRenderService.js +68 -0
  173. package/es/tile/style/TileStyleService.d.ts +17 -0
  174. package/es/tile/style/TileStyleService.js +118 -0
  175. package/es/tile/style/constants.d.ts +13 -1
  176. package/es/tile/style/constants.js +15 -6
  177. package/es/tile/style/utils.d.ts +8 -1
  178. package/es/tile/style/utils.js +127 -1
  179. package/es/tile/tileFactory/base.d.ts +45 -0
  180. package/es/tile/tileFactory/base.js +403 -0
  181. package/es/tile/tileFactory/index.d.ts +4 -10
  182. package/es/tile/tileFactory/index.js +23 -30
  183. package/es/tile/tileFactory/layers/{RasterDataLayer.d.ts → rasterDataLayer.d.ts} +3 -3
  184. package/es/tile/tileFactory/layers/{RasterDataLayer.js → rasterDataLayer.js} +28 -40
  185. package/es/tile/tileFactory/layers/{TileDebugLayer.d.ts → tileTest.d.ts} +2 -2
  186. package/es/tile/tileFactory/layers/{TileDebugLayer.js → tileTest.js} +17 -30
  187. package/es/tile/tileFactory/layers/vectorLayer.d.ts +30 -0
  188. package/es/tile/tileFactory/layers/vectorLayer.js +253 -0
  189. package/es/tile/tileFactory/line.d.ts +12 -0
  190. package/es/tile/tileFactory/line.js +59 -0
  191. package/es/tile/tileFactory/mask.d.ts +12 -0
  192. package/es/tile/tileFactory/mask.js +60 -0
  193. package/es/tile/tileFactory/point.d.ts +12 -0
  194. package/es/tile/tileFactory/point.js +60 -0
  195. package/es/tile/tileFactory/polygon.d.ts +12 -0
  196. package/es/tile/tileFactory/polygon.js +59 -0
  197. package/es/tile/tileFactory/raster.d.ts +12 -0
  198. package/es/tile/tileFactory/raster.js +55 -0
  199. package/es/tile/tileFactory/rasterData.d.ts +12 -0
  200. package/es/tile/tileFactory/rasterData.js +81 -0
  201. package/es/tile/tileFactory/test.d.ts +12 -0
  202. package/es/tile/tileFactory/test.js +94 -0
  203. package/es/tile/tileLayer/MapTileLayer.d.ts +6 -0
  204. package/es/tile/tileLayer/MapTileLayer.js +48 -0
  205. package/es/tile/tileLayer/TileLayer.d.ts +22 -0
  206. package/es/tile/tileLayer/TileLayer.js +198 -0
  207. package/es/tile/tileLayer/base.d.ts +33 -0
  208. package/es/tile/tileLayer/base.js +212 -0
  209. package/es/tile/utils.d.ts +11 -1
  210. package/es/tile/utils.js +129 -0
  211. package/es/utils/blend.js +1 -1
  212. package/es/utils/collision-index.js +4 -4
  213. package/es/utils/dataMappingStyle.d.ts +4 -4
  214. package/es/utils/dataMappingStyle.js +18 -16
  215. package/es/utils/extrude_polyline.js +5 -5
  216. package/es/utils/grid-index.js +3 -3
  217. package/es/utils/layerData.js +11 -5
  218. package/es/utils/multiPassRender.js +1 -1
  219. package/es/utils/polylineNormal.js +1 -1
  220. package/es/utils/simpleLine.js +3 -3
  221. package/es/wind/index.d.ts +3 -2
  222. package/es/wind/index.js +24 -34
  223. package/es/wind/models/wind.d.ts +2 -2
  224. package/es/wind/models/wind.js +111 -127
  225. package/es/wind/models/windRender.js +3 -3
  226. package/lib/Geometry/index.js +17 -29
  227. package/lib/Geometry/models/billboard.js +37 -79
  228. package/lib/Geometry/models/plane.js +40 -82
  229. package/lib/Geometry/models/sprite.js +45 -85
  230. package/lib/canvas/index.js +19 -31
  231. package/lib/canvas/models/canvas.js +15 -56
  232. package/lib/citybuliding/building.js +17 -28
  233. package/lib/citybuliding/models/build.js +25 -72
  234. package/lib/core/BaseLayer.js +256 -381
  235. package/lib/core/BaseModel.js +6 -48
  236. package/lib/core/triangulation.js +1 -8
  237. package/lib/earth/index.js +9 -30
  238. package/lib/earth/models/atmosphere.js +22 -69
  239. package/lib/earth/models/base.js +42 -90
  240. package/lib/earth/models/bloomsphere.js +22 -69
  241. package/lib/heatmap/index.js +22 -35
  242. package/lib/heatmap/models/grid.js +27 -70
  243. package/lib/heatmap/models/grid3d.js +28 -71
  244. package/lib/heatmap/models/heatmap.js +14 -40
  245. package/lib/heatmap/models/hexagon.js +28 -71
  246. package/lib/image/index.js +17 -29
  247. package/lib/image/models/dataImage.js +54 -95
  248. package/lib/image/models/image.js +67 -110
  249. package/lib/image/models/tileDataImage.js +43 -86
  250. package/lib/index.js +5 -5
  251. package/lib/line/index.js +26 -53
  252. package/lib/line/models/arc.js +38 -75
  253. package/lib/line/models/arc_3d.js +34 -71
  254. package/lib/line/models/earthArc_3d.js +37 -74
  255. package/lib/line/models/great_circle.js +29 -72
  256. package/lib/line/models/half.js +17 -40
  257. package/lib/line/models/index.js +3 -0
  258. package/lib/line/models/line.js +47 -81
  259. package/lib/line/models/linearline.js +31 -72
  260. package/lib/line/models/simpleLine.js +34 -73
  261. package/lib/line/models/simpleTileLine.js +30 -72
  262. package/lib/line/models/tile.js +17 -40
  263. package/lib/line/models/wall.js +22 -69
  264. package/lib/mask/index.js +99 -28
  265. package/lib/mask/models/fill.js +16 -40
  266. package/lib/mask/models/index.js +4 -1
  267. package/lib/plugins/DataMappingPlugin.js +64 -77
  268. package/lib/plugins/DataSourcePlugin.js +30 -68
  269. package/lib/plugins/FeatureScalePlugin.js +44 -86
  270. package/lib/plugins/LayerModelPlugin.js +41 -131
  271. package/lib/plugins/LayerStylePlugin.js +6 -1
  272. package/lib/plugins/MultiPassRendererPlugin.js +1 -1
  273. package/lib/plugins/PixelPickingPlugin.js +1 -1
  274. package/lib/plugins/RegisterStyleAttributePlugin.js +16 -1
  275. package/lib/plugins/UpdateStyleAttributePlugin.js +3 -4
  276. package/lib/point/index.js +24 -56
  277. package/lib/point/models/earthExtrude.js +30 -75
  278. package/lib/point/models/earthFill.js +21 -68
  279. package/lib/point/models/extrude.js +17 -40
  280. package/lib/point/models/fill.js +21 -44
  281. package/lib/point/models/fillmage.js +43 -84
  282. package/lib/point/models/image.js +31 -74
  283. package/lib/point/models/index.js +3 -0
  284. package/lib/point/models/normal.js +30 -73
  285. package/lib/point/models/radar.js +35 -77
  286. package/lib/point/models/simplePoint.js +29 -72
  287. package/lib/point/models/text.js +106 -164
  288. package/lib/point/models/tile.js +35 -79
  289. package/lib/point/models/tileText.js +115 -151
  290. package/lib/polygon/index.js +25 -29
  291. package/lib/polygon/models/extrude.js +32 -71
  292. package/lib/polygon/models/fill.js +43 -78
  293. package/lib/polygon/models/index.js +3 -0
  294. package/lib/polygon/models/ocean.js +28 -71
  295. package/lib/polygon/models/tile.js +30 -72
  296. package/lib/polygon/models/water.js +28 -71
  297. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -1
  298. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +2 -1
  299. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +2 -1
  300. package/lib/raster/index.js +22 -30
  301. package/lib/raster/models/index.js +4 -1
  302. package/lib/raster/models/raster.js +13 -36
  303. package/lib/raster/models/rasterRgb.js +13 -36
  304. package/lib/raster/models/rasterTile.js +36 -79
  305. package/lib/raster/raster.js +22 -44
  306. package/lib/tile/interaction/TilePickService.js +143 -0
  307. package/lib/tile/interaction/utils.js +11 -3
  308. package/lib/tile/manager/base.js +47 -213
  309. package/lib/tile/manager/layerManager.js +275 -0
  310. package/lib/tile/manager/mapLayerManager.js +134 -0
  311. package/lib/tile/models/tileModel.js +94 -0
  312. package/lib/tile/render/TileRenderService.js +78 -0
  313. package/lib/tile/style/TileStyleService.js +133 -0
  314. package/lib/tile/style/constants.js +19 -8
  315. package/lib/tile/style/utils.js +140 -0
  316. package/lib/tile/tileFactory/base.js +427 -0
  317. package/lib/tile/tileFactory/index.js +24 -42
  318. package/lib/tile/tileFactory/layers/{RasterDataLayer.js → rasterDataLayer.js} +21 -35
  319. package/lib/tile/tileFactory/layers/{TileDebugLayer.js → tileTest.js} +11 -24
  320. package/lib/tile/tileFactory/layers/vectorLayer.js +268 -0
  321. package/lib/tile/tileFactory/line.js +70 -0
  322. package/lib/tile/tileFactory/mask.js +71 -0
  323. package/lib/tile/tileFactory/point.js +71 -0
  324. package/lib/tile/tileFactory/polygon.js +70 -0
  325. package/lib/tile/tileFactory/raster.js +68 -0
  326. package/lib/tile/tileFactory/rasterData.js +93 -0
  327. package/lib/tile/tileFactory/test.js +106 -0
  328. package/lib/tile/tileLayer/MapTileLayer.js +63 -0
  329. package/lib/tile/tileLayer/TileLayer.js +215 -0
  330. package/lib/tile/tileLayer/base.js +225 -0
  331. package/lib/tile/utils.js +148 -0
  332. package/lib/utils/dataMappingStyle.js +20 -18
  333. package/lib/utils/layerData.js +10 -4
  334. package/lib/wind/index.js +17 -29
  335. package/lib/wind/models/wind.js +104 -122
  336. package/package.json +7 -7
  337. package/es/core/LayerPickService.d.ts +0 -9
  338. package/es/core/LayerPickService.js +0 -85
  339. package/es/tile/service/TileLayerService.d.ts +0 -33
  340. package/es/tile/service/TileLayerService.js +0 -172
  341. package/es/tile/service/TilePickService.d.ts +0 -22
  342. package/es/tile/service/TilePickService.js +0 -124
  343. package/es/tile/tileFactory/DebugTile.d.ts +0 -16
  344. package/es/tile/tileFactory/DebugTile.js +0 -100
  345. package/es/tile/tileFactory/ImageTile.d.ts +0 -14
  346. package/es/tile/tileFactory/ImageTile.js +0 -89
  347. package/es/tile/tileFactory/MaskTile.d.ts +0 -17
  348. package/es/tile/tileFactory/MaskTile.js +0 -98
  349. package/es/tile/tileFactory/RasterRGBTile.d.ts +0 -16
  350. package/es/tile/tileFactory/RasterRGBTile.js +0 -91
  351. package/es/tile/tileFactory/RasterTile.d.ts +0 -27
  352. package/es/tile/tileFactory/RasterTile.js +0 -186
  353. package/es/tile/tileFactory/Tile.d.ts +0 -23
  354. package/es/tile/tileFactory/Tile.js +0 -136
  355. package/es/tile/tileFactory/VectorTile.d.ts +0 -20
  356. package/es/tile/tileFactory/VectorTile.js +0 -158
  357. package/es/tile/tileFactory/util.d.ts +0 -6
  358. package/es/tile/tileFactory/util.js +0 -33
  359. package/es/tile/tileLayer/BaseLayer.d.ts +0 -46
  360. package/es/tile/tileLayer/BaseLayer.js +0 -358
  361. package/lib/core/LayerPickService.js +0 -96
  362. package/lib/tile/service/TileLayerService.js +0 -185
  363. package/lib/tile/service/TilePickService.js +0 -136
  364. package/lib/tile/tileFactory/DebugTile.js +0 -115
  365. package/lib/tile/tileFactory/ImageTile.js +0 -104
  366. package/lib/tile/tileFactory/MaskTile.js +0 -113
  367. package/lib/tile/tileFactory/RasterRGBTile.js +0 -106
  368. package/lib/tile/tileFactory/RasterTile.js +0 -205
  369. package/lib/tile/tileFactory/Tile.js +0 -146
  370. package/lib/tile/tileFactory/VectorTile.js +0 -173
  371. package/lib/tile/tileFactory/util.js +0 -48
  372. package/lib/tile/tileLayer/BaseLayer.js +0 -373
@@ -7,12 +7,12 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
-
12
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
11
 
14
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
13
 
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+
16
16
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
17
17
 
18
18
  var _initializerDefineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/initializerDefineProperty"));
@@ -57,8 +57,6 @@ var _multiPassRender = require("../utils/multiPassRender");
57
57
 
58
58
  var _updateShape = require("../utils/updateShape");
59
59
 
60
- var _LayerPickService = _interopRequireDefault(require("./LayerPickService"));
61
-
62
60
  var _excluded = ["passes"],
63
61
  _excluded2 = ["moduleName", "vertexShader", "fragmentShader", "triangulation", "segmentNumber", "workerEnabled", "workerOptions"];
64
62
 
@@ -86,10 +84,12 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
86
84
  // 生命周期钩子
87
85
  // 待渲染 model 列表
88
86
  // 用于保存子图层对象
87
+ // Tip: 用于标识矢量图层
89
88
 
90
89
  /**
91
90
  * 待更新样式属性,在初始化阶段完成注册
92
91
  */
92
+ // Tip: layer 保底颜色
93
93
  // private pickingPassRender: IPass<'pixelPicking'>;
94
94
  function BaseLayer() {
95
95
  var _this;
@@ -124,10 +124,10 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
124
124
  StyleAttrNeedUpdate: false
125
125
  });
126
126
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "hooks", {
127
- init: new _asyncHook.AsyncSeriesBailHook(),
127
+ init: new _asyncHook.SyncBailHook(),
128
128
  afterInit: new _asyncHook.SyncBailHook(),
129
129
  beforeRender: new _asyncHook.SyncBailHook(),
130
- beforeRenderData: new _asyncHook.AsyncWaterfallHook(),
130
+ beforeRenderData: new _asyncHook.SyncWaterfallHook(),
131
131
  afterRender: new _asyncHook.SyncHook(),
132
132
  beforePickingEncode: new _asyncHook.SyncHook(),
133
133
  afterPickingEncode: new _asyncHook.SyncHook(),
@@ -139,9 +139,10 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
139
139
  afterDestroy: new _asyncHook.SyncHook()
140
140
  });
141
141
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "models", []);
142
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "startInit", false);
142
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "modelLoaded", false);
143
143
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "layerChildren", []);
144
144
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "masks", []);
145
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isVector", false);
145
146
  (0, _initializerDefineProperty2.default)((0, _assertThisInitialized2.default)(_this), "configService", _descriptor, (0, _assertThisInitialized2.default)(_this));
146
147
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "animateOptions", {
147
148
  enable: false
@@ -150,6 +151,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
150
151
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "pendingStyleAttributes", []);
151
152
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "scaleOptions", {});
152
153
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "animateStatus", false);
154
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "bottomColor", 'rgba(0, 0, 0, 0)');
153
155
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isDestroyed", false);
154
156
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "encodeDataLength", 0);
155
157
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sourceEvent", function () {
@@ -161,16 +163,11 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
161
163
  _this.fitBounds(layerConfig.fitBoundsOptions);
162
164
  }
163
165
 
164
- var autoRender = _this.layerSource.getSourceCfg().autoRender;
165
-
166
- if (autoRender) {
167
- _this.reRender();
168
- }
166
+ _this.reRender();
169
167
  });
170
168
  _this.name = config.name || _this.id;
171
169
  _this.zIndex = config.zIndex || 0;
172
- _this.rawConfig = config; // this.parent = this;
173
-
170
+ _this.rawConfig = config;
174
171
  return _this;
175
172
  }
176
173
 
@@ -213,12 +210,12 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
213
210
  }
214
211
  });
215
212
 
216
- if (!this.startInit) {
213
+ if (!this.inited) {
217
214
  this.needUpdateConfig = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, this.needUpdateConfig), configToUpdate);
218
215
  } else {
219
216
  var sceneId = this.container.get(_l7Core.TYPES.SceneID); // @ts-ignore
220
217
 
221
- (0, _dataMappingStyle.styleDataMapping)(configToUpdate, this); // 处理 style 中进行数据映射的属性字段
218
+ (0, _dataMappingStyle.handleStyleDataMapping)(configToUpdate, this); // 处理 style 中进行数据映射的属性字段
222
219
 
223
220
  this.configService.setLayerConfig(sceneId, this.id, (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, this.configService.getLayerConfig(this.id)), this.needUpdateConfig), configToUpdate));
224
221
  this.needUpdateConfig = {};
@@ -242,6 +239,16 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
242
239
  value: function getContainer() {
243
240
  return this.container;
244
241
  }
242
+ }, {
243
+ key: "setBottomColor",
244
+ value: function setBottomColor(color) {
245
+ this.bottomColor = color;
246
+ }
247
+ }, {
248
+ key: "getBottomColor",
249
+ value: function getBottomColor() {
250
+ return this.bottomColor;
251
+ }
245
252
  }, {
246
253
  key: "addPlugin",
247
254
  value: function addPlugin(plugin) {
@@ -250,131 +257,105 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
250
257
  }
251
258
  }, {
252
259
  key: "init",
253
- value: function () {
254
- var _init = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
255
- var _this3 = this;
256
-
257
- var sceneId, _this$getLayerConfig, enableMultiPassRenderer, passes, _iterator, _step, plugin;
258
-
259
- return _regenerator.default.wrap(function _callee$(_context) {
260
- while (1) {
261
- switch (_context.prev = _context.next) {
262
- case 0:
263
- // 设置配置项
264
- sceneId = this.container.get(_l7Core.TYPES.SceneID);
265
- this.startInit = true; // 初始化图层配置项
266
- // const { enableMultiPassRenderer = false } = this.rawConfig;
267
- // this.configService.setLayerConfig(sceneId, this.id, {
268
- // enableMultiPassRenderer,
269
- // });
270
-
271
- this.configService.setLayerConfig(sceneId, this.id, this.rawConfig);
272
- this.layerType = this.rawConfig.layerType; // 全局容器服务
273
- // 场景容器服务
274
-
275
- this.iconService = this.container.get(_l7Core.TYPES.IIconService);
276
- this.fontService = this.container.get(_l7Core.TYPES.IFontService);
277
- this.rendererService = this.container.get(_l7Core.TYPES.IRendererService);
278
- this.layerService = this.container.get(_l7Core.TYPES.ILayerService);
279
- this.interactionService = this.container.get(_l7Core.TYPES.IInteractionService);
280
- this.pickingService = this.container.get(_l7Core.TYPES.IPickingService);
281
- this.mapService = this.container.get(_l7Core.TYPES.IMapService);
282
- _this$getLayerConfig = this.getLayerConfig(), enableMultiPassRenderer = _this$getLayerConfig.enableMultiPassRenderer, passes = _this$getLayerConfig.passes;
283
-
284
- if (enableMultiPassRenderer && passes !== null && passes !== void 0 && passes.length && passes.length > 0) {
285
- // Tip: 兼容 multiPassRender 在 amap1 时存在的图层不同步问题 zoom
286
- this.mapService.on('mapAfterFrameChange', function () {
287
- _this3.renderLayers();
288
- });
289
- }
290
-
291
- this.cameraService = this.container.get(_l7Core.TYPES.ICameraService);
292
- this.coordinateService = this.container.get(_l7Core.TYPES.ICoordinateSystemService);
293
- this.shaderModuleService = this.container.get(_l7Core.TYPES.IShaderModuleService);
294
- this.postProcessingPassFactory = this.container.get(_l7Core.TYPES.IFactoryPostProcessingPass);
295
- this.normalPassFactory = this.container.get(_l7Core.TYPES.IFactoryNormalPass); // 图层容器服务
296
-
297
- this.styleAttributeService = this.container.get(_l7Core.TYPES.IStyleAttributeService);
298
-
299
- if (enableMultiPassRenderer) {
300
- // 按需初始化 瓦片频繁报错
301
- this.multiPassRenderer = this.container.get(_l7Core.TYPES.IMultiPassRenderer);
302
- this.multiPassRenderer.setLayer(this);
303
- } // 完成样式服务注册完成前添加的属性
304
-
305
-
306
- this.pendingStyleAttributes.forEach(function (_ref2) {
307
- var attributeName = _ref2.attributeName,
308
- attributeField = _ref2.attributeField,
309
- attributeValues = _ref2.attributeValues,
310
- updateOptions = _ref2.updateOptions;
311
-
312
- _this3.styleAttributeService.updateStyleAttribute(attributeName, {
313
- // @ts-ignore
314
- scale: (0, _objectSpread2.default)({
315
- field: attributeField
316
- }, _this3.splitValuesAndCallbackInAttribute( // @ts-ignore
317
- attributeValues, // @ts-ignore
318
- _this3.getLayerConfig()[attributeName]))
319
- }, // @ts-ignore
320
- updateOptions);
321
- });
322
- this.pendingStyleAttributes = []; // 获取插件集
323
-
324
- this.plugins = this.container.getAll(_l7Core.TYPES.ILayerPlugin); // 完成插件注册,传入场景和图层容器内的服务
325
-
326
- _iterator = _createForOfIteratorHelper(this.plugins);
327
-
328
- try {
329
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
330
- plugin = _step.value;
331
- plugin.apply(this, {
332
- rendererService: this.rendererService,
333
- mapService: this.mapService,
334
- styleAttributeService: this.styleAttributeService,
335
- normalPassFactory: this.normalPassFactory,
336
- postProcessingPassFactory: this.postProcessingPassFactory
337
- });
338
- } // 初始化其他服务
339
-
340
- } catch (err) {
341
- _iterator.e(err);
342
- } finally {
343
- _iterator.f();
344
- }
260
+ value: function init() {
261
+ var _this3 = this;
262
+
263
+ // 设置配置项
264
+ var sceneId = this.container.get(_l7Core.TYPES.SceneID); // 初始化图层配置项
265
+ // const { enableMultiPassRenderer = false } = this.rawConfig;
266
+ // this.configService.setLayerConfig(sceneId, this.id, {
267
+ // enableMultiPassRenderer,
268
+ // });
269
+
270
+ this.configService.setLayerConfig(sceneId, this.id, this.rawConfig);
271
+ this.layerType = this.rawConfig.layerType; // 全局容器服务
272
+ // 场景容器服务
273
+
274
+ this.iconService = this.container.get(_l7Core.TYPES.IIconService);
275
+ this.fontService = this.container.get(_l7Core.TYPES.IFontService);
276
+ this.rendererService = this.container.get(_l7Core.TYPES.IRendererService);
277
+ this.layerService = this.container.get(_l7Core.TYPES.ILayerService);
278
+ this.interactionService = this.container.get(_l7Core.TYPES.IInteractionService);
279
+ this.pickingService = this.container.get(_l7Core.TYPES.IPickingService);
280
+ this.mapService = this.container.get(_l7Core.TYPES.IMapService);
281
+
282
+ var _this$getLayerConfig = this.getLayerConfig(),
283
+ enableMultiPassRenderer = _this$getLayerConfig.enableMultiPassRenderer,
284
+ passes = _this$getLayerConfig.passes;
285
+
286
+ if (enableMultiPassRenderer && passes !== null && passes !== void 0 && passes.length && passes.length > 0) {
287
+ // Tip: 兼容 multiPassRender 在 amap1 时存在的图层不同步问题 zoom
288
+ this.mapService.on('mapAfterFrameChange', function () {
289
+ _this3.renderLayers();
290
+ });
291
+ }
345
292
 
346
- this.layerPickService = new _LayerPickService.default(this); // 触发 init 生命周期插件
293
+ this.cameraService = this.container.get(_l7Core.TYPES.ICameraService);
294
+ this.coordinateService = this.container.get(_l7Core.TYPES.ICoordinateSystemService);
295
+ this.shaderModuleService = this.container.get(_l7Core.TYPES.IShaderModuleService);
296
+ this.postProcessingPassFactory = this.container.get(_l7Core.TYPES.IFactoryPostProcessingPass);
297
+ this.normalPassFactory = this.container.get(_l7Core.TYPES.IFactoryNormalPass); // 图层容器服务
347
298
 
348
- _context.next = 28;
349
- return this.hooks.init.promise();
299
+ this.styleAttributeService = this.container.get(_l7Core.TYPES.IStyleAttributeService);
300
+ this.multiPassRenderer = this.container.get(_l7Core.TYPES.IMultiPassRenderer);
301
+ this.multiPassRenderer.setLayer(this); // 完成样式服务注册完成前添加的属性
350
302
 
351
- case 28:
352
- this.inited = true; // 触发初始化完成事件;
303
+ this.pendingStyleAttributes.forEach(function (_ref2) {
304
+ var attributeName = _ref2.attributeName,
305
+ attributeField = _ref2.attributeField,
306
+ attributeValues = _ref2.attributeValues,
307
+ updateOptions = _ref2.updateOptions;
353
308
 
354
- this.emit('inited', {
355
- target: this,
356
- type: 'inited'
357
- });
358
- this.emit('add', {
359
- target: this,
360
- type: 'add'
361
- });
362
- this.hooks.afterInit.call();
309
+ _this3.styleAttributeService.updateStyleAttribute(attributeName, {
310
+ // @ts-ignore
311
+ scale: (0, _objectSpread2.default)({
312
+ field: attributeField
313
+ }, _this3.splitValuesAndCallbackInAttribute( // @ts-ignore
314
+ attributeValues, // @ts-ignore
315
+ _this3.getLayerConfig()[attributeName]))
316
+ }, // @ts-ignore
317
+ updateOptions);
318
+ });
319
+ this.pendingStyleAttributes = []; // 获取插件集
320
+
321
+ this.plugins = this.container.getAll(_l7Core.TYPES.ILayerPlugin); // 完成插件注册,传入场景和图层容器内的服务
322
+
323
+ var _iterator = _createForOfIteratorHelper(this.plugins),
324
+ _step;
325
+
326
+ try {
327
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
328
+ var plugin = _step.value;
329
+ plugin.apply(this, {
330
+ rendererService: this.rendererService,
331
+ mapService: this.mapService,
332
+ styleAttributeService: this.styleAttributeService,
333
+ normalPassFactory: this.normalPassFactory,
334
+ postProcessingPassFactory: this.postProcessingPassFactory
335
+ });
336
+ } // 触发 init 生命周期插件
337
+
338
+ } catch (err) {
339
+ _iterator.e(err);
340
+ } finally {
341
+ _iterator.f();
342
+ }
363
343
 
364
- case 32:
365
- case "end":
366
- return _context.stop();
367
- }
368
- }
369
- }, _callee, this);
370
- }));
344
+ this.hooks.init.call(); // this.pickingPassRender = this.normalPassFactory('pixelPicking');
345
+ // this.pickingPassRender.init(this);
371
346
 
372
- function init() {
373
- return _init.apply(this, arguments);
374
- }
347
+ this.hooks.afterInit.call(); // 触发初始化完成事件;
375
348
 
376
- return init;
377
- }()
349
+ this.emit('inited', {
350
+ target: this,
351
+ type: 'inited'
352
+ });
353
+ this.emit('add', {
354
+ target: this,
355
+ type: 'add'
356
+ });
357
+ return this;
358
+ }
378
359
  }, {
379
360
  key: "updateModelData",
380
361
  value: function updateModelData(data) {
@@ -408,11 +389,6 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
408
389
  };
409
390
  }
410
391
  }
411
- }, {
412
- key: "setLayerPickService",
413
- value: function setLayerPickService(layerPickService) {
414
- this.layerPickService = layerPickService;
415
- }
416
392
  }, {
417
393
  key: "calculateEncodeData",
418
394
  value: function calculateEncodeData(data, option) {
@@ -430,7 +406,8 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
430
406
  }, {
431
407
  key: "prepareBuildModel",
432
408
  value: function prepareBuildModel() {
433
- this.updateLayerConfig((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, this.getDefaultConfig()), this.rawConfig), this.needUpdateConfig)); // 启动动画
409
+ this.inited = true;
410
+ this.updateLayerConfig((0, _objectSpread2.default)((0, _objectSpread2.default)({}, this.getDefaultConfig()), this.rawConfig)); // 启动动画
434
411
 
435
412
  var _this$getLayerConfig2 = this.getLayerConfig(),
436
413
  animateOption = _this$getLayerConfig2.animateOption;
@@ -526,8 +503,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
526
503
  // 判断是否为source
527
504
  this.setSource(data);
528
505
  return this;
529
- } // 设置source 配置
530
-
506
+ }
531
507
 
532
508
  this.sourceOption = {
533
509
  data: data,
@@ -550,6 +526,8 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
550
526
  if (!currentSource) {
551
527
  // 执行 setData 的时候 source 还不存在(还未执行 addLayer)
552
528
  _this4.source(new _l7Source.default(data, options));
529
+
530
+ _this4.sourceEvent();
553
531
  } else {
554
532
  _this4.layerSource.setData(data, options);
555
533
  } // this.layerSource.setData(data, options);
@@ -564,6 +542,7 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
564
542
  value: function style(options) {
565
543
  var _this5 = this;
566
544
 
545
+ var lastConfig = this.getLayerConfig();
567
546
  var passes = options.passes,
568
547
  rest = (0, _objectWithoutProperties2.default)(options, _excluded); // passes 特殊处理
569
548
 
@@ -582,16 +561,16 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
582
561
  if (this.container) {
583
562
  this.updateLayerConfig(this.rawConfig);
584
563
  this.styleNeedUpdate = true;
585
- } // TODO style model 更新
586
- // @ts-ignore
587
- // if (lastConfig && lastConfig.mask === true && options.mask === false) {
588
- // this.clearModels();
589
- // this.layerModel.buildModels((models) => {
590
- // this.models = models;
591
- // });
592
- // }
564
+ } // @ts-ignore
593
565
 
594
566
 
567
+ if (lastConfig && lastConfig.mask === true && options.mask === false) {
568
+ this.clearModels();
569
+ this.layerModel.buildModels(function (models) {
570
+ _this5.models = models;
571
+ });
572
+ }
573
+
595
574
  return this;
596
575
  }
597
576
  }, {
@@ -640,29 +619,29 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
640
619
  }, {
641
620
  key: "renderMultiPass",
642
621
  value: function () {
643
- var _renderMultiPass = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
644
- return _regenerator.default.wrap(function _callee2$(_context2) {
622
+ var _renderMultiPass = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
623
+ return _regenerator.default.wrap(function _callee$(_context) {
645
624
  while (1) {
646
- switch (_context2.prev = _context2.next) {
625
+ switch (_context.prev = _context.next) {
647
626
  case 0:
648
627
  if (!(this.encodeDataLength <= 0 && !this.forceRender)) {
649
- _context2.next = 2;
628
+ _context.next = 2;
650
629
  break;
651
630
  }
652
631
 
653
- return _context2.abrupt("return");
632
+ return _context.abrupt("return");
654
633
 
655
634
  case 2:
656
635
  if (!(this.multiPassRenderer && this.multiPassRenderer.getRenderFlag())) {
657
- _context2.next = 7;
636
+ _context.next = 7;
658
637
  break;
659
638
  }
660
639
 
661
- _context2.next = 5;
640
+ _context.next = 5;
662
641
  return this.multiPassRenderer.render();
663
642
 
664
643
  case 5:
665
- _context2.next = 8;
644
+ _context.next = 8;
666
645
  break;
667
646
 
668
647
  case 7:
@@ -675,10 +654,10 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
675
654
 
676
655
  case 8:
677
656
  case "end":
678
- return _context2.stop();
657
+ return _context.stop();
679
658
  }
680
659
  }
681
- }, _callee2, this);
660
+ }, _callee, this);
682
661
  }));
683
662
 
684
663
  function renderMultiPass() {
@@ -1042,14 +1021,13 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1042
1021
  return !!(this.styleAttributeService.getLayerStyleAttributes() || []).filter(function (attribute) {
1043
1022
  return attribute.needRescale || attribute.needRemapping || attribute.needRegenerateVertices;
1044
1023
  }).length;
1045
- } // 外部初始化Source
1046
-
1024
+ }
1047
1025
  }, {
1048
1026
  key: "setSource",
1049
1027
  value: function setSource(source) {
1050
1028
  var _this8 = this;
1051
1029
 
1052
- // 解除原 sources 事件
1030
+ // 清除旧 sources 事件
1053
1031
  if (this.layerSource) {
1054
1032
  this.layerSource.off('update', this.sourceEvent);
1055
1033
  }
@@ -1060,7 +1038,8 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1060
1038
  if (this.inited && this.layerSource.cluster) {
1061
1039
  var zoom = this.mapService.getZoom();
1062
1040
  this.layerSource.updateClusterData(zoom);
1063
- }
1041
+ } // source 可能会复用,会在其它layer被修改
1042
+
1064
1043
 
1065
1044
  if (this.layerSource.inited) {
1066
1045
  this.sourceEvent();
@@ -1069,52 +1048,21 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1069
1048
 
1070
1049
  this.layerSource.on('update', function () {
1071
1050
  if (_this8.coordCenter === undefined) {
1072
- var _this8$mapService;
1073
-
1074
1051
  var layerCenter = _this8.layerSource.center;
1075
1052
  _this8.coordCenter = layerCenter;
1076
1053
 
1077
- if ((_this8$mapService = _this8.mapService) !== null && _this8$mapService !== void 0 && _this8$mapService.setCoordCenter) {
1054
+ if (_this8.mapService.setCoordCenter) {
1078
1055
  _this8.mapService.setCoordCenter(layerCenter);
1079
1056
  }
1080
1057
  }
1081
1058
 
1082
1059
  _this8.sourceEvent();
1083
1060
  });
1084
- } // layer 初始化source
1085
-
1086
- }, {
1087
- key: "initSource",
1088
- value: function initSource(source) {
1089
- this.layerSource = source;
1090
- this.clusterZoom = 0;
1091
- this.addSourceEvent();
1092
1061
  }
1093
1062
  }, {
1094
1063
  key: "getSource",
1095
1064
  value: function getSource() {
1096
1065
  return this.layerSource;
1097
- } // 注册source 更新事件
1098
-
1099
- }, {
1100
- key: "addSourceEvent",
1101
- value: function addSourceEvent() {
1102
- var _this9 = this;
1103
-
1104
- this.layerSource.on('update', function () {
1105
- if (_this9.coordCenter === undefined) {
1106
- var _this9$mapService;
1107
-
1108
- var layerCenter = _this9.layerSource.center;
1109
- _this9.coordCenter = layerCenter;
1110
-
1111
- if ((_this9$mapService = _this9.mapService) !== null && _this9$mapService !== void 0 && _this9$mapService.setCoordCenter) {
1112
- _this9.mapService.setCoordCenter(layerCenter);
1113
- }
1114
- }
1115
-
1116
- _this9.sourceEvent();
1117
- });
1118
1066
  }
1119
1067
  }, {
1120
1068
  key: "getScaleOptions",
@@ -1208,79 +1156,75 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1208
1156
  }
1209
1157
  }, {
1210
1158
  key: "buildLayerModel",
1211
- value: function () {
1212
- var _buildLayerModel = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(options) {
1213
- var _this10 = this;
1214
-
1215
- var moduleName, vertexShader, fragmentShader, triangulation, segmentNumber, _options$workerEnable, workerEnabled, workerOptions, rest, _this$shaderModuleSer, vs, fs, uniforms, createModel;
1159
+ value: function buildLayerModel(options) {
1160
+ var _this9 = this;
1216
1161
 
1217
- return _regenerator.default.wrap(function _callee3$(_context3) {
1218
- while (1) {
1219
- switch (_context3.prev = _context3.next) {
1220
- case 0:
1221
- moduleName = options.moduleName, vertexShader = options.vertexShader, fragmentShader = options.fragmentShader, triangulation = options.triangulation, segmentNumber = options.segmentNumber, _options$workerEnable = options.workerEnabled, workerEnabled = _options$workerEnable === void 0 ? false : _options$workerEnable, workerOptions = options.workerOptions, rest = (0, _objectWithoutProperties2.default)(options, _excluded2);
1222
- this.shaderModuleService.registerModule(moduleName, {
1223
- vs: vertexShader,
1224
- fs: fragmentShader
1225
- });
1226
- _this$shaderModuleSer = this.shaderModuleService.getModule(moduleName), vs = _this$shaderModuleSer.vs, fs = _this$shaderModuleSer.fs, uniforms = _this$shaderModuleSer.uniforms;
1227
- createModel = this.rendererService.createModel;
1228
- return _context3.abrupt("return", new Promise(function (resolve, reject) {
1229
- // filter supported worker & worker enabled layer
1230
- if (workerOptions && workerOptions.modelType in _l7Utils.WorkerSourceMap && workerEnabled) {
1231
- _this10.styleAttributeService.createAttributesAndIndicesAscy(_this10.encodedData, segmentNumber, workerOptions).then(function (_ref7) {
1232
- var attributes = _ref7.attributes,
1233
- elements = _ref7.elements;
1234
- var m = createModel((0, _objectSpread2.default)({
1235
- attributes: attributes,
1236
- uniforms: uniforms,
1237
- fs: fs,
1238
- vs: vs,
1239
- elements: elements,
1240
- blend: _blend.BlendTypes[_l7Core.BlendType.normal]
1241
- }, rest));
1242
- resolve(m);
1243
- }).catch(function (err) {
1244
- return reject(err);
1245
- });
1246
- } else {
1247
- var _this10$styleAttribut = _this10.styleAttributeService.createAttributesAndIndices(_this10.encodedData, triangulation, segmentNumber),
1248
- attributes = _this10$styleAttribut.attributes,
1249
- elements = _this10$styleAttribut.elements,
1250
- count = _this10$styleAttribut.count;
1251
-
1252
- var modelOptions = (0, _objectSpread2.default)({
1253
- attributes: attributes,
1254
- uniforms: uniforms,
1255
- fs: fs,
1256
- vs: vs,
1257
- elements: elements,
1258
- blend: _blend.BlendTypes[_l7Core.BlendType.normal]
1259
- }, rest);
1260
-
1261
- if (count) {
1262
- modelOptions.count = count;
1263
- }
1264
-
1265
- var m = createModel(modelOptions);
1266
- resolve(m);
1267
- }
1268
- }));
1162
+ var moduleName = options.moduleName,
1163
+ vertexShader = options.vertexShader,
1164
+ fragmentShader = options.fragmentShader,
1165
+ triangulation = options.triangulation,
1166
+ segmentNumber = options.segmentNumber,
1167
+ _options$workerEnable = options.workerEnabled,
1168
+ workerEnabled = _options$workerEnable === void 0 ? false : _options$workerEnable,
1169
+ workerOptions = options.workerOptions,
1170
+ rest = (0, _objectWithoutProperties2.default)(options, _excluded2);
1171
+ this.shaderModuleService.registerModule(moduleName, {
1172
+ vs: vertexShader,
1173
+ fs: fragmentShader
1174
+ });
1269
1175
 
1270
- case 5:
1271
- case "end":
1272
- return _context3.stop();
1176
+ var _this$shaderModuleSer = this.shaderModuleService.getModule(moduleName),
1177
+ vs = _this$shaderModuleSer.vs,
1178
+ fs = _this$shaderModuleSer.fs,
1179
+ uniforms = _this$shaderModuleSer.uniforms;
1180
+
1181
+ var createModel = this.rendererService.createModel;
1182
+ return new Promise(function (resolve, reject) {
1183
+ setTimeout(function () {
1184
+ // filter supported worker & worker enabled layer
1185
+ if (workerOptions && workerOptions.modelType in _l7Utils.WorkerSourceMap && workerEnabled) {
1186
+ _this9.styleAttributeService.createAttributesAndIndicesAscy(_this9.encodedData, segmentNumber, workerOptions).then(function (_ref7) {
1187
+ var attributes = _ref7.attributes,
1188
+ elements = _ref7.elements;
1189
+ var m = createModel((0, _objectSpread2.default)({
1190
+ attributes: attributes,
1191
+ uniforms: uniforms,
1192
+ fs: fs,
1193
+ vs: vs,
1194
+ elements: elements,
1195
+ blend: _blend.BlendTypes[_l7Core.BlendType.normal]
1196
+ }, rest));
1197
+ resolve(m);
1198
+ }).catch(function (err) {
1199
+ return reject(err);
1200
+ });
1201
+ } else {
1202
+ // console.log(this.encodedData[1].originCoordinates[0])
1203
+ // console.log(this.encodedData[1].coordinates[0])
1204
+ var _this9$styleAttribute = _this9.styleAttributeService.createAttributesAndIndices(_this9.encodedData, triangulation, segmentNumber),
1205
+ attributes = _this9$styleAttribute.attributes,
1206
+ elements = _this9$styleAttribute.elements,
1207
+ count = _this9$styleAttribute.count;
1208
+
1209
+ var modelOptions = (0, _objectSpread2.default)({
1210
+ attributes: attributes,
1211
+ uniforms: uniforms,
1212
+ fs: fs,
1213
+ vs: vs,
1214
+ elements: elements,
1215
+ blend: _blend.BlendTypes[_l7Core.BlendType.normal]
1216
+ }, rest);
1217
+
1218
+ if (count) {
1219
+ modelOptions.count = count;
1273
1220
  }
1274
- }
1275
- }, _callee3, this);
1276
- }));
1277
-
1278
- function buildLayerModel(_x) {
1279
- return _buildLayerModel.apply(this, arguments);
1280
- }
1281
1221
 
1282
- return buildLayerModel;
1283
- }()
1222
+ var m = createModel(modelOptions);
1223
+ resolve(m);
1224
+ }
1225
+ });
1226
+ });
1227
+ }
1284
1228
  }, {
1285
1229
  key: "createAttributes",
1286
1230
  value: function createAttributes(options) {
@@ -1322,6 +1266,11 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1322
1266
  }, {
1323
1267
  key: "needPick",
1324
1268
  value: function needPick(type) {
1269
+ // 地图图层的判断
1270
+ if (this.rawConfig.usage === 'basemap') {
1271
+ return false;
1272
+ }
1273
+
1325
1274
  var _this$getLayerConfig10 = this.getLayerConfig(),
1326
1275
  _this$getLayerConfig11 = _this$getLayerConfig10.enableHighlight,
1327
1276
  enableHighlight = _this$getLayerConfig11 === void 0 ? true : _this$getLayerConfig11,
@@ -1343,73 +1292,34 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1343
1292
  }
1344
1293
  }, {
1345
1294
  key: "buildModels",
1346
- value: function () {
1347
- var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
1348
- return _regenerator.default.wrap(function _callee4$(_context4) {
1349
- while (1) {
1350
- switch (_context4.prev = _context4.next) {
1351
- case 0:
1352
- throw new Error('Method not implemented.');
1353
-
1354
- case 1:
1355
- case "end":
1356
- return _context4.stop();
1357
- }
1358
- }
1359
- }, _callee4);
1360
- }));
1361
-
1362
- function buildModels() {
1363
- return _buildModels.apply(this, arguments);
1364
- }
1365
-
1366
- return buildModels;
1367
- }()
1295
+ value: function buildModels() {
1296
+ throw new Error('Method not implemented.');
1297
+ }
1368
1298
  }, {
1369
1299
  key: "rebuildModels",
1370
- value: function () {
1371
- var _rebuildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
1372
- return _regenerator.default.wrap(function _callee5$(_context5) {
1373
- while (1) {
1374
- switch (_context5.prev = _context5.next) {
1375
- case 0:
1376
- _context5.next = 2;
1377
- return this.buildModels();
1378
-
1379
- case 2:
1380
- case "end":
1381
- return _context5.stop();
1382
- }
1383
- }
1384
- }, _callee5, this);
1385
- }));
1386
-
1387
- function rebuildModels() {
1388
- return _rebuildModels.apply(this, arguments);
1389
- }
1390
-
1391
- return rebuildModels;
1392
- }()
1300
+ value: function rebuildModels() {
1301
+ throw new Error('Method not implemented.');
1302
+ }
1393
1303
  }, {
1394
1304
  key: "renderMulPass",
1395
1305
  value: function () {
1396
- var _renderMulPass = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(multiPassRenderer) {
1397
- return _regenerator.default.wrap(function _callee6$(_context6) {
1306
+ var _renderMulPass = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(multiPassRenderer) {
1307
+ return _regenerator.default.wrap(function _callee2$(_context2) {
1398
1308
  while (1) {
1399
- switch (_context6.prev = _context6.next) {
1309
+ switch (_context2.prev = _context2.next) {
1400
1310
  case 0:
1401
- _context6.next = 2;
1311
+ _context2.next = 2;
1402
1312
  return multiPassRenderer.render();
1403
1313
 
1404
1314
  case 2:
1405
1315
  case "end":
1406
- return _context6.stop();
1316
+ return _context2.stop();
1407
1317
  }
1408
1318
  }
1409
- }, _callee6);
1319
+ }, _callee2);
1410
1320
  }));
1411
1321
 
1412
- function renderMulPass(_x2) {
1322
+ function renderMulPass(_x) {
1413
1323
  return _renderMulPass.apply(this, arguments);
1414
1324
  }
1415
1325
 
@@ -1418,42 +1328,33 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1418
1328
  }, {
1419
1329
  key: "renderModels",
1420
1330
  value: function renderModels(isPicking) {
1421
- var _this11 = this;
1331
+ var _this10 = this;
1422
1332
 
1423
1333
  // TODO: this.getEncodedData().length > 0 这个判断是为了解决在 2.5.x 引入数据纹理后产生的 空数据渲染导致 texture 超出上限问题
1424
1334
  if (this.encodeDataLength <= 0 && !this.forceRender) {
1425
1335
  return this;
1426
- } // TODO 待评估
1427
- // if (this.layerModelNeedUpdate && this.layerModel) {
1428
- // this.layerModel.buildModels((models: IModel[]) => {
1429
- // this.models = models;
1430
- // this.hooks.beforeRender.call();
1431
- // this.layerModelNeedUpdate = false;
1432
- // });
1433
- // }
1434
-
1435
-
1436
- this.layerService.beforeRenderData(this);
1437
- this.hooks.beforeRender.call();
1336
+ }
1337
+
1338
+ if (this.layerModelNeedUpdate && this.layerModel) {
1339
+ this.layerModel.buildModels(function (models) {
1340
+ _this10.models = models;
1341
+
1342
+ _this10.hooks.beforeRender.call();
1343
+
1344
+ _this10.layerModelNeedUpdate = false;
1345
+ });
1346
+ }
1347
+
1438
1348
  this.models.forEach(function (model) {
1439
1349
  model.draw({
1440
- uniforms: _this11.layerModel.getUninforms()
1350
+ uniforms: _this10.layerModel.getUninforms()
1441
1351
  }, isPicking);
1442
1352
  });
1443
- this.hooks.afterRender.call();
1444
1353
  return this;
1445
1354
  }
1446
1355
  }, {
1447
1356
  key: "updateStyleAttribute",
1448
1357
  value: function updateStyleAttribute(type, field, values, updateOptions) {
1449
- // 存储 Attribute
1450
- if (['color', 'size', 'texture', 'rotate', 'filter', 'label', 'shape'].indexOf(type) !== -1) {
1451
- this.configService.setAttributeConfig(this.id, (0, _defineProperty2.default)({}, type, {
1452
- field: field,
1453
- values: values
1454
- }));
1455
- }
1456
-
1457
1358
  if (!this.inited) {
1458
1359
  this.pendingStyleAttributes.push({
1459
1360
  attributeName: type,
@@ -1473,11 +1374,6 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1473
1374
  updateOptions);
1474
1375
  }
1475
1376
  }
1476
- }, {
1477
- key: "getLayerAttributeConfig",
1478
- value: function getLayerAttributeConfig() {
1479
- return this.configService.getAttributeConfig(this.id);
1480
- }
1481
1377
  }, {
1482
1378
  key: "getShaderPickStat",
1483
1379
  value: function getShaderPickStat() {
@@ -1493,13 +1389,6 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1493
1389
  key: "setEarthTime",
1494
1390
  value: function setEarthTime(time) {
1495
1391
  console.warn('empty fn');
1496
- } // 数据处理 在数据进行 mapping 生成 encodeData 之前对数据进行处理
1497
- // 在各个 layer 中继承
1498
-
1499
- }, {
1500
- key: "processData",
1501
- value: function processData(filterData) {
1502
- return filterData;
1503
1392
  }
1504
1393
  }, {
1505
1394
  key: "getModelType",
@@ -1512,37 +1401,23 @@ var BaseLayer = (_dec = (0, _l7Core.lazyInject)(_l7Core.TYPES.IGlobalConfigServi
1512
1401
  return {};
1513
1402
  }
1514
1403
  }, {
1515
- key: "initLayerModels",
1516
- value: function () {
1517
- var _initLayerModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
1518
- return _regenerator.default.wrap(function _callee7$(_context7) {
1519
- while (1) {
1520
- switch (_context7.prev = _context7.next) {
1521
- case 0:
1522
- this.models.forEach(function (model) {
1523
- return model.destroy();
1524
- });
1525
- this.models = [];
1526
- _context7.next = 4;
1527
- return this.layerModel.initModels();
1528
-
1529
- case 4:
1530
- this.models = _context7.sent;
1531
-
1532
- case 5:
1533
- case "end":
1534
- return _context7.stop();
1535
- }
1536
- }
1537
- }, _callee7, this);
1538
- }));
1404
+ key: "dispatchModelLoad",
1405
+ value: function dispatchModelLoad(models) {
1406
+ var _this11 = this;
1539
1407
 
1540
- function initLayerModels() {
1541
- return _initLayerModels.apply(this, arguments);
1542
- }
1408
+ this.models.forEach(function (model) {
1409
+ return model.destroy();
1410
+ });
1411
+ this.models = [];
1412
+ this.models = models;
1413
+ this.emit('modelLoaded', null);
1414
+ this.modelLoaded = true; // Tip: setTimeout 用于延迟绘制,可以让拖动图层时连续的 setData 更加平滑 - L7Draw
1543
1415
 
1544
- return initLayerModels;
1545
- }()
1416
+ setTimeout(function () {
1417
+ // Tip: 使用 renderLayers 而不是 throttleRenderLayers,让图层之间的 setData 更新绘制不存在延迟
1418
+ _this11.layerService.renderLayers();
1419
+ }, 32);
1420
+ }
1546
1421
  }, {
1547
1422
  key: "reRender",
1548
1423
  value: function reRender() {