@antv/l7-layers 2.9.27-alpha.2 → 2.9.27-alpha.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 (342) hide show
  1. package/es/Geometry/index.js +6 -2
  2. package/es/Geometry/models/billboard.js +3 -7
  3. package/es/Geometry/models/plane.js +5 -7
  4. package/es/Geometry/models/sprite.js +4 -7
  5. package/es/canvas/index.d.ts +4 -0
  6. package/es/canvas/index.js +38 -2
  7. package/es/citybuliding/building.js +6 -2
  8. package/es/citybuliding/models/build.js +2 -3
  9. package/es/core/BaseLayer.d.ts +20 -12
  10. package/es/core/BaseLayer.js +61 -85
  11. package/es/core/BaseModel.d.ts +2 -2
  12. package/es/core/BaseModel.js +22 -19
  13. package/es/core/interface.d.ts +20 -1
  14. package/es/core/triangulation.d.ts +6 -0
  15. package/es/core/triangulation.js +64 -2
  16. package/es/earth/index.js +3 -1
  17. package/es/earth/models/atmosphere.js +4 -7
  18. package/es/earth/models/base.js +12 -18
  19. package/es/earth/models/bloomsphere.js +4 -8
  20. package/es/earth/shaders/atmosphere_frag.glsl +1 -1
  21. package/es/earth/shaders/bloomsphere_frag.glsl +1 -1
  22. package/es/heatmap/index.d.ts +2 -2
  23. package/es/heatmap/index.js +7 -5
  24. package/es/heatmap/models/grid.js +1 -3
  25. package/es/heatmap/models/grid3d.js +4 -11
  26. package/es/heatmap/models/heatmap.js +8 -9
  27. package/es/heatmap/models/hexagon.js +2 -6
  28. package/es/heatmap/triangulation.js +0 -1
  29. package/es/image/index.d.ts +1 -1
  30. package/es/image/index.js +10 -3
  31. package/es/image/models/dataImage.d.ts +1 -1
  32. package/es/image/models/dataImage.js +14 -39
  33. package/es/image/models/image.js +5 -10
  34. package/es/image/models/index.d.ts +1 -1
  35. package/es/image/models/index.js +3 -1
  36. package/es/image/models/tileDataImage.d.ts +19 -0
  37. package/es/image/models/tileDataImage.js +174 -0
  38. package/es/line/index.d.ts +1 -0
  39. package/es/line/index.js +8 -2
  40. package/es/line/models/arc.js +10 -10
  41. package/es/line/models/arc_3d.js +8 -10
  42. package/es/line/models/earthArc_3d.js +8 -10
  43. package/es/line/models/great_circle.js +7 -7
  44. package/es/line/models/half.js +3 -4
  45. package/es/line/models/line.js +10 -9
  46. package/es/line/models/linearline.js +3 -4
  47. package/es/line/models/simpleLine.js +5 -4
  48. package/es/line/models/simpleTileLine.d.ts +9 -0
  49. package/es/line/models/simpleTileLine.js +100 -0
  50. package/es/line/models/tile.d.ts +1 -4
  51. package/es/line/models/tile.js +50 -223
  52. package/es/line/models/wall.js +11 -47
  53. package/es/line/shaders/dash/arc_dash_vert.glsl +2 -0
  54. package/es/line/shaders/dash/line_dash_frag.glsl +1 -1
  55. package/es/line/shaders/line_arc2d_vert.glsl +2 -2
  56. package/es/line/shaders/line_arc_3d_frag.glsl +10 -10
  57. package/es/line/shaders/line_arc_3d_vert.glsl +5 -6
  58. package/es/line/shaders/line_arc_frag.glsl +9 -10
  59. package/es/line/shaders/line_arc_great_circle_frag.glsl +6 -6
  60. package/es/line/shaders/line_arc_great_circle_vert.glsl +2 -3
  61. package/es/line/shaders/line_arc_vert.glsl +6 -4
  62. package/es/line/shaders/line_bezier_vert.glsl +2 -2
  63. package/es/line/shaders/line_frag.glsl +5 -6
  64. package/es/line/shaders/line_vert.glsl +1 -1
  65. package/es/line/shaders/linear/arc3d_linear_frag.glsl +6 -7
  66. package/es/line/shaders/linear/arc3d_linear_vert.glsl +11 -12
  67. package/es/line/shaders/linear/arc_linear_frag.glsl +1 -1
  68. package/es/line/shaders/tile/line_tile_map_vert.glsl +25 -0
  69. package/es/line/shaders/tile/line_tile_vert.glsl +19 -177
  70. package/es/line/shaders/tile/simpleline_map_vert.glsl +15 -0
  71. package/es/line/shaders/tile/simpleline_vert.glsl +21 -0
  72. package/es/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +21 -25
  73. package/es/line/shaders/wall/wall_vert.glsl +77 -0
  74. package/es/mask/index.d.ts +1 -0
  75. package/es/mask/index.js +80 -5
  76. package/es/mask/models/fill.d.ts +2 -1
  77. package/es/mask/models/fill.js +13 -10
  78. package/es/mask/shaders/mask_vert.glsl +0 -6
  79. package/es/plugins/DataMappingPlugin.d.ts +4 -3
  80. package/es/plugins/DataMappingPlugin.js +129 -58
  81. package/es/plugins/DataSourcePlugin.js +3 -2
  82. package/es/plugins/FeatureScalePlugin.d.ts +0 -2
  83. package/es/plugins/FeatureScalePlugin.js +8 -51
  84. package/es/plugins/LayerAnimateStylePlugin.d.ts +0 -2
  85. package/es/plugins/LayerAnimateStylePlugin.js +7 -27
  86. package/es/plugins/LayerModelPlugin.js +2 -6
  87. package/es/plugins/LightingPlugin.js +1 -7
  88. package/es/plugins/MultiPassRendererPlugin.d.ts +0 -1
  89. package/es/plugins/MultiPassRendererPlugin.js +4 -16
  90. package/es/plugins/PixelPickingPlugin.d.ts +1 -1
  91. package/es/plugins/PixelPickingPlugin.js +8 -28
  92. package/es/plugins/RegisterStyleAttributePlugin.d.ts +4 -0
  93. package/es/plugins/RegisterStyleAttributePlugin.js +56 -5
  94. package/es/plugins/UpdateStyleAttributePlugin.js +2 -9
  95. package/es/point/index.js +9 -6
  96. package/es/point/models/earthExtrude.d.ts +1 -1
  97. package/es/point/models/earthExtrude.js +9 -14
  98. package/es/point/models/earthFill.js +2 -2
  99. package/es/point/models/extrude.d.ts +1 -1
  100. package/es/point/models/extrude.js +9 -12
  101. package/es/point/models/fill.d.ts +1 -1
  102. package/es/point/models/fill.js +8 -9
  103. package/es/point/models/fillmage.js +5 -6
  104. package/es/point/models/image.js +3 -3
  105. package/es/point/models/index.d.ts +1 -1
  106. package/es/point/models/index.js +3 -3
  107. package/es/point/models/normal.d.ts +0 -1
  108. package/es/point/models/normal.js +9 -62
  109. package/es/point/models/radar.js +5 -70
  110. package/es/point/models/simplePoint.d.ts +0 -1
  111. package/es/point/models/simplePoint.js +2 -11
  112. package/es/point/models/text.js +7 -10
  113. package/es/point/models/tile.d.ts +0 -7
  114. package/es/point/models/tile.js +24 -158
  115. package/es/point/models/tileText.d.ts +0 -4
  116. package/es/point/models/tileText.js +99 -188
  117. package/es/point/shaders/animate/wave_frag.glsl +4 -4
  118. package/es/point/shaders/earth/fill_vert.glsl +0 -1
  119. package/es/point/shaders/fill_vert.glsl +0 -1
  120. package/es/point/shaders/normal_frag.glsl +1 -10
  121. package/es/point/shaders/normal_vert.glsl +5 -60
  122. package/es/point/shaders/radar/radar_frag.glsl +4 -15
  123. package/es/point/shaders/radar/radar_vert.glsl +4 -54
  124. package/es/point/shaders/tile/fill_tile_frag.glsl +10 -17
  125. package/es/point/shaders/tile/fill_tile_vert.glsl +20 -123
  126. package/es/point/shaders/tile/text_frag.glsl +33 -0
  127. package/es/point/shaders/tile/text_map_frag.glsl +31 -0
  128. package/es/point/shaders/tile/text_map_vert.glsl +38 -0
  129. package/es/point/shaders/tile/text_vert.glsl +48 -0
  130. package/es/polygon/index.js +6 -2
  131. package/es/polygon/models/extrude.js +4 -8
  132. package/es/polygon/models/fill.js +3 -4
  133. package/es/polygon/models/ocean.d.ts +0 -2
  134. package/es/polygon/models/ocean.js +13 -47
  135. package/es/polygon/models/tile.d.ts +1 -4
  136. package/es/polygon/models/tile.js +25 -57
  137. package/es/polygon/models/water.d.ts +0 -2
  138. package/es/polygon/models/water.js +13 -47
  139. package/es/polygon/shaders/polygon_frag.glsl +2 -2
  140. package/es/polygon/shaders/polygon_vert.glsl +2 -2
  141. package/es/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
  142. package/es/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
  143. package/es/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
  144. package/es/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
  145. package/es/polygon/shaders/water/polygon_water_frag.glsl +1 -3
  146. package/es/polygon/shaders/water/polygon_water_vert.glsl +0 -29
  147. package/es/raster/buffers/triangulation.js +1 -4
  148. package/es/raster/index.js +6 -2
  149. package/es/raster/models/raster.d.ts +1 -1
  150. package/es/raster/models/raster.js +6 -5
  151. package/es/shader/minify_frag.glsl +7 -0
  152. package/es/shader/minify_picking_frag.glsl +10 -0
  153. package/es/tile/manager/baseMapTileLayerManager.d.ts +29 -0
  154. package/es/tile/manager/baseMapTileLayerManager.js +207 -0
  155. package/es/tile/manager/tileLayerManager.d.ts +2 -2
  156. package/es/tile/manager/tileLayerManager.js +12 -2
  157. package/es/tile/manager/tilePickerManager.d.ts +2 -3
  158. package/es/tile/manager/tilePickerManager.js +1 -2
  159. package/es/tile/models/tileModel.d.ts +1 -0
  160. package/es/tile/models/tileModel.js +18 -2
  161. package/es/tile/tileFactory/base.d.ts +1 -1
  162. package/es/tile/tileFactory/base.js +58 -33
  163. package/es/tile/tileFactory/line.js +3 -0
  164. package/es/tile/tileFactory/point.js +3 -0
  165. package/es/tile/tileFactory/polygon.js +3 -0
  166. package/es/tile/tileFactory/raster.js +3 -0
  167. package/es/tile/tileFactory/rasterData.js +3 -0
  168. package/es/tile/tileFactory/rasterDataLayer.js +6 -2
  169. package/es/tile/tileFactory/test.js +26 -5
  170. package/es/tile/tileFactory/vectorLayer.d.ts +4 -1
  171. package/es/tile/tileFactory/vectorLayer.js +110 -7
  172. package/es/tile/tileLayer/baseMapTileLayer.d.ts +29 -0
  173. package/es/tile/tileLayer/baseMapTileLayer.js +188 -0
  174. package/es/tile/tileLayer/baseTileLayer.d.ts +4 -4
  175. package/es/tile/tileLayer/baseTileLayer.js +46 -75
  176. package/es/tile/tileTest.d.ts +1 -0
  177. package/es/tile/tileTest.js +3 -2
  178. package/es/tile/tmsMapTileLayer.d.ts +9 -0
  179. package/es/tile/tmsMapTileLayer.js +119 -0
  180. package/es/tile/tmsTileLayer.d.ts +2 -0
  181. package/es/tile/tmsTileLayer.js +24 -2
  182. package/es/tile/utils.d.ts +4 -0
  183. package/es/tile/utils.js +30 -0
  184. package/es/utils/dataMappingStyle.js +3 -0
  185. package/es/utils/layerData.js +2 -2
  186. package/es/utils/updateShape.js +2 -2
  187. package/es/wind/index.js +6 -2
  188. package/es/wind/models/wind.js +8 -8
  189. package/es/wind/shaders/wind_vert.glsl +1 -1
  190. package/lib/Geometry/index.js +6 -2
  191. package/lib/Geometry/models/billboard.js +3 -7
  192. package/lib/Geometry/models/plane.js +5 -7
  193. package/lib/Geometry/models/sprite.js +4 -7
  194. package/lib/canvas/index.js +37 -2
  195. package/lib/citybuliding/building.js +6 -2
  196. package/lib/citybuliding/models/build.js +2 -3
  197. package/lib/core/BaseLayer.js +61 -85
  198. package/lib/core/BaseModel.js +22 -19
  199. package/lib/core/triangulation.js +66 -2
  200. package/lib/earth/index.js +3 -1
  201. package/lib/earth/models/atmosphere.js +4 -7
  202. package/lib/earth/models/base.js +12 -18
  203. package/lib/earth/models/bloomsphere.js +4 -8
  204. package/lib/earth/shaders/atmosphere_frag.glsl +1 -1
  205. package/lib/earth/shaders/bloomsphere_frag.glsl +1 -1
  206. package/lib/heatmap/index.js +7 -5
  207. package/lib/heatmap/models/grid.js +1 -3
  208. package/lib/heatmap/models/grid3d.js +4 -11
  209. package/lib/heatmap/models/heatmap.js +8 -9
  210. package/lib/heatmap/models/hexagon.js +2 -6
  211. package/lib/heatmap/triangulation.js +0 -1
  212. package/lib/image/index.js +10 -3
  213. package/lib/image/models/dataImage.js +13 -38
  214. package/lib/image/models/image.js +5 -10
  215. package/lib/image/models/index.js +4 -1
  216. package/lib/image/models/tileDataImage.js +188 -0
  217. package/lib/line/index.js +7 -2
  218. package/lib/line/models/arc.js +10 -10
  219. package/lib/line/models/arc_3d.js +8 -10
  220. package/lib/line/models/earthArc_3d.js +8 -10
  221. package/lib/line/models/great_circle.js +7 -7
  222. package/lib/line/models/half.js +3 -4
  223. package/lib/line/models/line.js +10 -9
  224. package/lib/line/models/linearline.js +3 -4
  225. package/lib/line/models/simpleLine.js +5 -4
  226. package/lib/line/models/simpleTileLine.js +115 -0
  227. package/lib/line/models/tile.js +50 -224
  228. package/lib/line/models/wall.js +11 -47
  229. package/lib/line/shaders/dash/arc_dash_vert.glsl +2 -0
  230. package/lib/line/shaders/dash/line_dash_frag.glsl +1 -1
  231. package/lib/line/shaders/line_arc2d_vert.glsl +2 -2
  232. package/lib/line/shaders/line_arc_3d_frag.glsl +10 -10
  233. package/lib/line/shaders/line_arc_3d_vert.glsl +5 -6
  234. package/lib/line/shaders/line_arc_frag.glsl +9 -10
  235. package/lib/line/shaders/line_arc_great_circle_frag.glsl +6 -6
  236. package/lib/line/shaders/line_arc_great_circle_vert.glsl +2 -3
  237. package/lib/line/shaders/line_arc_vert.glsl +6 -4
  238. package/lib/line/shaders/line_bezier_vert.glsl +2 -2
  239. package/lib/line/shaders/line_frag.glsl +5 -6
  240. package/lib/line/shaders/line_vert.glsl +1 -1
  241. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +6 -7
  242. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +11 -12
  243. package/lib/line/shaders/linear/arc_linear_frag.glsl +1 -1
  244. package/lib/line/shaders/tile/line_tile_map_vert.glsl +25 -0
  245. package/lib/line/shaders/tile/line_tile_vert.glsl +19 -177
  246. package/lib/line/shaders/tile/simpleline_map_vert.glsl +15 -0
  247. package/lib/line/shaders/tile/simpleline_vert.glsl +21 -0
  248. package/lib/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +21 -25
  249. package/lib/line/shaders/wall/wall_vert.glsl +77 -0
  250. package/lib/mask/index.js +82 -5
  251. package/lib/mask/models/fill.js +14 -10
  252. package/lib/mask/shaders/mask_vert.glsl +0 -6
  253. package/lib/plugins/DataMappingPlugin.js +127 -57
  254. package/lib/plugins/DataSourcePlugin.js +3 -2
  255. package/lib/plugins/FeatureScalePlugin.js +6 -50
  256. package/lib/plugins/LayerAnimateStylePlugin.js +6 -29
  257. package/lib/plugins/LayerModelPlugin.js +2 -6
  258. package/lib/plugins/LightingPlugin.js +1 -7
  259. package/lib/plugins/MultiPassRendererPlugin.js +3 -19
  260. package/lib/plugins/PixelPickingPlugin.js +8 -28
  261. package/lib/plugins/RegisterStyleAttributePlugin.js +56 -5
  262. package/lib/plugins/UpdateStyleAttributePlugin.js +2 -9
  263. package/lib/point/index.js +9 -6
  264. package/lib/point/models/earthExtrude.js +9 -14
  265. package/lib/point/models/earthFill.js +2 -2
  266. package/lib/point/models/extrude.js +9 -12
  267. package/lib/point/models/fill.js +8 -9
  268. package/lib/point/models/fillmage.js +5 -6
  269. package/lib/point/models/image.js +3 -3
  270. package/lib/point/models/index.js +1 -1
  271. package/lib/point/models/normal.js +8 -61
  272. package/lib/point/models/radar.js +5 -70
  273. package/lib/point/models/simplePoint.js +1 -10
  274. package/lib/point/models/text.js +7 -10
  275. package/lib/point/models/tile.js +23 -159
  276. package/lib/point/models/tileText.js +98 -187
  277. package/lib/point/shaders/animate/wave_frag.glsl +4 -4
  278. package/lib/point/shaders/earth/fill_vert.glsl +0 -1
  279. package/lib/point/shaders/fill_vert.glsl +0 -1
  280. package/lib/point/shaders/normal_frag.glsl +1 -10
  281. package/lib/point/shaders/normal_vert.glsl +5 -60
  282. package/lib/point/shaders/radar/radar_frag.glsl +4 -15
  283. package/lib/point/shaders/radar/radar_vert.glsl +4 -54
  284. package/lib/point/shaders/tile/fill_tile_frag.glsl +10 -17
  285. package/lib/point/shaders/tile/fill_tile_vert.glsl +20 -123
  286. package/lib/point/shaders/tile/text_frag.glsl +33 -0
  287. package/lib/point/shaders/tile/text_map_frag.glsl +31 -0
  288. package/lib/point/shaders/tile/text_map_vert.glsl +38 -0
  289. package/lib/point/shaders/tile/text_vert.glsl +48 -0
  290. package/lib/polygon/index.js +6 -2
  291. package/lib/polygon/models/extrude.js +4 -8
  292. package/lib/polygon/models/fill.js +3 -4
  293. package/lib/polygon/models/ocean.js +14 -47
  294. package/lib/polygon/models/tile.js +24 -57
  295. package/lib/polygon/models/water.js +14 -47
  296. package/lib/polygon/shaders/polygon_frag.glsl +2 -2
  297. package/lib/polygon/shaders/polygon_vert.glsl +2 -2
  298. package/lib/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
  299. package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
  300. package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
  301. package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
  302. package/lib/polygon/shaders/water/polygon_water_frag.glsl +1 -3
  303. package/lib/polygon/shaders/water/polygon_water_vert.glsl +0 -29
  304. package/lib/raster/buffers/triangulation.js +1 -4
  305. package/lib/raster/index.js +6 -2
  306. package/lib/raster/models/raster.js +6 -5
  307. package/lib/shader/minify_frag.glsl +7 -0
  308. package/lib/shader/minify_picking_frag.glsl +10 -0
  309. package/lib/tile/manager/baseMapTileLayerManager.js +222 -0
  310. package/lib/tile/manager/tileLayerManager.js +12 -2
  311. package/lib/tile/manager/tilePickerManager.js +1 -2
  312. package/lib/tile/models/tileModel.js +19 -2
  313. package/lib/tile/tileFactory/base.js +60 -33
  314. package/lib/tile/tileFactory/line.js +3 -0
  315. package/lib/tile/tileFactory/point.js +3 -0
  316. package/lib/tile/tileFactory/polygon.js +3 -0
  317. package/lib/tile/tileFactory/raster.js +3 -0
  318. package/lib/tile/tileFactory/rasterData.js +3 -0
  319. package/lib/tile/tileFactory/rasterDataLayer.js +6 -2
  320. package/lib/tile/tileFactory/test.js +26 -5
  321. package/lib/tile/tileFactory/vectorLayer.js +112 -8
  322. package/lib/tile/tileLayer/baseMapTileLayer.js +195 -0
  323. package/lib/tile/tileLayer/baseTileLayer.js +46 -75
  324. package/lib/tile/tileTest.js +3 -2
  325. package/lib/tile/tmsMapTileLayer.js +136 -0
  326. package/lib/tile/tmsTileLayer.js +25 -2
  327. package/lib/tile/utils.js +38 -0
  328. package/lib/utils/dataMappingStyle.js +3 -0
  329. package/lib/utils/layerData.js +2 -2
  330. package/lib/utils/updateShape.js +2 -2
  331. package/lib/wind/index.js +6 -2
  332. package/lib/wind/models/wind.js +7 -7
  333. package/lib/wind/shaders/wind_vert.glsl +1 -1
  334. package/package.json +8 -7
  335. package/es/line/shaders/tile/line_tile_frag.glsl +0 -79
  336. package/es/line/shaders/wall_vert.glsl +0 -111
  337. package/es/mask/shaders/mask_frag.glsl +0 -7
  338. package/es/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
  339. package/lib/line/shaders/tile/line_tile_frag.glsl +0 -79
  340. package/lib/line/shaders/wall_vert.glsl +0 -111
  341. package/lib/mask/shaders/mask_frag.glsl +0 -7
  342. package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
@@ -33,12 +33,21 @@ var turf = _interopRequireWildcard(require("@turf/helpers"));
33
33
 
34
34
  var _union = _interopRequireDefault(require("@turf/union"));
35
35
 
36
+ var _clone = _interopRequireDefault(require("@turf/clone"));
37
+
36
38
  var _polygonToLine = _interopRequireDefault(require("@turf/polygon-to-line"));
37
39
 
38
40
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
41
 
40
42
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
43
 
44
+ var EMPTY_FEATURE_DATA = {
45
+ features: [],
46
+ featureId: null,
47
+ vectorTileLayer: null,
48
+ source: null
49
+ };
50
+
42
51
  var TileFactory = /*#__PURE__*/function () {
43
52
  // 用于记录图层内事件,辅助判断图层外事件逻辑
44
53
  function TileFactory(option) {
@@ -57,7 +66,8 @@ var TileFactory = /*#__PURE__*/function () {
57
66
  var source = this.parentLayer.getSource();
58
67
  this.zoomOffset = source.parser.zoomOffset || 0;
59
68
  this.tilesetManager = source.tileset;
60
- }
69
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
70
+
61
71
 
62
72
  (0, _createClass2.default)(TileFactory, [{
63
73
  key: "createTile",
@@ -70,44 +80,41 @@ var TileFactory = /*#__PURE__*/function () {
70
80
  }, {
71
81
  key: "getFeatureData",
72
82
  value: function getFeatureData(tile, initOptions) {
73
- var emptyData = {
74
- features: [],
75
- featureId: null,
76
- vectorTileLayer: null,
77
- source: null
78
- };
79
83
  var sourceLayer = initOptions.sourceLayer,
80
84
  featureId = initOptions.featureId,
81
- transforms = initOptions.transforms,
85
+ _initOptions$transfor = initOptions.transforms,
86
+ transforms = _initOptions$transfor === void 0 ? [] : _initOptions$transfor,
82
87
  layerType = initOptions.layerType,
83
88
  shape = initOptions.shape;
84
89
 
85
90
  if (!sourceLayer) {
86
- return emptyData;
91
+ return EMPTY_FEATURE_DATA;
87
92
  }
88
93
 
89
94
  var vectorTileLayer = tile.data.layers[sourceLayer];
90
95
  var features = vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.features;
91
96
 
92
97
  if (!(Array.isArray(features) && features.length > 0)) {
93
- return emptyData;
98
+ return EMPTY_FEATURE_DATA;
94
99
  } else {
95
100
  var geofeatures = [];
96
101
 
97
102
  if (layerType === 'LineLayer' && shape === 'simple') {
98
103
  features.map(function (feature) {
99
- if (feature.geometry.type === 'MultiPolygon') {
104
+ var cloneFeature = (0, _clone.default)(feature);
105
+
106
+ if (cloneFeature.geometry.type === 'MultiPolygon') {
100
107
  var _geofeatures;
101
108
 
102
109
  // @ts-ignore
103
- var linefeatures = (0, _polygonToLine.default)(feature).features;
110
+ var linefeatures = (0, _polygonToLine.default)(cloneFeature).features;
104
111
 
105
112
  (_geofeatures = geofeatures).push.apply(_geofeatures, (0, _toConsumableArray2.default)(linefeatures));
106
- } else if (feature.geometry.type === 'Polygon') {
107
- feature.geometry.type = 'MultiLineString';
108
- geofeatures.push(feature);
113
+ } else if (cloneFeature.geometry.type === 'Polygon') {
114
+ cloneFeature.geometry.type = 'MultiLineString';
115
+ geofeatures.push(cloneFeature);
109
116
  } else {
110
- geofeatures.push(feature);
117
+ geofeatures.push(cloneFeature);
111
118
  }
112
119
  });
113
120
  } else {
@@ -120,7 +127,8 @@ var TileFactory = /*#__PURE__*/function () {
120
127
  }, {
121
128
  parser: {
122
129
  type: 'geojson',
123
- featureId: featureId
130
+ featureId: featureId,
131
+ cancelExtent: true
124
132
  },
125
133
  transforms: transforms
126
134
  });
@@ -144,28 +152,43 @@ var TileFactory = /*#__PURE__*/function () {
144
152
  color = initOptions.color,
145
153
  layerType = initOptions.layerType,
146
154
  size = initOptions.size,
147
- shape = initOptions.shape;
155
+ shape = initOptions.shape,
156
+ usage = initOptions.usage,
157
+ basemapColor = initOptions.basemapColor,
158
+ basemapSize = initOptions.basemapSize;
148
159
  var FactoryTileLayer = L7Layer ? L7Layer : _vectorLayer.default;
149
160
  var layer = new FactoryTileLayer((0, _objectSpread2.default)({
150
161
  visible: tile.isVisible,
151
162
  tileOrigin: vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.l7TileOrigin,
152
163
  coord: vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.l7TileCoord
153
- }, this.getLayerInitOption(initOptions))); // vector layer set config
164
+ }, this.getLayerInitOption(initOptions)));
165
+ if (layerType) layer.type = layerType; // Tip: sign tile layer
166
+
167
+ layer.isTileLayer = true; // vector 、raster
168
+ // vector layer set event
154
169
 
155
- if (layer.isVector) {
170
+ if (layer.isVector && usage !== 'basemap') {
156
171
  this.emitEvent([layer]);
157
- layer.type = layerType;
158
172
  layer.select(true);
159
173
  } // set source
160
174
 
161
175
 
162
- layer.source(source); // set scale
163
-
164
- this.setScale(layer); // set scale attribute field
176
+ layer.source(source); // set scale attribute field
165
177
 
166
178
  this.setStyleAttributeField(layer, 'shape', shape);
167
- this.setStyleAttributeField(layer, 'color', color);
168
- this.setStyleAttributeField(layer, 'size', size); // set mask
179
+
180
+ if (usage !== 'basemap') {
181
+ // set scale
182
+ this.setScale(layer);
183
+ this.setStyleAttributeField(layer, 'color', color);
184
+ this.setStyleAttributeField(layer, 'size', size);
185
+ } else {
186
+ layer.style({
187
+ color: basemapColor,
188
+ size: basemapSize
189
+ });
190
+ } // set mask
191
+
169
192
 
170
193
  var layers = [layer];
171
194
 
@@ -173,7 +196,12 @@ var TileFactory = /*#__PURE__*/function () {
173
196
  var masklayer = new _mask.default().source({
174
197
  type: 'FeatureCollection',
175
198
  features: [tile.bboxPolygon]
176
- }).shape('fill');
199
+ }, {
200
+ parser: {
201
+ type: 'geojson',
202
+ cancelExtent: true
203
+ }
204
+ });
177
205
  layers.push(masklayer);
178
206
  layer.addMaskLayer(masklayer);
179
207
  } // regist layer
@@ -193,7 +221,7 @@ var TileFactory = /*#__PURE__*/function () {
193
221
  value: function getDefautStyleAttributeField(layer, type) {
194
222
  switch (type) {
195
223
  case 'size':
196
- return 2;
224
+ return 1;
197
225
 
198
226
  case 'color':
199
227
  return '#fff';
@@ -272,8 +300,7 @@ var TileFactory = /*#__PURE__*/function () {
272
300
  var tiles = this.tilesetManager.tiles.filter(function (t) {
273
301
  return t.key === "".concat(xy[0], ",").concat(xy[1], ",").concat(z);
274
302
  });
275
- var tile = tiles[0];
276
- return tile;
303
+ return tiles[0];
277
304
  }
278
305
  }, {
279
306
  key: "emitEvent",
@@ -292,7 +319,7 @@ var TileFactory = /*#__PURE__*/function () {
292
319
 
293
320
  var tile = _this.getTile(lng, lat);
294
321
 
295
- _this.getFeatureAndEmitEvent(layer, 'subLayerClick', e, isVector, tile);
322
+ tile && _this.getFeatureAndEmitEvent(layer, 'subLayerClick', e, isVector, tile);
296
323
  } else {
297
324
  _this.getFeatureAndEmitEvent(layer, 'subLayerClick', e);
298
325
  }
@@ -307,7 +334,7 @@ var TileFactory = /*#__PURE__*/function () {
307
334
 
308
335
  var tile = _this.getTile(lng, lat);
309
336
 
310
- _this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e, isVector, tile);
337
+ tile && _this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e, isVector, tile);
311
338
  } else {
312
339
  _this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e);
313
340
  }
@@ -325,7 +352,7 @@ var TileFactory = /*#__PURE__*/function () {
325
352
 
326
353
  var tile = _this.getTile(lng, lat);
327
354
 
328
- _this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e, isVector, tile);
355
+ tile && _this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e, isVector, tile);
329
356
  } else {
330
357
  _this.getFeatureAndEmitEvent(layer, 'subLayerMouseEnter', e);
331
358
  }
@@ -58,6 +58,9 @@ var VectorPolygonTile = /*#__PURE__*/function (_TileFactory) {
58
58
  vectorTileLayer: vectorTileLayer,
59
59
  source: source
60
60
  });
61
+ layer.once('modelLoaded', function () {
62
+ tile.layerLoad();
63
+ });
61
64
  return {
62
65
  layers: [layer],
63
66
  layerIDList: [layer.id]
@@ -58,6 +58,9 @@ var VectorPolygonTile = /*#__PURE__*/function (_TileFactory) {
58
58
  vectorTileLayer: vectorTileLayer,
59
59
  source: source
60
60
  });
61
+ layer.once('modelLoaded', function () {
62
+ tile.layerLoad();
63
+ });
61
64
  return {
62
65
  layers: [layer],
63
66
  layerIDList: [layer.id]
@@ -58,6 +58,9 @@ var VectorPolygonTile = /*#__PURE__*/function (_TileFactory) {
58
58
  vectorTileLayer: vectorTileLayer,
59
59
  source: source
60
60
  });
61
+ layer.once('modelLoaded', function () {
62
+ tile.layerLoad();
63
+ });
61
64
  return {
62
65
  layers: [layer],
63
66
  layerIDList: [layer.id]
@@ -56,6 +56,9 @@ var RasterTile = /*#__PURE__*/function (_TileFactory) {
56
56
  initOptions: initOptions,
57
57
  source: source
58
58
  });
59
+ layer.once('modelLoaded', function () {
60
+ tile.layerLoad();
61
+ });
59
62
  return {
60
63
  layers: [layer],
61
64
  layerIDList: [layer.id]
@@ -81,6 +81,9 @@ var RasterTiffTile = /*#__PURE__*/function (_TileFactory) {
81
81
  });
82
82
  this.emitEvent([layer], false);
83
83
  (0, _utils.registerLayers)(this.parentLayer, [layer]);
84
+ layer.once('modelLoaded', function () {
85
+ tile.layerLoad();
86
+ });
84
87
  return {
85
88
  layers: [layer],
86
89
  layerIDList: [layer.id]
@@ -58,7 +58,9 @@ var RasterTiffLayer = /*#__PURE__*/function (_BaseLayer) {
58
58
  this.layerModel.initModels(function (models) {
59
59
  _this2.models = models;
60
60
 
61
- _this2.renderLayers();
61
+ _this2.emit('modelLoaded', null);
62
+
63
+ _this2.layerService.throttleRenderLayers();
62
64
  });
63
65
  }
64
66
  }, {
@@ -67,7 +69,9 @@ var RasterTiffLayer = /*#__PURE__*/function (_BaseLayer) {
67
69
  var _this3 = this;
68
70
 
69
71
  this.layerModel.buildModels(function (models) {
70
- return _this3.models = models;
72
+ _this3.models = models;
73
+
74
+ _this3.emit('modelLoaded', null);
71
75
  });
72
76
  }
73
77
  }, {
@@ -65,24 +65,45 @@ var TestTile = /*#__PURE__*/function (_TileFactory) {
65
65
 
66
66
  var properties = features[0].properties;
67
67
  var text = new _vectorLayer.default({
68
- layerType: 'PointLayer'
68
+ layerType: 'PointLayer',
69
+ usage: 'basemap'
69
70
  }).source([properties], {
70
71
  parser: {
71
72
  type: 'json',
72
73
  x: 'textLng',
73
- y: 'textLat'
74
+ y: 'textLat',
75
+ cancelExtent: true
74
76
  }
75
- }).shape('key', 'text').size(20).color('#000').style({
77
+ }).shape('key', 'text').style({
78
+ size: 20,
79
+ color: '#000',
76
80
  stroke: '#fff',
77
81
  strokeWidth: 2
78
82
  });
79
83
  var line = new _vectorLayer.default({
80
- layerType: 'LineLayer'
84
+ layerType: 'LineLayer',
85
+ usage: 'basemap'
81
86
  }).source({
82
87
  type: 'FeatureCollection',
83
88
  features: features
84
- }).shape('simple').color('#000');
89
+ }, {
90
+ parser: {
91
+ type: 'geojson',
92
+ cancelExtent: true
93
+ }
94
+ }).shape('simple').style({
95
+ color: '#000'
96
+ }); // Tip: sign tile layer
97
+
98
+ text.isTileLayer = true;
99
+ line.isTileLayer = true;
85
100
  (0, _utils.registerLayers)(this.parentLayer, [line, text]);
101
+ text.once('modelLoaded', function () {
102
+ tile.layerLoad();
103
+ });
104
+ line.once('modelLoaded', function () {
105
+ tile.layerLoad();
106
+ });
86
107
  return {
87
108
  layers: [line, text],
88
109
  layerIDList: [line.id, text.id]
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+
10
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
13
 
12
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -21,11 +23,13 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
21
23
 
22
24
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
25
 
26
+ var _l7Core = require("@antv/l7-core");
27
+
24
28
  var _BaseLayer2 = _interopRequireDefault(require("../../core/BaseLayer"));
25
29
 
26
30
  var _tile = _interopRequireDefault(require("../../line/models/tile"));
27
31
 
28
- var _simpleLine = _interopRequireDefault(require("../../line/models/simpleLine"));
32
+ var _simpleTileLine = _interopRequireDefault(require("../../line/models/simpleTileLine"));
29
33
 
30
34
  var _tileText = _interopRequireDefault(require("../../point/models/tileText"));
31
35
 
@@ -33,6 +37,12 @@ var _tile2 = _interopRequireDefault(require("../../point/models/tile"));
33
37
 
34
38
  var _tile3 = _interopRequireDefault(require("../../polygon/models/tile"));
35
39
 
40
+ 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; } } }; }
41
+
42
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
43
+
44
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
45
+
36
46
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
37
47
 
38
48
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -53,12 +63,102 @@ var VectorLayer = /*#__PURE__*/function (_BaseLayer) {
53
63
 
54
64
  _this = _super.call.apply(_super, [this].concat(args));
55
65
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isVector", true);
56
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", _this.layerType);
66
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", _this.layerType || 'vectorLayer');
57
67
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "pickedID", null);
68
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sourceEvent", function () {
69
+ // Tip: vector 不支持 autoFit
70
+ _this.dataState.dataSourceNeedUpdate = true;
71
+
72
+ _this.reRender();
73
+ });
58
74
  return _this;
59
75
  }
60
76
 
61
77
  (0, _createClass2.default)(VectorLayer, [{
78
+ key: "init",
79
+ value: function init() {
80
+ var _this2 = this;
81
+
82
+ // 设置配置项
83
+ var sceneId = this.container.get(_l7Core.TYPES.SceneID);
84
+ this.configService.setLayerConfig(sceneId, this.id, this.rawConfig);
85
+ this.layerType = this.rawConfig.layerType;
86
+
87
+ if (this.type === 'PointLayer') {
88
+ // Tip: iconService 和 fontService 只有在矢量点图层中才会被使用
89
+ this.iconService = this.container.get(_l7Core.TYPES.IIconService);
90
+ this.fontService = this.container.get(_l7Core.TYPES.IFontService);
91
+ }
92
+
93
+ this.rendererService = this.container.get(_l7Core.TYPES.IRendererService);
94
+ this.layerService = this.container.get(_l7Core.TYPES.ILayerService);
95
+ this.mapService = this.container.get(_l7Core.TYPES.IMapService);
96
+ this.cameraService = this.container.get(_l7Core.TYPES.ICameraService);
97
+ this.coordinateService = this.container.get(_l7Core.TYPES.ICoordinateSystemService);
98
+ this.shaderModuleService = this.container.get(_l7Core.TYPES.IShaderModuleService);
99
+ this.postProcessingPassFactory = this.container.get(_l7Core.TYPES.IFactoryPostProcessingPass);
100
+ this.normalPassFactory = this.container.get(_l7Core.TYPES.IFactoryNormalPass); // 图层容器服务
101
+
102
+ this.styleAttributeService = this.container.get(_l7Core.TYPES.IStyleAttributeService); // 完成样式服务注册完成前添加的属性
103
+
104
+ this.pendingStyleAttributes.forEach(function (_ref) {
105
+ var attributeName = _ref.attributeName,
106
+ attributeField = _ref.attributeField,
107
+ attributeValues = _ref.attributeValues,
108
+ updateOptions = _ref.updateOptions;
109
+
110
+ _this2.styleAttributeService.updateStyleAttribute(attributeName, {
111
+ // @ts-ignore
112
+ scale: (0, _objectSpread2.default)({
113
+ field: attributeField
114
+ }, _this2.splitValuesAndCallbackInAttribute( // @ts-ignore
115
+ attributeValues, // @ts-ignore
116
+ _this2.getLayerConfig()[attributeName]))
117
+ }, // @ts-ignore
118
+ updateOptions);
119
+ });
120
+ this.pendingStyleAttributes = []; // 获取插件集
121
+
122
+ this.plugins = this.container.getAll(_l7Core.TYPES.ILayerPlugin); // 完成插件注册,传入场景和图层容器内的服务
123
+
124
+ var _iterator = _createForOfIteratorHelper(this.plugins),
125
+ _step;
126
+
127
+ try {
128
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
129
+ var plugin = _step.value;
130
+ plugin.apply(this, {
131
+ rendererService: this.rendererService,
132
+ mapService: this.mapService,
133
+ styleAttributeService: this.styleAttributeService,
134
+ normalPassFactory: this.normalPassFactory,
135
+ postProcessingPassFactory: this.postProcessingPassFactory
136
+ });
137
+ } // 触发 init 生命周期插件
138
+
139
+ } catch (err) {
140
+ _iterator.e(err);
141
+ } finally {
142
+ _iterator.f();
143
+ }
144
+
145
+ this.hooks.init.call();
146
+ this.hooks.afterInit.call();
147
+ return this;
148
+ }
149
+ }, {
150
+ key: "renderModels",
151
+ value: function renderModels(isPicking) {
152
+ var _this3 = this;
153
+
154
+ this.models.forEach(function (model) {
155
+ model.draw({
156
+ uniforms: _this3.layerModel.getUninforms()
157
+ }, isPicking);
158
+ });
159
+ return this;
160
+ }
161
+ }, {
62
162
  key: "getPickID",
63
163
  value: function getPickID() {
64
164
  return this.pickedID;
@@ -71,23 +171,27 @@ var VectorLayer = /*#__PURE__*/function (_BaseLayer) {
71
171
  }, {
72
172
  key: "buildModels",
73
173
  value: function buildModels() {
74
- var _this2 = this;
174
+ var _this4 = this;
75
175
 
76
176
  var model = this.getModelType();
77
177
  this.layerModel = new model(this);
78
178
  this.layerModel.initModels(function (models) {
79
- _this2.models = models;
179
+ _this4.models = models;
80
180
 
81
- _this2.renderLayers();
181
+ _this4.emit('modelLoaded', null);
182
+
183
+ _this4.layerService.throttleRenderLayers();
82
184
  });
83
185
  }
84
186
  }, {
85
187
  key: "rebuildModels",
86
188
  value: function rebuildModels() {
87
- var _this3 = this;
189
+ var _this5 = this;
88
190
 
89
191
  this.layerModel.buildModels(function (models) {
90
- return _this3.models = models;
192
+ _this5.models = models;
193
+
194
+ _this5.emit('modelLoaded', null);
91
195
  });
92
196
  }
93
197
  }, {
@@ -121,7 +225,7 @@ var VectorLayer = /*#__PURE__*/function (_BaseLayer) {
121
225
  return _tile.default;
122
226
 
123
227
  case 'simple':
124
- return _simpleLine.default;
228
+ return _simpleTileLine.default;
125
229
 
126
230
  default:
127
231
  return _tile.default;