@antv/l7-layers 2.10.3 → 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 (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 +274 -385
  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 +269 -385
  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
@@ -9,12 +9,8 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
-
14
12
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
15
13
 
16
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
-
18
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
15
 
20
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -54,106 +50,84 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
54
50
  }
55
51
 
56
52
  (0, _createClass2.default)(FeatureScalePlugin, [{
53
+ key: "getSourceData",
54
+ value: function getSourceData(layer, callback) {
55
+ var source = layer.getSource();
56
+
57
+ if (source.inited) {
58
+ callback(source.data);
59
+ } else {
60
+ source.once('update', function () {
61
+ callback(source.data);
62
+ });
63
+ }
64
+ }
65
+ }, {
57
66
  key: "apply",
58
67
  value: function apply(layer, _ref) {
59
68
  var _this = this;
60
69
 
61
70
  var styleAttributeService = _ref.styleAttributeService;
62
- layer.hooks.init.tapPromise('FeatureScalePlugin', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
63
- var _layer$getSource;
64
-
65
- var attributes, dataArray;
66
- return _regenerator.default.wrap(function _callee$(_context) {
67
- while (1) {
68
- switch (_context.prev = _context.next) {
69
- case 0:
70
- _this.scaleOptions = layer.getScaleOptions();
71
- attributes = styleAttributeService.getLayerStyleAttributes();
72
- dataArray = (_layer$getSource = layer.getSource()) === null || _layer$getSource === void 0 ? void 0 : _layer$getSource.data.dataArray;
73
-
74
- if (!(Array.isArray(dataArray) && dataArray.length === 0)) {
75
- _context.next = 7;
76
- break;
77
- }
78
-
79
- return _context.abrupt("return");
71
+ layer.hooks.init.tap('FeatureScalePlugin', function () {
72
+ _this.scaleOptions = layer.getScaleOptions();
73
+ var attributes = styleAttributeService.getLayerStyleAttributes();
80
74
 
81
- case 7:
82
- _this.caculateScalesForAttributes(attributes || [], dataArray);
75
+ _this.getSourceData(layer, function (_ref2) {
76
+ var dataArray = _ref2.dataArray;
83
77
 
84
- case 8:
85
- case "end":
86
- return _context.stop();
87
- }
78
+ if (Array.isArray(dataArray) && dataArray.length === 0) {
79
+ return;
80
+ } else {
81
+ _this.caculateScalesForAttributes(attributes || [], dataArray);
88
82
  }
89
- }, _callee);
90
- }))); // 检测数据是否需要更新
91
-
92
- layer.hooks.beforeRenderData.tapPromise('FeatureScalePlugin', /*#__PURE__*/function () {
93
- var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(flag) {
94
- var attributes, dataArray;
95
- return _regenerator.default.wrap(function _callee2$(_context2) {
96
- while (1) {
97
- switch (_context2.prev = _context2.next) {
98
- case 0:
99
- if (flag) {
100
- _context2.next = 2;
101
- break;
102
- }
83
+ });
84
+ }); // 检测数据是否需要更新
103
85
 
104
- return _context2.abrupt("return", flag);
105
-
106
- case 2:
107
- _this.scaleOptions = layer.getScaleOptions();
108
- attributes = styleAttributeService.getLayerStyleAttributes();
109
- dataArray = layer.getSource().data.dataArray;
110
-
111
- if (!(Array.isArray(dataArray) && dataArray.length === 0)) {
112
- _context2.next = 7;
113
- break;
114
- }
86
+ layer.hooks.beforeRenderData.tap('FeatureScalePlugin', function () {
87
+ _this.scaleOptions = layer.getScaleOptions();
88
+ var attributes = styleAttributeService.getLayerStyleAttributes();
115
89
 
116
- return _context2.abrupt("return", true);
90
+ _this.getSourceData(layer, function (_ref3) {
91
+ var dataArray = _ref3.dataArray;
117
92
 
118
- case 7:
119
- _this.caculateScalesForAttributes(attributes || [], dataArray);
93
+ if (Array.isArray(dataArray) && dataArray.length === 0) {
94
+ return;
95
+ }
120
96
 
121
- layer.layerModelNeedUpdate = true;
122
- return _context2.abrupt("return", true);
97
+ _this.caculateScalesForAttributes(attributes || [], dataArray);
123
98
 
124
- case 10:
125
- case "end":
126
- return _context2.stop();
127
- }
128
- }
129
- }, _callee2);
130
- }));
99
+ layer.layerModelNeedUpdate = true;
100
+ });
131
101
 
132
- return function (_x) {
133
- return _ref3.apply(this, arguments);
134
- };
135
- }());
102
+ return true;
103
+ });
136
104
  layer.hooks.beforeRender.tap('FeatureScalePlugin', function () {
137
- if (layer.layerModelNeedUpdate) {
105
+ var _layer$getLayerConfig = layer.getLayerConfig(),
106
+ usage = _layer$getLayerConfig.usage;
107
+
108
+ if (layer.layerModelNeedUpdate || usage === 'basemap') {
138
109
  return;
139
110
  }
140
111
 
141
112
  _this.scaleOptions = layer.getScaleOptions();
142
113
  var attributes = styleAttributeService.getLayerStyleAttributes();
143
- var dataArray = layer.getSource().data.dataArray;
144
-
145
- if (Array.isArray(dataArray) && dataArray.length === 0) {
146
- return;
147
- }
148
114
 
149
115
  if (attributes) {
150
- var attributesToRescale = attributes.filter(function (attribute) {
151
- return attribute.needRescale;
152
- });
116
+ _this.getSourceData(layer, function (_ref4) {
117
+ var dataArray = _ref4.dataArray;
153
118
 
154
- if (attributesToRescale.length) {
155
- _this.caculateScalesForAttributes(attributesToRescale, dataArray);
156
- }
119
+ if (dataArray.length === 0) {
120
+ return;
121
+ }
122
+
123
+ var attributesToRescale = attributes.filter(function (attribute) {
124
+ return attribute.needRescale;
125
+ });
126
+
127
+ if (attributesToRescale.length) {
128
+ _this.caculateScalesForAttributes(attributesToRescale, dataArray);
129
+ }
130
+ });
157
131
  }
158
132
  });
159
133
  }
@@ -357,12 +331,12 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
357
331
 
358
332
  }, {
359
333
  key: "createDefaultScale",
360
- value: function createDefaultScale(_ref4) {
361
- var type = _ref4.type,
362
- domain = _ref4.domain,
363
- unknown = _ref4.unknown,
364
- clamp = _ref4.clamp,
365
- nice = _ref4.nice;
334
+ value: function createDefaultScale(_ref5) {
335
+ var type = _ref5.type,
336
+ domain = _ref5.domain,
337
+ unknown = _ref5.unknown,
338
+ clamp = _ref5.clamp,
339
+ nice = _ref5.nice;
366
340
  // @ts-ignore
367
341
  var scale = scaleMap[type]();
368
342
 
@@ -7,10 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
11
 
16
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -19,8 +15,6 @@ var _inversify = require("inversify");
19
15
 
20
16
  require("reflect-metadata");
21
17
 
22
- var _BaseLayer = _interopRequireDefault(require("../tile/tileLayer/BaseLayer"));
23
-
24
18
  var _dec, _class;
25
19
 
26
20
  var LayerModelPlugin = (
@@ -34,135 +28,54 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
34
28
 
35
29
  (0, _createClass2.default)(LayerModelPlugin, [{
36
30
  key: "initLayerModel",
37
- value: function () {
38
- var _initLayerModel = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(layer) {
39
- return _regenerator.default.wrap(function _callee$(_context) {
40
- while (1) {
41
- switch (_context.prev = _context.next) {
42
- case 0:
43
- // 更新Model 配置项
44
- layer.prepareBuildModel(); // 初始化 Model
45
-
46
- _context.next = 3;
47
- return layer.buildModels();
48
-
49
- case 3:
50
- layer.styleNeedUpdate = false;
51
-
52
- case 4:
53
- case "end":
54
- return _context.stop();
55
- }
56
- }
57
- }, _callee);
58
- }));
59
-
60
- function initLayerModel(_x) {
61
- return _initLayerModel.apply(this, arguments);
62
- }
63
-
64
- return initLayerModel;
65
- }()
31
+ value: function initLayerModel(layer) {
32
+ // 更新Model 配置项
33
+ layer.prepareBuildModel(); // 初始化 Model
34
+
35
+ layer.buildModels();
36
+ layer.styleNeedUpdate = false;
37
+ }
66
38
  }, {
67
39
  key: "prepareLayerModel",
68
- value: function () {
69
- var _prepareLayerModel = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(layer) {
70
- return _regenerator.default.wrap(function _callee2$(_context2) {
71
- while (1) {
72
- switch (_context2.prev = _context2.next) {
73
- case 0:
74
- // 更新Model 配置项
75
- layer.prepareBuildModel(); // clear layerModel resource
76
- // 初始化 Model
77
-
78
- _context2.next = 3;
79
- return layer.buildModels();
80
-
81
- case 3:
82
- case "end":
83
- return _context2.stop();
84
- }
85
- }
86
- }, _callee2);
87
- }));
88
-
89
- function prepareLayerModel(_x2) {
90
- return _prepareLayerModel.apply(this, arguments);
91
- }
92
-
93
- return prepareLayerModel;
94
- }()
40
+ value: function prepareLayerModel(layer) {
41
+ var _layer$layerModel;
42
+
43
+ // 更新Model 配置项
44
+ layer.prepareBuildModel(); // clear layerModel resource
45
+
46
+ (_layer$layerModel = layer.layerModel) === null || _layer$layerModel === void 0 ? void 0 : _layer$layerModel.clearModels(); // 初始化 Model
47
+
48
+ layer.buildModels();
49
+ layer.layerModelNeedUpdate = false;
50
+ }
95
51
  }, {
96
52
  key: "apply",
97
53
  value: function apply(layer) {
98
54
  var _this = this;
99
55
 
100
- layer.hooks.init.tapPromise('LayerModelPlugin', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
101
- return _regenerator.default.wrap(function _callee3$(_context3) {
102
- while (1) {
103
- switch (_context3.prev = _context3.next) {
104
- case 0:
105
- if (!layer.getSource().isTile) {
106
- _context3.next = 4;
107
- break;
108
- }
109
-
110
- layer.prepareBuildModel();
111
- layer.tileLayer = new _BaseLayer.default(layer);
112
- return _context3.abrupt("return");
113
-
114
- case 4:
115
- _context3.next = 6;
116
- return _this.initLayerModel(layer);
117
-
118
- case 6:
119
- case "end":
120
- return _context3.stop();
121
- }
122
- }
123
- }, _callee3);
124
- })));
125
- layer.hooks.beforeRenderData.tapPromise('LayerModelPlugin', /*#__PURE__*/function () {
126
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(flag) {
127
- return _regenerator.default.wrap(function _callee4$(_context4) {
128
- while (1) {
129
- switch (_context4.prev = _context4.next) {
130
- case 0:
131
- if (flag) {
132
- _context4.next = 2;
133
- break;
134
- }
135
-
136
- return _context4.abrupt("return", false);
137
-
138
- case 2:
139
- if (!layer.getSource().isTile) {
140
- _context4.next = 5;
141
- break;
142
- }
143
-
144
- layer.tileLayer = new _BaseLayer.default(layer);
145
- return _context4.abrupt("return", false);
146
-
147
- case 5:
148
- _context4.next = 7;
149
- return _this.prepareLayerModel(layer);
150
-
151
- case 7:
152
- return _context4.abrupt("return", true);
153
-
154
- case 8:
155
- case "end":
156
- return _context4.stop();
157
- }
158
- }
159
- }, _callee4);
160
- }));
161
-
162
- return function (_x3) {
163
- return _ref2.apply(this, arguments);
164
- };
165
- }());
56
+ layer.hooks.init.tap('LayerModelPlugin', function () {
57
+ layer.inited = true;
58
+ layer.modelLoaded = false;
59
+ var source = layer.getSource();
60
+
61
+ if (source.inited) {
62
+ _this.initLayerModel(layer);
63
+ }
64
+ });
65
+ layer.hooks.beforeRenderData.tap('DataSourcePlugin', function () {
66
+ var source = layer.getSource();
67
+ layer.modelLoaded = false;
68
+
69
+ if (source.inited) {
70
+ _this.prepareLayerModel(layer);
71
+ } else {
72
+ source.once('update', function () {
73
+ _this.prepareLayerModel(layer);
74
+ });
75
+ }
76
+
77
+ return false;
78
+ });
166
79
  }
167
80
  }]);
168
81
  return LayerModelPlugin;
@@ -30,12 +30,17 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
30
30
  key: "apply",
31
31
  value: function apply(layer) {
32
32
  layer.hooks.afterInit.tap('LayerStylePlugin', function () {
33
+ // 更新图层默认状态
34
+ layer.updateLayerConfig({});
35
+
33
36
  var _layer$getLayerConfig = layer.getLayerConfig(),
34
37
  autoFit = _layer$getLayerConfig.autoFit,
35
38
  fitBoundsOptions = _layer$getLayerConfig.fitBoundsOptions;
36
39
 
37
40
  if (autoFit) {
38
- layer.fitBounds(fitBoundsOptions);
41
+ setTimeout(function () {
42
+ layer.fitBounds(fitBoundsOptions);
43
+ }, 100);
39
44
  }
40
45
  });
41
46
  }
@@ -46,7 +46,7 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
46
46
  var rendererService = _ref.rendererService,
47
47
  postProcessingPassFactory = _ref.postProcessingPassFactory,
48
48
  normalPassFactory = _ref.normalPassFactory;
49
- layer.hooks.init.tapPromise('MultiPassRendererPlugin', function () {
49
+ layer.hooks.init.tap('MultiPassRendererPlugin', function () {
50
50
  var _layer$getLayerConfig = layer.getLayerConfig(),
51
51
  enableMultiPassRenderer = _layer$getLayerConfig.enableMultiPassRenderer,
52
52
  _layer$getLayerConfig2 = _layer$getLayerConfig.passes,
@@ -36,7 +36,7 @@ var PixelPickingPlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
36
36
  value: function apply(layer, _ref) {
37
37
  var styleAttributeService = _ref.styleAttributeService;
38
38
  // TODO: 由于 Shader 目前无法根据是否开启拾取进行内容修改,因此即使不开启也需要生成 a_PickingColor
39
- layer.hooks.init.tapPromise('PixelPickingPlugin', function () {
39
+ layer.hooks.init.tap('PixelPickingPlugin', function () {
40
40
  var _layer$getLayerConfig = layer.getLayerConfig(),
41
41
  enablePicking = _layer$getLayerConfig.enablePicking;
42
42
 
@@ -36,7 +36,7 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
36
36
  var _this = this;
37
37
 
38
38
  var styleAttributeService = _ref.styleAttributeService;
39
- layer.hooks.init.tapPromise('RegisterStyleAttributePlugin', function () {
39
+ layer.hooks.init.tap('RegisterStyleAttributePlugin', function () {
40
40
  // 过滤 tileGroup layer (瓦片图层不需要注册)
41
41
  if ((0, _utils.isTileGroup)(layer)) {
42
42
  return;
@@ -52,6 +52,21 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
52
52
  if (layer.type === 'MaskLayer') {
53
53
  this.registerPositionAttribute(styleAttributeService);
54
54
  return;
55
+ } // 用途为 basemap 的 Layer 也只需要注册 a_Position
56
+
57
+
58
+ var _layer$getLayerConfig = layer.getLayerConfig(),
59
+ usage = _layer$getLayerConfig.usage;
60
+
61
+ if (usage === 'basemap') {
62
+ this.registerPositionAttribute(styleAttributeService);
63
+ return;
64
+ }
65
+
66
+ if (layer.isTileLayer) {
67
+ this.registerPositionAttribute(styleAttributeService);
68
+ this.registerColorAttribute(styleAttributeService);
69
+ return;
55
70
  } // Tip: normal render layer
56
71
 
57
72
 
@@ -35,9 +35,6 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
35
35
  layer.layerModel.needUpdate();
36
36
  }
37
37
  });
38
- layer.hooks.afterRender.tap('UpdateModelPlugin', function () {
39
- layer.layerModelNeedUpdate = false;
40
- });
41
38
  }
42
39
  }]);
43
40
  return UpdateModelPlugin;
@@ -32,17 +32,20 @@ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
32
32
  var _this = this;
33
33
 
34
34
  var styleAttributeService = _ref.styleAttributeService;
35
- layer.hooks.init.tapPromise('UpdateStyleAttributePlugin', function () {
35
+ layer.hooks.init.tap('UpdateStyleAttributePlugin', function () {
36
36
  _this.initStyleAttribute(layer, {
37
37
  styleAttributeService: styleAttributeService
38
38
  });
39
39
  });
40
40
  layer.hooks.beforeRender.tap('UpdateStyleAttributePlugin', function () {
41
- if (layer.layerModelNeedUpdate) {
41
+ var _layer$getLayerConfig = layer.getLayerConfig(),
42
+ usage = _layer$getLayerConfig.usage;
43
+
44
+ if (layer.layerModelNeedUpdate || layer.tileLayer || usage === 'basemap') {
42
45
  return;
43
46
  }
44
47
 
45
- if (layer.inited) {
48
+ if (layer.modelLoaded) {
46
49
  _this.updateStyleAttribute(layer, {
47
50
  styleAttributeService: styleAttributeService
48
51
  });
@@ -7,10 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
11
 
16
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -27,6 +23,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
27
23
 
28
24
  var _BaseLayer2 = _interopRequireDefault(require("../core/BaseLayer"));
29
25
 
26
+ var _utils = require("../tile/utils");
27
+
30
28
  var _index = _interopRequireDefault(require("./models/index"));
31
29
 
32
30
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
@@ -70,57 +68,24 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
70
68
 
71
69
  (0, _createClass2.default)(PointLayer, [{
72
70
  key: "buildModels",
73
- value: function () {
74
- var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
75
- var modelType;
76
- return _regenerator.default.wrap(function _callee$(_context) {
77
- while (1) {
78
- switch (_context.prev = _context.next) {
79
- case 0:
80
- modelType = this.getModelType();
81
- this.layerModel = new _index.default[modelType](this);
82
- _context.next = 4;
83
- return this.initLayerModels();
84
-
85
- case 4:
86
- case "end":
87
- return _context.stop();
88
- }
89
- }
90
- }, _callee, this);
91
- }));
71
+ value: function buildModels() {
72
+ var _this2 = this;
92
73
 
93
- function buildModels() {
94
- return _buildModels.apply(this, arguments);
95
- }
96
-
97
- return buildModels;
98
- }()
74
+ var modelType = this.getModelType();
75
+ this.layerModel = new _index.default[modelType](this);
76
+ this.layerModel.initModels(function (models) {
77
+ _this2.dispatchModelLoad(models);
78
+ });
79
+ }
99
80
  }, {
100
81
  key: "rebuildModels",
101
- value: function () {
102
- var _rebuildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
103
- return _regenerator.default.wrap(function _callee2$(_context2) {
104
- while (1) {
105
- switch (_context2.prev = _context2.next) {
106
- case 0:
107
- _context2.next = 2;
108
- return this.buildModels();
109
-
110
- case 2:
111
- case "end":
112
- return _context2.stop();
113
- }
114
- }
115
- }, _callee2, this);
116
- }));
117
-
118
- function rebuildModels() {
119
- return _rebuildModels.apply(this, arguments);
120
- }
82
+ value: function rebuildModels() {
83
+ var _this3 = this;
121
84
 
122
- return rebuildModels;
123
- }()
85
+ this.layerModel.buildModels(function (models) {
86
+ _this3.dispatchModelLoad(models);
87
+ });
88
+ }
124
89
  /**
125
90
  * 在未传入数据的时候判断点图层的 shape 类型
126
91
  * @returns
@@ -143,10 +108,6 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
143
108
  return 'fill';
144
109
  }
145
110
 
146
- if (values === 'text') {
147
- return 'text';
148
- }
149
-
150
111
  if (values && values instanceof Array) {
151
112
  var _iterator = _createForOfIteratorHelper(values),
152
113
  _step;
@@ -188,6 +149,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
188
149
  text: {
189
150
  blend: 'normal'
190
151
  },
152
+ vectorPoint: {},
191
153
  tile: {},
192
154
  tileText: {},
193
155
  earthFill: {},
@@ -198,7 +160,13 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
198
160
  }, {
199
161
  key: "getModelType",
200
162
  value: function getModelType() {
201
- // 2D、 3d、 shape、image、text、normal、
163
+ var parserType = this.layerSource.getParserType();
164
+
165
+ if ((0, _utils.isVectorTile)(parserType)) {
166
+ return 'vectorPoint';
167
+ } // 2D、 3d、 shape、image、text、normal、
168
+
169
+
202
170
  var layerData = this.getEncodedData();
203
171
 
204
172
  var _this$getLayerConfig2 = this.getLayerConfig(),