@antv/l7-layers 2.10.0 → 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
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.TileLayerService = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
+
18
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
+
20
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
+
22
+ require("reflect-metadata");
23
+
24
+ var TileLayerService = /*#__PURE__*/function () {
25
+ /**
26
+ * tileResource 用于存储瓦片的全局资源
27
+ */
28
+ function TileLayerService(_ref) {
29
+ var rendererService = _ref.rendererService,
30
+ layerService = _ref.layerService,
31
+ parent = _ref.parent;
32
+ (0, _classCallCheck2.default)(this, TileLayerService);
33
+ (0, _defineProperty2.default)(this, "tileResource", new Map());
34
+ (0, _defineProperty2.default)(this, "_tiles", []);
35
+ this.rendererService = rendererService;
36
+ this.layerService = layerService;
37
+ this.parent = parent;
38
+ }
39
+
40
+ (0, _createClass2.default)(TileLayerService, [{
41
+ key: "tiles",
42
+ get: function get() {
43
+ return this._tiles;
44
+ }
45
+ }, {
46
+ key: "hasTile",
47
+ value: function hasTile(tileKey) {
48
+ return this._tiles.some(function (tile) {
49
+ return tile.key === tileKey;
50
+ });
51
+ }
52
+ }, {
53
+ key: "addTile",
54
+ value: function addTile(tile) {
55
+ this._tiles.push(tile);
56
+ }
57
+ }, {
58
+ key: "getTile",
59
+ value: function getTile(tileKey) {
60
+ return this._tiles.find(function (tile) {
61
+ return tile.key === tileKey;
62
+ });
63
+ }
64
+ }, {
65
+ key: "getVisibleTileBylngLat",
66
+ value: function getVisibleTileBylngLat(lngLat) {
67
+ // 加载完成 & 可见 & 鼠标选中
68
+ return this._tiles.find(function (tile) {
69
+ return tile.isLoaded && tile.visible && tile.lnglatInBounds(lngLat);
70
+ });
71
+ }
72
+ }, {
73
+ key: "removeTile",
74
+ value: function removeTile(tileKey) {
75
+ var index = this._tiles.findIndex(function (tile) {
76
+ return tile.key === tileKey;
77
+ });
78
+
79
+ var tile = this._tiles.splice(index, 1);
80
+
81
+ tile[0] && tile[0].destroy();
82
+ }
83
+ }, {
84
+ key: "updateTileVisible",
85
+ value: function updateTileVisible(sourceTile) {
86
+ var tile = this.getTile(sourceTile.key);
87
+ tile === null || tile === void 0 ? void 0 : tile.updateVisible(sourceTile.isVisible);
88
+ }
89
+ }, {
90
+ key: "beforeRender",
91
+ value: function beforeRender() {// TODO 统一处理状态更新 attribute style
92
+ }
93
+ }, {
94
+ key: "render",
95
+ value: function () {
96
+ var _render = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
97
+ var _this = this;
98
+
99
+ var layers;
100
+ return _regenerator.default.wrap(function _callee2$(_context2) {
101
+ while (1) {
102
+ switch (_context2.prev = _context2.next) {
103
+ case 0:
104
+ layers = this.getRenderLayers();
105
+ layers.map( /*#__PURE__*/function () {
106
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(layer) {
107
+ return _regenerator.default.wrap(function _callee$(_context) {
108
+ while (1) {
109
+ switch (_context.prev = _context.next) {
110
+ case 0:
111
+ _context.next = 2;
112
+ return _this.layerService.renderLayer(layer);
113
+
114
+ case 2:
115
+ case "end":
116
+ return _context.stop();
117
+ }
118
+ }
119
+ }, _callee);
120
+ }));
121
+
122
+ return function (_x) {
123
+ return _ref2.apply(this, arguments);
124
+ };
125
+ }());
126
+
127
+ case 2:
128
+ case "end":
129
+ return _context2.stop();
130
+ }
131
+ }
132
+ }, _callee2, this);
133
+ }));
134
+
135
+ function render() {
136
+ return _render.apply(this, arguments);
137
+ }
138
+
139
+ return render;
140
+ }()
141
+ }, {
142
+ key: "getRenderLayers",
143
+ value: function getRenderLayers() {
144
+ var tileList = this._tiles.filter(function (t) {
145
+ return t.visible && t.isLoaded;
146
+ });
147
+
148
+ var layers = [];
149
+ tileList.map(function (tile) {
150
+ return layers.push.apply(layers, (0, _toConsumableArray2.default)(tile.getLayers()));
151
+ });
152
+ return layers;
153
+ }
154
+ }, {
155
+ key: "getLayers",
156
+ value: function getLayers() {
157
+ var tileList = this._tiles.filter(function (t) {
158
+ return t.isLoaded;
159
+ });
160
+
161
+ var layers = [];
162
+ tileList.map(function (tile) {
163
+ return layers.push.apply(layers, (0, _toConsumableArray2.default)(tile.getLayers()));
164
+ });
165
+ return layers;
166
+ }
167
+ }, {
168
+ key: "getTiles",
169
+ value: function getTiles() {
170
+ return this._tiles;
171
+ }
172
+ }, {
173
+ key: "destroy",
174
+ value: function destroy() {
175
+ this._tiles.forEach(function (t) {
176
+ return t.destroy();
177
+ });
178
+
179
+ this.tileResource.clear();
180
+ }
181
+ }]);
182
+ return TileLayerService;
183
+ }();
184
+
185
+ exports.TileLayerService = TileLayerService;
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.TilePickService = void 0;
9
+
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+
18
+ var SELECT = 'select';
19
+ var ACTIVE = 'active';
20
+
21
+ var TilePickService = /*#__PURE__*/function () {
22
+ function TilePickService(_ref) {
23
+ var layerService = _ref.layerService,
24
+ tileLayerService = _ref.tileLayerService;
25
+ (0, _classCallCheck2.default)(this, TilePickService);
26
+ (0, _defineProperty2.default)(this, "tilePickID", new Map());
27
+ this.layerService = layerService;
28
+ this.tileLayerService = tileLayerService;
29
+ }
30
+
31
+ (0, _createClass2.default)(TilePickService, [{
32
+ key: "pickRender",
33
+ value: function pickRender(target) {
34
+ // 一个 TileLayer 有多个 Tile,但是会同时触发事件的只有一个 Tile
35
+ var tile = this.tileLayerService.getVisibleTileBylngLat(target.lngLat);
36
+
37
+ if (tile) {
38
+ // TODO 多图层拾取
39
+ var pickLayer = tile.getLayers()[0];
40
+ pickLayer.layerPickService.pickRender(target);
41
+ }
42
+ }
43
+ }, {
44
+ key: "selectFeature",
45
+ value: function selectFeature(pickedColors) {
46
+ // @ts-ignore
47
+ var _pickedColors = (0, _slicedToArray2.default)(pickedColors, 3),
48
+ r = _pickedColors[0],
49
+ g = _pickedColors[1],
50
+ b = _pickedColors[2];
51
+
52
+ var id = this.clor2PickId(r, g, b);
53
+ this.tilePickID.set(SELECT, id);
54
+ this.updateHighLight(r, g, b, SELECT);
55
+ }
56
+ }, {
57
+ key: "highlightPickedFeature",
58
+ value: function highlightPickedFeature(pickedColors) {
59
+ // @ts-ignore
60
+ var _pickedColors2 = (0, _slicedToArray2.default)(pickedColors, 3),
61
+ r = _pickedColors2[0],
62
+ g = _pickedColors2[1],
63
+ b = _pickedColors2[2];
64
+
65
+ var id = this.clor2PickId(r, g, b);
66
+ this.tilePickID.set(ACTIVE, id);
67
+ this.updateHighLight(r, g, b, ACTIVE);
68
+ }
69
+ }, {
70
+ key: "updateHighLight",
71
+ value: function updateHighLight(r, g, b, type) {
72
+ this.tileLayerService.tiles.map(function (tile) {
73
+ var layers = tile.getLayers();
74
+ layers.forEach(function (layer) {
75
+ switch (type) {
76
+ case SELECT:
77
+ layer.hooks.beforeSelect.call([r, g, b]);
78
+ break;
79
+
80
+ case ACTIVE:
81
+ layer.hooks.beforeHighlight.call([r, g, b]);
82
+ break;
83
+ }
84
+ });
85
+ });
86
+ }
87
+ }, {
88
+ key: "setPickState",
89
+ value: function setPickState() {
90
+ var selectColor = this.tilePickID.get(SELECT);
91
+ var activeColor = this.tilePickID.get(ACTIVE);
92
+
93
+ if (selectColor) {
94
+ var _this$pickId2Color = this.pickId2Color(selectColor),
95
+ _this$pickId2Color2 = (0, _slicedToArray2.default)(_this$pickId2Color, 3),
96
+ r = _this$pickId2Color2[0],
97
+ g = _this$pickId2Color2[1],
98
+ b = _this$pickId2Color2[2];
99
+
100
+ this.updateHighLight(r, g, b, SELECT);
101
+ return;
102
+ }
103
+
104
+ if (activeColor) {
105
+ var _this$pickId2Color3 = this.pickId2Color(activeColor),
106
+ _this$pickId2Color4 = (0, _slicedToArray2.default)(_this$pickId2Color3, 3),
107
+ _r = _this$pickId2Color4[0],
108
+ _g = _this$pickId2Color4[1],
109
+ _b = _this$pickId2Color4[2];
110
+
111
+ this.updateHighLight(_r, _g, _b, ACTIVE);
112
+ return;
113
+ }
114
+ }
115
+ }, {
116
+ key: "clor2PickId",
117
+ value: function clor2PickId(r, g, b) {
118
+ return r + '-' + g + '-' + b;
119
+ }
120
+ }, {
121
+ key: "pickId2Color",
122
+ value: function pickId2Color(str) {
123
+ return str.split('-').map(function (n) {
124
+ return +n;
125
+ });
126
+ }
127
+ /** 从瓦片中根据数据 */
128
+
129
+ }, {
130
+ key: "getFeatureById",
131
+ value: function getFeatureById() {}
132
+ }]);
133
+ return TilePickService;
134
+ }();
135
+
136
+ exports.TilePickService = TilePickService;
@@ -3,24 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.styles = exports.Attributes = void 0;
7
-
6
+ exports.ProxyFuncs = void 0;
7
+ // TileLayer 需要代理的子图层的方法
8
+ // 一般都是在 BaseLayer 上的方法
9
+ var ProxyFuncs = [
8
10
  /**
9
- * 瓦片图层的样式
11
+ * 1. 需要作用到所属子图层才会生效的方法
12
+ * 2. 不需要主动重新创建 model 的方法
10
13
  */
11
- var Attributes = ['size', 'color', 'shape'];
12
- exports.Attributes = Attributes;
13
- var common = ['opacity', 'zIndex'];
14
- var rasterLayer = ['mask', 'rampColors', 'domain', 'clampHigh', 'clampLow', 'pixelConstant', 'pixelConstantR', 'pixelConstantG', 'pixelConstantB', 'pixelConstantRGB'].concat(common);
15
- var pointLayer = ['stroke', 'strokeWidth', 'strokeOpacity', 'color', 'shape', 'size'].concat(common);
16
- var lineLayer = ['stroke', 'strokeWidth', 'strokeOpacity', 'color', 'shape', 'size'].concat(common);
17
- var polygonLayer = ['color', 'shape'].concat(common);
18
- var styles = {
19
- 'PointLayer': pointLayer,
20
- 'LineLayer': lineLayer,
21
- 'PolygonLayer': polygonLayer,
22
- 'RasterLayer': rasterLayer,
23
- 'MaskLayer': [],
24
- 'TileDebugLayer': []
25
- };
26
- exports.styles = styles;
14
+ 'shape', 'color', 'size', 'style', 'animate', 'filter', 'rotate', 'scale', 'setBlend', 'setSelect', 'setActive'];
15
+ exports.ProxyFuncs = ProxyFuncs;
@@ -5,37 +5,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.getDefaultStyleAttributeField = getDefaultStyleAttributeField;
9
- exports.getLayerShape = getLayerShape;
10
- exports.parseScaleValue = parseScaleValue;
11
- exports.setScale = setScale;
12
- exports.setStyleAttributeField = setStyleAttributeField;
13
8
  exports.updateLayersConfig = updateLayersConfig;
14
- exports.updateTexture = updateTexture;
15
-
16
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
9
 
18
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
11
 
20
- var _l7Utils = require("@antv/l7-utils");
21
-
22
- function updateTexture(config, layers, rendererService) {
23
- var createTexture2D = rendererService.createTexture2D;
24
- var imageData = (0, _l7Utils.generateColorRamp)(config);
25
- var texture = createTexture2D({
26
- data: imageData.data,
27
- width: imageData.width,
28
- height: imageData.height,
29
- flipY: false
30
- });
31
- layers.map(function (layer) {
32
- layer.updateLayerConfig({
33
- colorTexture: texture
34
- });
35
- });
36
- return texture;
37
- }
38
-
39
12
  function updateLayersConfig(layers, key, value) {
40
13
  layers.map(function (layer) {
41
14
  if (key === 'mask') {
@@ -47,117 +20,4 @@ function updateLayersConfig(layers, key, value) {
47
20
  layer.updateLayerConfig((0, _defineProperty2.default)({}, key, value));
48
21
  }
49
22
  });
50
- }
51
-
52
- function setStyleAttributeField(layer, parent, style, value) {
53
- if (Array.isArray(value)) {
54
- // @ts-ignore
55
- layer[style].apply(layer, (0, _toConsumableArray2.default)(value));
56
- return;
57
- }
58
-
59
- if (typeof value === 'string') {
60
- layer[style](value);
61
- return;
62
- }
63
-
64
- var defaultValue = getDefaultStyleAttributeField(layer, parent.type, style);
65
-
66
- if (!value) {
67
- layer[style](defaultValue);
68
- return layer;
69
- }
70
-
71
- var params = parseScaleValue(value, style);
72
-
73
- if (params.length === 0) {
74
- layer[style](defaultValue);
75
- } else {
76
- // @ts-ignore
77
- layer[style].apply(layer, (0, _toConsumableArray2.default)(params));
78
- }
79
- }
80
-
81
- function getDefaultStyleAttributeField(layer, type, style) {
82
- switch (style) {
83
- case 'size':
84
- return 1;
85
-
86
- case 'color':
87
- return '#fff';
88
-
89
- case 'shape':
90
- return getLayerShape(type, layer);
91
-
92
- default:
93
- return '';
94
- }
95
- }
96
-
97
- function getLayerShape(layerType, layer) {
98
- var _layerShape$scale;
99
-
100
- var layerShape = layer.getAttribute('shape');
101
-
102
- if (layerShape && (_layerShape$scale = layerShape.scale) !== null && _layerShape$scale !== void 0 && _layerShape$scale.field) {
103
- var _layerShape$scale2;
104
-
105
- if (((_layerShape$scale2 = layerShape.scale) === null || _layerShape$scale2 === void 0 ? void 0 : _layerShape$scale2.values) === 'text') {
106
- return [layerShape.scale.field, layerShape.scale.values];
107
- }
108
-
109
- return layerShape.scale.field;
110
- }
111
-
112
- switch (layerType) {
113
- case 'PolygonLayer':
114
- return 'fill';
115
-
116
- case 'LineLayer':
117
- return 'tileline';
118
-
119
- case 'PointLayer':
120
- return 'circle';
121
-
122
- case 'RasterLayer':
123
- return 'image';
124
-
125
- default:
126
- return '';
127
- }
128
- }
129
-
130
- function parseScaleValue(value, type) {
131
- if (type === 'shape') {
132
- if (typeof value === 'string') {
133
- return [value];
134
- } else if (value !== null && value !== void 0 && value.field) {
135
- return [value === null || value === void 0 ? void 0 : value.field];
136
- } else {
137
- return [];
138
- }
139
- }
140
-
141
- var _ref = value,
142
- field = _ref.field,
143
- values = _ref.values,
144
- callback = _ref.callback;
145
-
146
- if (field && values && Array.isArray(values)) {
147
- return [field, values];
148
- } else if (field && callback) {
149
- return [field, callback];
150
- } else if (field) {
151
- return [field];
152
- }
153
-
154
- return [];
155
- }
156
-
157
- function setScale(layer, parent) {
158
- var scaleOptions = parent.tileLayer.scaleField;
159
- var scaleKeys = Object.keys(scaleOptions);
160
- scaleKeys.map(function (key) {
161
- layer.scale(key, scaleOptions[key]);
162
- });
163
23
  }
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
24
+ var _Tile2 = _interopRequireDefault(require("./Tile"));
25
+
26
+ var _point = _interopRequireDefault(require("../../point"));
27
+
28
+ var _line = _interopRequireDefault(require("../../line"));
29
+
30
+ 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); }; }
31
+
32
+ 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; } }
33
+
34
+ var DebugTile = /*#__PURE__*/function (_Tile) {
35
+ (0, _inherits2.default)(DebugTile, _Tile);
36
+
37
+ var _super = _createSuper(DebugTile);
38
+
39
+ function DebugTile() {
40
+ (0, _classCallCheck2.default)(this, DebugTile);
41
+ return _super.apply(this, arguments);
42
+ }
43
+
44
+ (0, _createClass2.default)(DebugTile, [{
45
+ key: "initTileLayer",
46
+ value: function () {
47
+ var _initTileLayer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
48
+ var sourceOptions, pointData, lineLayer, pointLayer;
49
+ return _regenerator.default.wrap(function _callee$(_context) {
50
+ while (1) {
51
+ switch (_context.prev = _context.next) {
52
+ case 0:
53
+ sourceOptions = this.getSourceOption();
54
+ pointData = sourceOptions.data.features[0].properties;
55
+ lineLayer = new _line.default().source(sourceOptions.data, sourceOptions.options).size(1).shape('line').color('red');
56
+ pointLayer = new _point.default({
57
+ minZoom: this.z - 1,
58
+ maxZoom: this.z + 1
59
+ }).source([pointData], {
60
+ parser: {
61
+ type: 'json',
62
+ x: 'textLng',
63
+ y: 'textLat'
64
+ }
65
+ }).size(20).color('red').shape(this.key).style({
66
+ stroke: '#fff',
67
+ strokeWidth: 2
68
+ });
69
+ _context.next = 6;
70
+ return this.addLayer(lineLayer);
71
+
72
+ case 6:
73
+ _context.next = 8;
74
+ return this.addLayer(pointLayer);
75
+
76
+ case 8:
77
+ this.isLoaded = true;
78
+
79
+ case 9:
80
+ case "end":
81
+ return _context.stop();
82
+ }
83
+ }
84
+ }, _callee, this);
85
+ }));
86
+
87
+ function initTileLayer() {
88
+ return _initTileLayer.apply(this, arguments);
89
+ }
90
+
91
+ return initTileLayer;
92
+ }()
93
+ }, {
94
+ key: "getSourceOption",
95
+ value: function getSourceOption() {
96
+ var rawSource = this.parent.getSource();
97
+ var features = this.sourceTile.data.layers['testTile'].features;
98
+ return {
99
+ data: {
100
+ type: 'FeatureCollection',
101
+ features: features
102
+ },
103
+ options: {
104
+ parser: {
105
+ type: 'geojson'
106
+ },
107
+ transforms: rawSource.transforms
108
+ }
109
+ };
110
+ }
111
+ }]);
112
+ return DebugTile;
113
+ }(_Tile2.default);
114
+
115
+ exports.default = DebugTile;