@antv/l7-layers 2.10.1 → 2.10.2

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 (353) hide show
  1. package/es/Geometry/index.d.ts +2 -3
  2. package/es/Geometry/index.js +27 -17
  3. package/es/Geometry/models/billboard.d.ts +2 -2
  4. package/es/Geometry/models/billboard.js +77 -37
  5. package/es/Geometry/models/plane.d.ts +2 -2
  6. package/es/Geometry/models/plane.js +80 -40
  7. package/es/Geometry/models/sprite.d.ts +2 -2
  8. package/es/Geometry/models/sprite.js +83 -45
  9. package/es/canvas/index.d.ts +3 -4
  10. package/es/canvas/index.js +35 -24
  11. package/es/canvas/models/canvas.d.ts +2 -2
  12. package/es/canvas/models/canvas.js +54 -15
  13. package/es/citybuliding/building.d.ts +2 -3
  14. package/es/citybuliding/building.js +26 -17
  15. package/es/citybuliding/models/build.d.ts +2 -2
  16. package/es/citybuliding/models/build.js +70 -25
  17. package/es/core/BaseLayer.d.ts +21 -18
  18. package/es/core/BaseLayer.js +391 -261
  19. package/es/core/BaseModel.d.ts +2 -2
  20. package/es/core/BaseModel.js +47 -6
  21. package/es/core/LayerPickService.d.ts +9 -0
  22. package/es/core/LayerPickService.js +85 -0
  23. package/es/core/triangulation.js +8 -1
  24. package/es/earth/index.d.ts +3 -3
  25. package/es/earth/index.js +28 -9
  26. package/es/earth/models/atmosphere.d.ts +2 -2
  27. package/es/earth/models/atmosphere.js +67 -22
  28. package/es/earth/models/base.d.ts +2 -2
  29. package/es/earth/models/base.js +89 -43
  30. package/es/earth/models/bloomsphere.d.ts +2 -2
  31. package/es/earth/models/bloomsphere.js +67 -22
  32. package/es/heatmap/index.d.ts +2 -3
  33. package/es/heatmap/index.js +33 -22
  34. package/es/heatmap/models/grid.d.ts +2 -2
  35. package/es/heatmap/models/grid.js +68 -27
  36. package/es/heatmap/models/grid3d.d.ts +2 -2
  37. package/es/heatmap/models/grid3d.js +69 -28
  38. package/es/heatmap/models/heatmap.d.ts +2 -2
  39. package/es/heatmap/models/heatmap.js +40 -14
  40. package/es/heatmap/models/hexagon.d.ts +2 -2
  41. package/es/heatmap/models/hexagon.js +69 -28
  42. package/es/image/index.d.ts +2 -3
  43. package/es/image/index.js +27 -17
  44. package/es/image/models/dataImage.d.ts +2 -2
  45. package/es/image/models/dataImage.js +93 -54
  46. package/es/image/models/image.d.ts +2 -2
  47. package/es/image/models/image.js +108 -67
  48. package/es/image/models/tileDataImage.d.ts +2 -2
  49. package/es/image/models/tileDataImage.js +84 -43
  50. package/es/index.d.ts +2 -2
  51. package/es/index.js +2 -2
  52. package/es/line/index.d.ts +5 -4
  53. package/es/line/index.js +51 -25
  54. package/es/line/models/arc.d.ts +2 -2
  55. package/es/line/models/arc.js +73 -38
  56. package/es/line/models/arc_3d.d.ts +2 -2
  57. package/es/line/models/arc_3d.js +69 -34
  58. package/es/line/models/earthArc_3d.d.ts +2 -2
  59. package/es/line/models/earthArc_3d.js +72 -37
  60. package/es/line/models/great_circle.d.ts +2 -2
  61. package/es/line/models/great_circle.js +70 -29
  62. package/es/line/models/half.d.ts +2 -2
  63. package/es/line/models/half.js +40 -17
  64. package/es/line/models/index.d.ts +1 -1
  65. package/es/line/models/index.js +0 -2
  66. package/es/line/models/line.d.ts +2 -2
  67. package/es/line/models/line.js +79 -47
  68. package/es/line/models/linearline.d.ts +2 -2
  69. package/es/line/models/linearline.js +70 -31
  70. package/es/line/models/simpleLine.d.ts +2 -2
  71. package/es/line/models/simpleLine.js +71 -34
  72. package/es/line/models/simpleTileLine.d.ts +2 -2
  73. package/es/line/models/simpleTileLine.js +70 -30
  74. package/es/line/models/tile.d.ts +2 -2
  75. package/es/line/models/tile.js +40 -17
  76. package/es/line/models/wall.d.ts +2 -2
  77. package/es/line/models/wall.js +67 -22
  78. package/es/mask/index.d.ts +2 -4
  79. package/es/mask/index.js +27 -97
  80. package/es/mask/models/fill.d.ts +2 -2
  81. package/es/mask/models/fill.js +40 -16
  82. package/es/mask/models/index.d.ts +1 -1
  83. package/es/mask/models/index.js +1 -3
  84. package/es/plugins/DataMappingPlugin.js +80 -66
  85. package/es/plugins/DataSourcePlugin.js +64 -25
  86. package/es/plugins/FeatureScalePlugin.js +84 -44
  87. package/es/plugins/LayerAnimateStylePlugin.js +6 -3
  88. package/es/plugins/LayerModelPlugin.d.ts +2 -2
  89. package/es/plugins/LayerModelPlugin.js +124 -37
  90. package/es/plugins/LayerStylePlugin.js +1 -6
  91. package/es/plugins/MultiPassRendererPlugin.js +1 -1
  92. package/es/plugins/PixelPickingPlugin.js +1 -1
  93. package/es/plugins/RegisterStyleAttributePlugin.js +4 -17
  94. package/es/plugins/ShaderUniformPlugin.js +7 -2
  95. package/es/plugins/UpdateStyleAttributePlugin.js +8 -5
  96. package/es/point/index.d.ts +4 -4
  97. package/es/point/index.js +55 -23
  98. package/es/point/models/earthExtrude.d.ts +2 -2
  99. package/es/point/models/earthExtrude.js +73 -30
  100. package/es/point/models/earthFill.d.ts +2 -2
  101. package/es/point/models/earthFill.js +66 -21
  102. package/es/point/models/extrude.d.ts +2 -2
  103. package/es/point/models/extrude.js +40 -17
  104. package/es/point/models/fill.d.ts +2 -2
  105. package/es/point/models/fill.js +43 -20
  106. package/es/point/models/fillmage.d.ts +2 -2
  107. package/es/point/models/fillmage.js +82 -43
  108. package/es/point/models/image.d.ts +2 -2
  109. package/es/point/models/image.js +72 -31
  110. package/es/point/models/index.d.ts +1 -1
  111. package/es/point/models/index.js +0 -2
  112. package/es/point/models/normal.d.ts +2 -2
  113. package/es/point/models/normal.js +71 -30
  114. package/es/point/models/radar.d.ts +2 -2
  115. package/es/point/models/radar.js +75 -35
  116. package/es/point/models/simplePoint.d.ts +2 -2
  117. package/es/point/models/simplePoint.js +70 -29
  118. package/es/point/models/text.d.ts +3 -2
  119. package/es/point/models/text.js +164 -107
  120. package/es/point/models/tile.d.ts +2 -2
  121. package/es/point/models/tile.js +77 -35
  122. package/es/point/models/tileText.d.ts +2 -2
  123. package/es/point/models/tileText.js +151 -116
  124. package/es/polygon/index.d.ts +2 -3
  125. package/es/polygon/index.js +27 -24
  126. package/es/polygon/models/extrude.d.ts +2 -2
  127. package/es/polygon/models/extrude.js +66 -29
  128. package/es/polygon/models/fill.d.ts +2 -2
  129. package/es/polygon/models/fill.js +76 -43
  130. package/es/polygon/models/index.d.ts +1 -1
  131. package/es/polygon/models/index.js +0 -2
  132. package/es/polygon/models/ocean.d.ts +2 -2
  133. package/es/polygon/models/ocean.js +69 -28
  134. package/es/polygon/models/tile.d.ts +2 -2
  135. package/es/polygon/models/tile.js +70 -30
  136. package/es/polygon/models/water.d.ts +2 -2
  137. package/es/polygon/models/water.js +69 -28
  138. package/es/raster/index.d.ts +3 -4
  139. package/es/raster/index.js +28 -22
  140. package/es/raster/models/index.d.ts +1 -1
  141. package/es/raster/models/index.js +1 -3
  142. package/es/raster/models/raster.d.ts +2 -2
  143. package/es/raster/models/raster.js +36 -13
  144. package/es/raster/models/rasterRgb.d.ts +2 -2
  145. package/es/raster/models/rasterRgb.js +36 -13
  146. package/es/raster/models/rasterTile.d.ts +2 -2
  147. package/es/raster/models/rasterTile.js +77 -36
  148. package/es/raster/raster.d.ts +1 -1
  149. package/es/raster/raster.js +42 -22
  150. package/es/tile/interaction/getRasterData.d.ts +2 -2
  151. package/es/tile/interaction/utils.js +3 -11
  152. package/es/tile/interface.d.ts +5 -4
  153. package/es/tile/manager/base.d.ts +17 -12
  154. package/es/tile/manager/base.js +212 -47
  155. package/es/tile/service/TileLayerService.d.ts +33 -0
  156. package/es/tile/service/TileLayerService.js +172 -0
  157. package/es/tile/service/TilePickService.d.ts +22 -0
  158. package/es/tile/service/TilePickService.js +124 -0
  159. package/es/tile/style/constants.d.ts +1 -13
  160. package/es/tile/style/constants.js +6 -15
  161. package/es/tile/style/utils.d.ts +1 -8
  162. package/es/tile/style/utils.js +0 -126
  163. package/es/tile/tileFactory/DebugTile.d.ts +16 -0
  164. package/es/tile/tileFactory/DebugTile.js +100 -0
  165. package/es/tile/tileFactory/ImageTile.d.ts +14 -0
  166. package/es/tile/tileFactory/ImageTile.js +89 -0
  167. package/es/tile/tileFactory/MaskTile.d.ts +17 -0
  168. package/es/tile/tileFactory/MaskTile.js +98 -0
  169. package/es/tile/tileFactory/RasterRGBTile.d.ts +16 -0
  170. package/es/tile/tileFactory/RasterRGBTile.js +91 -0
  171. package/es/tile/tileFactory/RasterTile.d.ts +27 -0
  172. package/es/tile/tileFactory/RasterTile.js +186 -0
  173. package/es/tile/tileFactory/Tile.d.ts +23 -0
  174. package/es/tile/tileFactory/Tile.js +136 -0
  175. package/es/tile/tileFactory/VectorTile.d.ts +20 -0
  176. package/es/tile/tileFactory/VectorTile.js +158 -0
  177. package/es/tile/tileFactory/index.d.ts +10 -4
  178. package/es/tile/tileFactory/index.js +30 -23
  179. package/es/tile/tileFactory/layers/{rasterDataLayer.d.ts → RasterDataLayer.d.ts} +3 -3
  180. package/es/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +33 -21
  181. package/es/tile/tileFactory/layers/{tileTest.d.ts → TileDebugLayer.d.ts} +2 -2
  182. package/es/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +23 -10
  183. package/es/tile/tileFactory/util.d.ts +6 -0
  184. package/es/tile/tileFactory/util.js +33 -0
  185. package/es/tile/tileLayer/BaseLayer.d.ts +46 -0
  186. package/es/tile/tileLayer/BaseLayer.js +358 -0
  187. package/es/tile/utils.d.ts +1 -11
  188. package/es/tile/utils.js +0 -127
  189. package/es/utils/dataMappingStyle.d.ts +4 -4
  190. package/es/utils/dataMappingStyle.js +19 -19
  191. package/es/utils/layerData.js +5 -11
  192. package/es/wind/index.d.ts +2 -3
  193. package/es/wind/index.js +27 -17
  194. package/es/wind/models/wind.d.ts +2 -2
  195. package/es/wind/models/wind.js +120 -104
  196. package/lib/Geometry/index.js +29 -17
  197. package/lib/Geometry/models/billboard.js +79 -37
  198. package/lib/Geometry/models/plane.js +82 -40
  199. package/lib/Geometry/models/sprite.js +85 -45
  200. package/lib/canvas/index.js +37 -24
  201. package/lib/canvas/models/canvas.js +56 -15
  202. package/lib/citybuliding/building.js +28 -17
  203. package/lib/citybuliding/models/build.js +72 -25
  204. package/lib/core/BaseLayer.js +391 -256
  205. package/lib/core/BaseModel.js +48 -6
  206. package/lib/core/LayerPickService.js +96 -0
  207. package/lib/core/triangulation.js +8 -1
  208. package/lib/earth/index.js +30 -9
  209. package/lib/earth/models/atmosphere.js +69 -22
  210. package/lib/earth/models/base.js +90 -42
  211. package/lib/earth/models/bloomsphere.js +69 -22
  212. package/lib/heatmap/index.js +35 -22
  213. package/lib/heatmap/models/grid.js +70 -27
  214. package/lib/heatmap/models/grid3d.js +71 -28
  215. package/lib/heatmap/models/heatmap.js +40 -14
  216. package/lib/heatmap/models/hexagon.js +71 -28
  217. package/lib/image/index.js +29 -17
  218. package/lib/image/models/dataImage.js +95 -54
  219. package/lib/image/models/image.js +110 -67
  220. package/lib/image/models/tileDataImage.js +86 -43
  221. package/lib/index.js +5 -5
  222. package/lib/line/index.js +53 -26
  223. package/lib/line/models/arc.js +75 -38
  224. package/lib/line/models/arc_3d.js +71 -34
  225. package/lib/line/models/earthArc_3d.js +74 -37
  226. package/lib/line/models/great_circle.js +72 -29
  227. package/lib/line/models/half.js +40 -17
  228. package/lib/line/models/index.js +0 -3
  229. package/lib/line/models/line.js +81 -47
  230. package/lib/line/models/linearline.js +72 -31
  231. package/lib/line/models/simpleLine.js +73 -34
  232. package/lib/line/models/simpleTileLine.js +72 -30
  233. package/lib/line/models/tile.js +40 -17
  234. package/lib/line/models/wall.js +69 -22
  235. package/lib/mask/index.js +28 -99
  236. package/lib/mask/models/fill.js +40 -16
  237. package/lib/mask/models/index.js +1 -4
  238. package/lib/plugins/DataMappingPlugin.js +81 -65
  239. package/lib/plugins/DataSourcePlugin.js +71 -30
  240. package/lib/plugins/FeatureScalePlugin.js +86 -44
  241. package/lib/plugins/LayerAnimateStylePlugin.js +6 -3
  242. package/lib/plugins/LayerModelPlugin.js +131 -41
  243. package/lib/plugins/LayerStylePlugin.js +1 -6
  244. package/lib/plugins/MultiPassRendererPlugin.js +1 -1
  245. package/lib/plugins/PixelPickingPlugin.js +1 -1
  246. package/lib/plugins/RegisterStyleAttributePlugin.js +4 -17
  247. package/lib/plugins/ShaderUniformPlugin.js +7 -2
  248. package/lib/plugins/UpdateStyleAttributePlugin.js +8 -5
  249. package/lib/point/index.js +56 -24
  250. package/lib/point/models/earthExtrude.js +75 -30
  251. package/lib/point/models/earthFill.js +68 -21
  252. package/lib/point/models/extrude.js +40 -17
  253. package/lib/point/models/fill.js +44 -21
  254. package/lib/point/models/fillmage.js +84 -43
  255. package/lib/point/models/image.js +74 -31
  256. package/lib/point/models/index.js +0 -3
  257. package/lib/point/models/normal.js +73 -30
  258. package/lib/point/models/radar.js +77 -35
  259. package/lib/point/models/simplePoint.js +72 -29
  260. package/lib/point/models/text.js +164 -106
  261. package/lib/point/models/tile.js +79 -35
  262. package/lib/point/models/tileText.js +151 -115
  263. package/lib/polygon/index.js +29 -25
  264. package/lib/polygon/models/extrude.js +68 -29
  265. package/lib/polygon/models/fill.js +78 -43
  266. package/lib/polygon/models/index.js +0 -3
  267. package/lib/polygon/models/ocean.js +71 -28
  268. package/lib/polygon/models/tile.js +72 -30
  269. package/lib/polygon/models/water.js +71 -28
  270. package/lib/raster/index.js +30 -22
  271. package/lib/raster/models/index.js +1 -4
  272. package/lib/raster/models/raster.js +36 -13
  273. package/lib/raster/models/rasterRgb.js +36 -13
  274. package/lib/raster/models/rasterTile.js +79 -36
  275. package/lib/raster/raster.js +44 -22
  276. package/lib/tile/interaction/utils.js +3 -11
  277. package/lib/tile/manager/base.js +213 -47
  278. package/lib/tile/service/TileLayerService.js +185 -0
  279. package/lib/tile/service/TilePickService.js +136 -0
  280. package/lib/tile/style/constants.js +8 -19
  281. package/lib/tile/style/utils.js +0 -140
  282. package/lib/tile/tileFactory/DebugTile.js +115 -0
  283. package/lib/tile/tileFactory/ImageTile.js +104 -0
  284. package/lib/tile/tileFactory/MaskTile.js +113 -0
  285. package/lib/tile/tileFactory/RasterRGBTile.js +106 -0
  286. package/lib/tile/tileFactory/RasterTile.js +205 -0
  287. package/lib/tile/tileFactory/Tile.js +146 -0
  288. package/lib/tile/tileFactory/VectorTile.js +173 -0
  289. package/lib/tile/tileFactory/index.js +42 -24
  290. package/lib/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +35 -21
  291. package/lib/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +24 -11
  292. package/lib/tile/tileFactory/util.js +48 -0
  293. package/lib/tile/tileLayer/BaseLayer.js +373 -0
  294. package/lib/tile/utils.js +0 -146
  295. package/lib/utils/dataMappingStyle.js +21 -21
  296. package/lib/utils/layerData.js +4 -10
  297. package/lib/wind/index.js +29 -17
  298. package/lib/wind/models/wind.js +122 -104
  299. package/package.json +7 -7
  300. package/es/tile/interaction/TilePickService.d.ts +0 -16
  301. package/es/tile/interaction/TilePickService.js +0 -129
  302. package/es/tile/manager/layerManager.d.ts +0 -19
  303. package/es/tile/manager/layerManager.js +0 -254
  304. package/es/tile/manager/mapLayerManager.d.ts +0 -7
  305. package/es/tile/manager/mapLayerManager.js +0 -119
  306. package/es/tile/models/tileModel.d.ts +0 -10
  307. package/es/tile/models/tileModel.js +0 -81
  308. package/es/tile/render/TileRenderService.d.ts +0 -10
  309. package/es/tile/render/TileRenderService.js +0 -68
  310. package/es/tile/style/TileStyleService.d.ts +0 -17
  311. package/es/tile/style/TileStyleService.js +0 -118
  312. package/es/tile/tileFactory/base.d.ts +0 -45
  313. package/es/tile/tileFactory/base.js +0 -403
  314. package/es/tile/tileFactory/layers/vectorLayer.d.ts +0 -30
  315. package/es/tile/tileFactory/layers/vectorLayer.js +0 -253
  316. package/es/tile/tileFactory/line.d.ts +0 -12
  317. package/es/tile/tileFactory/line.js +0 -59
  318. package/es/tile/tileFactory/mask.d.ts +0 -12
  319. package/es/tile/tileFactory/mask.js +0 -60
  320. package/es/tile/tileFactory/point.d.ts +0 -12
  321. package/es/tile/tileFactory/point.js +0 -60
  322. package/es/tile/tileFactory/polygon.d.ts +0 -12
  323. package/es/tile/tileFactory/polygon.js +0 -59
  324. package/es/tile/tileFactory/raster.d.ts +0 -12
  325. package/es/tile/tileFactory/raster.js +0 -55
  326. package/es/tile/tileFactory/rasterData.d.ts +0 -12
  327. package/es/tile/tileFactory/rasterData.js +0 -81
  328. package/es/tile/tileFactory/test.d.ts +0 -12
  329. package/es/tile/tileFactory/test.js +0 -94
  330. package/es/tile/tileLayer/MapTileLayer.d.ts +0 -6
  331. package/es/tile/tileLayer/MapTileLayer.js +0 -48
  332. package/es/tile/tileLayer/TileLayer.d.ts +0 -22
  333. package/es/tile/tileLayer/TileLayer.js +0 -198
  334. package/es/tile/tileLayer/base.d.ts +0 -33
  335. package/es/tile/tileLayer/base.js +0 -212
  336. package/lib/tile/interaction/TilePickService.js +0 -143
  337. package/lib/tile/manager/layerManager.js +0 -275
  338. package/lib/tile/manager/mapLayerManager.js +0 -134
  339. package/lib/tile/models/tileModel.js +0 -94
  340. package/lib/tile/render/TileRenderService.js +0 -78
  341. package/lib/tile/style/TileStyleService.js +0 -133
  342. package/lib/tile/tileFactory/base.js +0 -427
  343. package/lib/tile/tileFactory/layers/vectorLayer.js +0 -268
  344. package/lib/tile/tileFactory/line.js +0 -70
  345. package/lib/tile/tileFactory/mask.js +0 -71
  346. package/lib/tile/tileFactory/point.js +0 -71
  347. package/lib/tile/tileFactory/polygon.js +0 -70
  348. package/lib/tile/tileFactory/raster.js +0 -68
  349. package/lib/tile/tileFactory/rasterData.js +0 -93
  350. package/lib/tile/tileFactory/test.js +0 -106
  351. package/lib/tile/tileLayer/MapTileLayer.js +0 -63
  352. package/lib/tile/tileLayer/TileLayer.js +0 -215
  353. package/lib/tile/tileLayer/base.js +0 -225
@@ -1,3 +1,4 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
1
2
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
3
  import _createClass from "@babel/runtime/helpers/createClass";
3
4
  import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
@@ -5,6 +6,7 @@ import _inherits from "@babel/runtime/helpers/inherits";
5
6
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
7
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
8
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
8
10
 
9
11
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
12
 
@@ -37,32 +39,42 @@ var RasterTiffLayer = /*#__PURE__*/function (_BaseLayer) {
37
39
 
38
40
  _createClass(RasterTiffLayer, [{
39
41
  key: "buildModels",
40
- value: function buildModels() {
41
- var _this2 = this;
42
-
43
- var model = this.getModelType();
44
- this.layerModel = new model(this);
45
- this.layerModel.initModels(function (models) {
46
- _this2.dispatchModelLoad(models);
47
- });
48
- }
49
- }, {
50
- key: "rebuildModels",
51
- value: function rebuildModels() {
52
- var _this3 = this;
42
+ value: function () {
43
+ var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
44
+ var model;
45
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
46
+ while (1) {
47
+ switch (_context.prev = _context.next) {
48
+ case 0:
49
+ model = this.getModel();
50
+ this.layerModel = new model(this);
51
+ _context.next = 4;
52
+ return this.initLayerModels();
53
+
54
+ case 4:
55
+ case "end":
56
+ return _context.stop();
57
+ }
58
+ }
59
+ }, _callee, this);
60
+ }));
61
+
62
+ function buildModels() {
63
+ return _buildModels.apply(this, arguments);
64
+ }
53
65
 
54
- this.layerModel.buildModels(function (models) {
55
- _this3.dispatchModelLoad(models);
56
- });
66
+ return buildModels;
67
+ }()
68
+ }, {
69
+ key: "getModel",
70
+ value: function getModel() {
71
+ var type = this.getModelType();
72
+ return type === 'rasterRgb' ? RasterRgbModel : RasterModel;
57
73
  }
58
74
  }, {
59
75
  key: "getModelType",
60
76
  value: function getModelType() {
61
- if (this.layerSource.parser.type === 'rasterRgb') {
62
- return RasterRgbModel;
63
- } else {
64
- return RasterModel;
65
- }
77
+ return this.layerSource.parser.type === 'rasterRgb' ? 'rasterRgb' : 'raster';
66
78
  }
67
79
  }, {
68
80
  key: "getDefaultConfig",
@@ -2,14 +2,14 @@ import BaseLayer from '../../../core/BaseLayer';
2
2
  import { IBaseLayerStyleOptions } from '../../../core/interface';
3
3
  export default class TileDebugLayer extends BaseLayer<IBaseLayerStyleOptions> {
4
4
  type: string;
5
+ zIndex: number;
5
6
  defaultSourceConfig: {
6
7
  data: never[];
7
8
  options: {
8
9
  parser: {
9
10
  type: string;
10
- cancelExtent: boolean;
11
11
  };
12
12
  };
13
13
  };
14
- buildModels(): void;
14
+ buildModels(): Promise<void>;
15
15
  }
@@ -1,3 +1,4 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
1
2
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
3
  import _createClass from "@babel/runtime/helpers/createClass";
3
4
  import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
@@ -5,13 +6,13 @@ import _inherits from "@babel/runtime/helpers/inherits";
5
6
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
7
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
8
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
8
10
 
9
11
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
12
 
11
13
  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; } }
12
14
 
13
15
  import BaseLayer from "../../../core/BaseLayer";
14
- import TileModel from "../../models/tileModel";
15
16
 
16
17
  var TileDebugLayer = /*#__PURE__*/function (_BaseLayer) {
17
18
  _inherits(TileDebugLayer, _BaseLayer);
@@ -31,12 +32,13 @@ var TileDebugLayer = /*#__PURE__*/function (_BaseLayer) {
31
32
 
32
33
  _defineProperty(_assertThisInitialized(_this), "type", 'TileDebugLayer');
33
34
 
35
+ _defineProperty(_assertThisInitialized(_this), "zIndex", 10000);
36
+
34
37
  _defineProperty(_assertThisInitialized(_this), "defaultSourceConfig", {
35
38
  data: [],
36
39
  options: {
37
40
  parser: {
38
- type: 'testTile',
39
- cancelExtent: true
41
+ type: 'testTile'
40
42
  }
41
43
  }
42
44
  });
@@ -46,14 +48,25 @@ var TileDebugLayer = /*#__PURE__*/function (_BaseLayer) {
46
48
 
47
49
  _createClass(TileDebugLayer, [{
48
50
  key: "buildModels",
49
- value: function buildModels() {
50
- var _this2 = this;
51
+ value: function () {
52
+ var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
53
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
54
+ while (1) {
55
+ switch (_context.prev = _context.next) {
56
+ case 0:
57
+ case "end":
58
+ return _context.stop();
59
+ }
60
+ }
61
+ }, _callee);
62
+ }));
63
+
64
+ function buildModels() {
65
+ return _buildModels.apply(this, arguments);
66
+ }
51
67
 
52
- this.layerModel = new TileModel(this);
53
- this.layerModel.initModels(function (models) {
54
- _this2.dispatchModelLoad(models);
55
- });
56
- }
68
+ return buildModels;
69
+ }()
57
70
  }]);
58
71
 
59
72
  return TileDebugLayer;
@@ -0,0 +1,6 @@
1
+ import PointLayer from '../../point/index';
2
+ import LineLayer from '../../line';
3
+ import PolygonLayer from '../../polygon';
4
+ import MaskLayer from '../../mask';
5
+ export declare function getTileLayer(type: string): typeof LineLayer | typeof PointLayer | typeof PolygonLayer;
6
+ export declare function getMaskLayer(type: string): typeof MaskLayer | undefined;
@@ -0,0 +1,33 @@
1
+ import PointLayer from "../../point/index";
2
+ import LineLayer from "../../line";
3
+ import PolygonLayer from "../../polygon";
4
+ import MaskLayer from "../../mask";
5
+ export function getTileLayer(type) {
6
+ if (type === 'PolygonLayer') {
7
+ return PolygonLayer;
8
+ }
9
+
10
+ if (type === 'LineLayer') {
11
+ return LineLayer;
12
+ }
13
+
14
+ if (type === 'PointLayer') {
15
+ return PointLayer;
16
+ }
17
+
18
+ return PointLayer;
19
+ }
20
+ export function getMaskLayer(type) {
21
+ switch (type) {
22
+ case 'PolygonLayer':
23
+ case 'LineLayer':
24
+ return MaskLayer;
25
+
26
+ case 'PointLayer':
27
+ case 'RasterLayer':
28
+ return undefined;
29
+
30
+ default:
31
+ return undefined;
32
+ }
33
+ }
@@ -0,0 +1,46 @@
1
+ import { ILayer, IMapService, ILayerService, IRendererService, IPickingService, IInteractionTarget } from '@antv/l7-core';
2
+ import { SourceTile, TilesetManager } from '@antv/l7-utils';
3
+ import { TileLayerService } from '../service/TileLayerService';
4
+ import { TilePickService } from '../service/TilePickService';
5
+ export default class BaseTileLayer {
6
+ private parent;
7
+ tileLayerService: TileLayerService;
8
+ protected mapService: IMapService;
9
+ protected layerService: ILayerService;
10
+ protected rendererService: IRendererService;
11
+ protected pickingService: IPickingService;
12
+ protected tilePickService: TilePickService;
13
+ tilesetManager: TilesetManager;
14
+ initedTileset: boolean;
15
+ protected lastViewStates: {
16
+ zoom: number;
17
+ latLonBounds: [number, number, number, number];
18
+ };
19
+ constructor(parent: ILayer);
20
+ protected initTileSetManager(): void;
21
+ protected mapchange(): void;
22
+ protected getCurrentView(): {
23
+ latLonBounds: [number, number, number, number];
24
+ zoom: number;
25
+ };
26
+ private bindTilesetEvent;
27
+ render(): void;
28
+ getLayers(): ILayer[];
29
+ getTiles(): import("@antv/l7-core").ITile[];
30
+ viewchange: import("lodash").DebouncedFunc<() => void>;
31
+ tileLoaded(tile: SourceTile): void;
32
+ tileError(error: Error): void;
33
+ destroy(): void;
34
+ tileUnLoad(tile: SourceTile): void;
35
+ tileUpdate(): Promise<void>;
36
+ isTileReady(tile: SourceTile): boolean;
37
+ setPickState(layers: ILayer[]): void;
38
+ pickRender(target: IInteractionTarget): void;
39
+ selectFeature(pickedColors: Uint8Array | undefined): void;
40
+ highlightPickedFeature(pickedColors: Uint8Array | undefined): void;
41
+ /**
42
+ * 实现 TileLayer 对子图层方法的代理
43
+ * @param parent
44
+ */
45
+ private proxy;
46
+ }
@@ -0,0 +1,358 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/createClass";
4
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
6
+ import { TYPES } from '@antv/l7-core';
7
+ import { TileLayerService } from "../service/TileLayerService";
8
+ import { TilePickService } from "../service/TilePickService";
9
+ import { debounce } from 'lodash';
10
+ import { getTileFactory } from "../tileFactory";
11
+ import { ProxyFuncs } from "../style/constants";
12
+
13
+ var BaseTileLayer = /*#__PURE__*/function () {
14
+ // 瓦片数据管理器
15
+ function BaseTileLayer(parent) {
16
+ _classCallCheck(this, BaseTileLayer);
17
+
18
+ _defineProperty(this, "initedTileset", false);
19
+
20
+ _defineProperty(this, "viewchange", debounce(this.mapchange, 24));
21
+
22
+ this.parent = parent;
23
+ var container = this.parent.getContainer();
24
+ this.rendererService = container.get(TYPES.IRendererService);
25
+ this.layerService = container.get(TYPES.ILayerService);
26
+ this.mapService = container.get(TYPES.IMapService);
27
+ this.pickingService = container.get(TYPES.IPickingService); // 初始化瓦片管理服务
28
+
29
+ this.tileLayerService = new TileLayerService({
30
+ rendererService: this.rendererService,
31
+ layerService: this.layerService,
32
+ parent: parent
33
+ }); // 初始化拾取服务
34
+
35
+ this.tilePickService = new TilePickService({
36
+ tileLayerService: this.tileLayerService,
37
+ layerService: this.layerService
38
+ }); // 重置
39
+
40
+ this.parent.setLayerPickService(this.tilePickService);
41
+ this.proxy(parent);
42
+ this.initTileSetManager();
43
+ }
44
+
45
+ _createClass(BaseTileLayer, [{
46
+ key: "initTileSetManager",
47
+ value: function initTileSetManager() {
48
+ var _this$tilesetManager;
49
+
50
+ var source = this.parent.getSource();
51
+ this.tilesetManager = source.tileset;
52
+
53
+ if (!this.initedTileset) {
54
+ this.bindTilesetEvent();
55
+ this.initedTileset = true;
56
+ }
57
+
58
+ var _this$getCurrentView = this.getCurrentView(),
59
+ latLonBounds = _this$getCurrentView.latLonBounds,
60
+ zoom = _this$getCurrentView.zoom;
61
+
62
+ (_this$tilesetManager = this.tilesetManager) === null || _this$tilesetManager === void 0 ? void 0 : _this$tilesetManager.update(zoom, latLonBounds);
63
+ }
64
+ }, {
65
+ key: "mapchange",
66
+ value: function mapchange() {
67
+ var _this$tilesetManager2;
68
+
69
+ var _this$getCurrentView2 = this.getCurrentView(),
70
+ latLonBounds = _this$getCurrentView2.latLonBounds,
71
+ zoom = _this$getCurrentView2.zoom;
72
+
73
+ if (this.mapService.version === 'GAODE1.x') {
74
+ var _this$parent$getLayer = this.parent.getLayerConfig(),
75
+ visible = _this$parent$getLayer.visible;
76
+
77
+ if (zoom < 3 && visible) {
78
+ this.parent.updateLayerConfig({
79
+ visible: false
80
+ });
81
+ this.layerService.reRender();
82
+ } else if (zoom >= 3 && !visible) {
83
+ this.parent.updateLayerConfig({
84
+ visible: true
85
+ });
86
+ this.layerService.reRender();
87
+ }
88
+ }
89
+
90
+ if (this.lastViewStates && this.lastViewStates.zoom === zoom && this.lastViewStates.latLonBounds.toString() === latLonBounds.toString()) {
91
+ return;
92
+ }
93
+
94
+ this.lastViewStates = {
95
+ zoom: zoom,
96
+ latLonBounds: latLonBounds
97
+ };
98
+ (_this$tilesetManager2 = this.tilesetManager) === null || _this$tilesetManager2 === void 0 ? void 0 : _this$tilesetManager2.throttleUpdate(zoom, latLonBounds);
99
+ }
100
+ }, {
101
+ key: "getCurrentView",
102
+ value: function getCurrentView() {
103
+ var bounds = this.mapService.getBounds();
104
+ var latLonBounds = [bounds[0][0], bounds[0][1], bounds[1][0], bounds[1][1]];
105
+ var zoom = this.mapService.getZoom();
106
+ return {
107
+ latLonBounds: latLonBounds,
108
+ zoom: zoom
109
+ };
110
+ }
111
+ }, {
112
+ key: "bindTilesetEvent",
113
+ value: function bindTilesetEvent() {
114
+ var _this = this;
115
+
116
+ // 瓦片数据加载成功
117
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
118
+ this.tilesetManager.on('tile-loaded', function (tile) {// 将事件抛出,图层上可以监听使用
119
+ }); // 瓦片数据从缓存删除或被执行重新加载
120
+
121
+ this.tilesetManager.on('tile-unload', function (tile) {
122
+ // 将事件抛出,图层上可以监听使用
123
+ _this.tileUnLoad(tile);
124
+ }); // 瓦片数据加载失败
125
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
126
+
127
+ this.tilesetManager.on('tile-error', function (error, tile) {
128
+ // 将事件抛出,图层上可以监听使用
129
+ _this.tileError(error);
130
+ }); // 瓦片显隐状态更新
131
+
132
+ this.tilesetManager.on('tile-update', function () {
133
+ _this.tileUpdate();
134
+ }); // 地图视野发生改变
135
+
136
+ this.mapService.on('zoomend', function () {
137
+ return _this.mapchange();
138
+ });
139
+ this.mapService.on('moveend', function () {
140
+ return _this.viewchange();
141
+ });
142
+ }
143
+ }, {
144
+ key: "render",
145
+ value: function render() {
146
+ this.tileLayerService.render();
147
+ }
148
+ }, {
149
+ key: "getLayers",
150
+ value: function getLayers() {
151
+ return this.tileLayerService.getLayers();
152
+ }
153
+ }, {
154
+ key: "getTiles",
155
+ value: function getTiles() {
156
+ return this.tileLayerService.getTiles();
157
+ } // 防抖操作
158
+
159
+ }, {
160
+ key: "tileLoaded",
161
+ value: // eslint-disable-next-line @typescript-eslint/no-unused-vars
162
+ function tileLoaded(tile) {//
163
+ }
164
+ }, {
165
+ key: "tileError",
166
+ value: function tileError(error) {
167
+ console.warn('error:', error);
168
+ }
169
+ }, {
170
+ key: "destroy",
171
+ value: function destroy() {
172
+ var _this$tilesetManager3;
173
+
174
+ (_this$tilesetManager3 = this.tilesetManager) === null || _this$tilesetManager3 === void 0 ? void 0 : _this$tilesetManager3.destroy();
175
+ this.tileLayerService.destroy();
176
+ }
177
+ }, {
178
+ key: "tileUnLoad",
179
+ value: function tileUnLoad(tile) {
180
+ this.tileLayerService.removeTile(tile.key);
181
+ }
182
+ }, {
183
+ key: "tileUpdate",
184
+ value: function () {
185
+ var _tileUpdate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
186
+ var _this2 = this;
187
+
188
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
189
+ while (1) {
190
+ switch (_context2.prev = _context2.next) {
191
+ case 0:
192
+ if (this.tilesetManager) {
193
+ _context2.next = 2;
194
+ break;
195
+ }
196
+
197
+ return _context2.abrupt("return");
198
+
199
+ case 2:
200
+ _context2.next = 4;
201
+ return Promise.all(this.tilesetManager.tiles.filter(function (tile) {
202
+ return tile.isLoaded;
203
+ }) // 过滤未加载完成的
204
+ .filter(function (tile) {
205
+ return tile.isVisibleChange;
206
+ }) // 过滤未发生变化的
207
+ .filter(function (tile) {
208
+ return _this2.isTileReady(tile);
209
+ }) // 过滤未发生变化的
210
+ .map( /*#__PURE__*/function () {
211
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(tile) {
212
+ var tileInstance, tileLayer;
213
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
214
+ while (1) {
215
+ switch (_context.prev = _context.next) {
216
+ case 0:
217
+ if (_this2.tileLayerService.hasTile(tile.key)) {
218
+ _context.next = 11;
219
+ break;
220
+ }
221
+
222
+ tileInstance = getTileFactory(_this2.parent);
223
+ tileLayer = new tileInstance(tile, _this2.parent);
224
+ _context.next = 5;
225
+ return tileLayer.initTileLayer();
226
+
227
+ case 5:
228
+ _this2.tilePickService.setPickState();
229
+
230
+ if (tileLayer.getLayers().length !== 0) {
231
+ _this2.tileLayerService.addTile(tileLayer);
232
+
233
+ _this2.layerService.reRender();
234
+ }
235
+
236
+ _this2.tileLayerService.addTile(tileLayer);
237
+
238
+ _this2.layerService.reRender();
239
+
240
+ _context.next = 14;
241
+ break;
242
+
243
+ case 11:
244
+ _this2.tileLayerService.updateTileVisible(tile);
245
+
246
+ _this2.tilePickService.setPickState();
247
+
248
+ _this2.layerService.reRender();
249
+
250
+ case 14:
251
+ case "end":
252
+ return _context.stop();
253
+ }
254
+ }
255
+ }, _callee);
256
+ }));
257
+
258
+ return function (_x) {
259
+ return _ref.apply(this, arguments);
260
+ };
261
+ }()));
262
+
263
+ case 4:
264
+ if (this.tilesetManager.isLoaded) {
265
+ // 将事件抛出,图层上可以使用瓦片
266
+ this.parent.emit('tiles-loaded', this.tilesetManager.currentTiles);
267
+ }
268
+
269
+ case 5:
270
+ case "end":
271
+ return _context2.stop();
272
+ }
273
+ }
274
+ }, _callee2, this);
275
+ }));
276
+
277
+ function tileUpdate() {
278
+ return _tileUpdate.apply(this, arguments);
279
+ }
280
+
281
+ return tileUpdate;
282
+ }() // eslint-disable-next-line @typescript-eslint/no-unused-vars
283
+
284
+ }, {
285
+ key: "isTileReady",
286
+ value: function isTileReady(tile) {
287
+ // if (tile.data?.layers && this.sourceLayer) {
288
+ // // vector
289
+ // const vectorTileLayer = tile.data.layers[this.sourceLayer];
290
+ // const features = vectorTileLayer?.features;
291
+ // if (!(Array.isArray(features) && features.length > 0)) {
292
+ // return false;
293
+ // }
294
+ // }
295
+ return true;
296
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
297
+
298
+ }, {
299
+ key: "setPickState",
300
+ value: function setPickState(layers) {}
301
+ }, {
302
+ key: "pickRender",
303
+ value: function pickRender(target) {
304
+ this.tilePickService.pickRender(target);
305
+ }
306
+ }, {
307
+ key: "selectFeature",
308
+ value: function selectFeature(pickedColors) {
309
+ this.tilePickService.selectFeature(pickedColors);
310
+ }
311
+ }, {
312
+ key: "highlightPickedFeature",
313
+ value: function highlightPickedFeature(pickedColors) {
314
+ this.tilePickService.highlightPickedFeature(pickedColors);
315
+ }
316
+ /**
317
+ * 实现 TileLayer 对子图层方法的代理
318
+ * @param parent
319
+ */
320
+
321
+ }, {
322
+ key: "proxy",
323
+ value: function proxy(parent) {
324
+ var _this3 = this;
325
+
326
+ ProxyFuncs.forEach(function (func) {
327
+ // @ts-ignore
328
+ var oldStyleFunc = parent[func].bind(parent); // @ts-ignore
329
+
330
+ parent[func] = function () {
331
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
332
+ args[_key] = arguments[_key];
333
+ }
334
+
335
+ oldStyleFunc.apply(void 0, args);
336
+
337
+ _this3.getLayers().map(function (child) {
338
+ // @ts-ignore
339
+ child[func].apply(child, args);
340
+ }); // Tip: 目前在更新 RasterData 的 colorTexture 的时候需要额外优化
341
+
342
+
343
+ if (func === 'style') {
344
+ _this3.getTiles().forEach(function (tile) {
345
+ return tile.styleUpdate.apply(tile, args);
346
+ });
347
+ }
348
+
349
+ return parent;
350
+ };
351
+ });
352
+ }
353
+ }]);
354
+
355
+ return BaseTileLayer;
356
+ }();
357
+
358
+ export { BaseTileLayer as default };
@@ -1,5 +1,4 @@
1
- import { ILayer, ILayerService } from '@antv/l7-core';
2
- import { Tile } from '@antv/l7-utils';
1
+ import { ILayer } from '@antv/l7-core';
3
2
  export declare const tileVectorParser: string[];
4
3
  /**
5
4
  * 判断当前图层是否是瓦片图层
@@ -7,16 +6,7 @@ export declare const tileVectorParser: string[];
7
6
  * @returns
8
7
  */
9
8
  export declare function isTileGroup(layer: ILayer): boolean;
10
- export declare function isVectorTile(parserType: string): boolean;
11
- export declare function registerLayers(parentLayer: ILayer, layers: ILayer[]): void;
12
- export declare function getLayerShape(layerType: string, layer: ILayer): string | string[];
13
- export declare function getMaskValue(layerType: string, mask: boolean): boolean;
14
9
  export declare function getContainerSize(container: HTMLCanvasElement | HTMLElement): DOMRect | {
15
10
  width: number;
16
11
  height: number;
17
12
  };
18
- export declare function isTileLoaded(tile: Tile): boolean;
19
- export declare function isTileChildLoaded(tile: Tile): boolean;
20
- export declare function isTileParentLoaded(tile: Tile): boolean;
21
- export declare function tileAllLoad(tile: Tile, callback: () => void): void;
22
- export declare function updateTileVisible(tile: Tile, layers: ILayer[], layerService: ILayerService): void;