@antv/l7-layers 2.10.3 → 2.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/es/Geometry/index.d.ts +3 -2
  2. package/es/Geometry/index.js +17 -27
  3. package/es/Geometry/models/billboard.d.ts +2 -2
  4. package/es/Geometry/models/billboard.js +37 -77
  5. package/es/Geometry/models/plane.d.ts +2 -2
  6. package/es/Geometry/models/plane.js +40 -80
  7. package/es/Geometry/models/sprite.d.ts +2 -2
  8. package/es/Geometry/models/sprite.js +45 -83
  9. package/es/canvas/index.d.ts +3 -2
  10. package/es/canvas/index.js +19 -29
  11. package/es/canvas/models/canvas.d.ts +2 -2
  12. package/es/canvas/models/canvas.js +15 -54
  13. package/es/citybuliding/building.d.ts +3 -2
  14. package/es/citybuliding/building.js +17 -26
  15. package/es/citybuliding/models/build.d.ts +2 -2
  16. package/es/citybuliding/models/build.js +25 -70
  17. package/es/core/BaseLayer.d.ts +18 -21
  18. package/es/core/BaseLayer.js +274 -385
  19. package/es/core/BaseModel.d.ts +2 -2
  20. package/es/core/BaseModel.js +6 -47
  21. package/es/core/triangulation.js +1 -8
  22. package/es/earth/index.d.ts +2 -2
  23. package/es/earth/index.js +9 -28
  24. package/es/earth/models/atmosphere.d.ts +2 -2
  25. package/es/earth/models/atmosphere.js +22 -67
  26. package/es/earth/models/base.d.ts +2 -2
  27. package/es/earth/models/base.js +43 -89
  28. package/es/earth/models/bloomsphere.d.ts +2 -2
  29. package/es/earth/models/bloomsphere.js +22 -67
  30. package/es/heatmap/index.d.ts +3 -2
  31. package/es/heatmap/index.js +22 -33
  32. package/es/heatmap/models/grid.d.ts +2 -2
  33. package/es/heatmap/models/grid.js +27 -68
  34. package/es/heatmap/models/grid3d.d.ts +2 -2
  35. package/es/heatmap/models/grid3d.js +28 -69
  36. package/es/heatmap/models/heatmap.d.ts +2 -2
  37. package/es/heatmap/models/heatmap.js +14 -40
  38. package/es/heatmap/models/hexagon.d.ts +2 -2
  39. package/es/heatmap/models/hexagon.js +28 -69
  40. package/es/image/index.d.ts +3 -2
  41. package/es/image/index.js +17 -27
  42. package/es/image/models/dataImage.d.ts +2 -2
  43. package/es/image/models/dataImage.js +54 -93
  44. package/es/image/models/image.d.ts +2 -2
  45. package/es/image/models/image.js +67 -108
  46. package/es/image/models/tileDataImage.d.ts +2 -2
  47. package/es/image/models/tileDataImage.js +43 -84
  48. package/es/index.d.ts +2 -2
  49. package/es/index.js +2 -2
  50. package/es/line/index.d.ts +4 -5
  51. package/es/line/index.js +25 -51
  52. package/es/line/models/arc.d.ts +2 -2
  53. package/es/line/models/arc.js +38 -73
  54. package/es/line/models/arc_3d.d.ts +2 -2
  55. package/es/line/models/arc_3d.js +34 -69
  56. package/es/line/models/earthArc_3d.d.ts +2 -2
  57. package/es/line/models/earthArc_3d.js +37 -72
  58. package/es/line/models/great_circle.d.ts +2 -2
  59. package/es/line/models/great_circle.js +29 -70
  60. package/es/line/models/half.d.ts +2 -2
  61. package/es/line/models/half.js +17 -40
  62. package/es/line/models/index.d.ts +1 -1
  63. package/es/line/models/index.js +2 -0
  64. package/es/line/models/line.d.ts +2 -2
  65. package/es/line/models/line.js +47 -79
  66. package/es/line/models/linearline.d.ts +2 -2
  67. package/es/line/models/linearline.js +31 -70
  68. package/es/line/models/simpleLine.d.ts +2 -2
  69. package/es/line/models/simpleLine.js +34 -71
  70. package/es/line/models/simpleTileLine.d.ts +2 -2
  71. package/es/line/models/simpleTileLine.js +30 -70
  72. package/es/line/models/tile.d.ts +2 -2
  73. package/es/line/models/tile.js +17 -40
  74. package/es/line/models/wall.d.ts +2 -2
  75. package/es/line/models/wall.js +22 -67
  76. package/es/mask/index.d.ts +4 -2
  77. package/es/mask/index.js +97 -27
  78. package/es/mask/models/fill.d.ts +2 -2
  79. package/es/mask/models/fill.js +16 -40
  80. package/es/mask/models/index.d.ts +1 -1
  81. package/es/mask/models/index.js +3 -1
  82. package/es/plugins/DataMappingPlugin.d.ts +2 -0
  83. package/es/plugins/DataMappingPlugin.js +152 -90
  84. package/es/plugins/DataSourcePlugin.js +30 -74
  85. package/es/plugins/FeatureScalePlugin.d.ts +1 -0
  86. package/es/plugins/FeatureScalePlugin.js +61 -85
  87. package/es/plugins/LayerModelPlugin.d.ts +2 -2
  88. package/es/plugins/LayerModelPlugin.js +37 -121
  89. package/es/plugins/LayerStylePlugin.js +6 -1
  90. package/es/plugins/MultiPassRendererPlugin.js +1 -1
  91. package/es/plugins/PixelPickingPlugin.js +1 -1
  92. package/es/plugins/RegisterStyleAttributePlugin.js +16 -1
  93. package/es/plugins/UpdateModelPlugin.js +0 -3
  94. package/es/plugins/UpdateStyleAttributePlugin.js +6 -3
  95. package/es/point/index.d.ts +4 -4
  96. package/es/point/index.js +23 -55
  97. package/es/point/models/earthExtrude.d.ts +2 -2
  98. package/es/point/models/earthExtrude.js +30 -73
  99. package/es/point/models/earthFill.d.ts +2 -2
  100. package/es/point/models/earthFill.js +21 -66
  101. package/es/point/models/extrude.d.ts +2 -2
  102. package/es/point/models/extrude.js +17 -40
  103. package/es/point/models/fill.d.ts +2 -2
  104. package/es/point/models/fill.js +20 -43
  105. package/es/point/models/fillmage.d.ts +2 -2
  106. package/es/point/models/fillmage.js +43 -82
  107. package/es/point/models/image.d.ts +2 -2
  108. package/es/point/models/image.js +31 -72
  109. package/es/point/models/index.d.ts +1 -1
  110. package/es/point/models/index.js +2 -0
  111. package/es/point/models/normal.d.ts +2 -2
  112. package/es/point/models/normal.js +30 -71
  113. package/es/point/models/radar.d.ts +2 -2
  114. package/es/point/models/radar.js +35 -75
  115. package/es/point/models/simplePoint.d.ts +2 -2
  116. package/es/point/models/simplePoint.js +29 -70
  117. package/es/point/models/text.d.ts +2 -3
  118. package/es/point/models/text.js +110 -183
  119. package/es/point/models/tile.d.ts +2 -2
  120. package/es/point/models/tile.js +35 -77
  121. package/es/point/models/tileText.d.ts +2 -2
  122. package/es/point/models/tileText.js +116 -151
  123. package/es/polygon/index.d.ts +3 -2
  124. package/es/polygon/index.js +24 -27
  125. package/es/polygon/models/extrude.d.ts +2 -2
  126. package/es/polygon/models/extrude.js +32 -69
  127. package/es/polygon/models/fill.d.ts +2 -2
  128. package/es/polygon/models/fill.js +43 -76
  129. package/es/polygon/models/index.d.ts +1 -1
  130. package/es/polygon/models/index.js +2 -0
  131. package/es/polygon/models/ocean.d.ts +2 -2
  132. package/es/polygon/models/ocean.js +28 -69
  133. package/es/polygon/models/tile.d.ts +2 -2
  134. package/es/polygon/models/tile.js +30 -70
  135. package/es/polygon/models/water.d.ts +2 -2
  136. package/es/polygon/models/water.js +28 -69
  137. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -1
  138. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +2 -1
  139. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +2 -1
  140. package/es/raster/index.d.ts +4 -3
  141. package/es/raster/index.js +22 -28
  142. package/es/raster/models/index.d.ts +1 -1
  143. package/es/raster/models/index.js +3 -1
  144. package/es/raster/models/raster.d.ts +2 -2
  145. package/es/raster/models/raster.js +13 -36
  146. package/es/raster/models/rasterRgb.d.ts +2 -2
  147. package/es/raster/models/rasterRgb.js +13 -36
  148. package/es/raster/models/rasterTile.d.ts +2 -2
  149. package/es/raster/models/rasterTile.js +36 -77
  150. package/es/raster/raster.d.ts +1 -1
  151. package/es/raster/raster.js +22 -42
  152. package/es/tile/interaction/TilePickService.d.ts +16 -0
  153. package/es/tile/interaction/TilePickService.js +129 -0
  154. package/es/tile/interaction/getRasterData.d.ts +2 -2
  155. package/es/tile/interaction/utils.js +11 -3
  156. package/es/tile/interface.d.ts +4 -5
  157. package/es/tile/manager/base.d.ts +12 -17
  158. package/es/tile/manager/base.js +47 -212
  159. package/es/tile/manager/layerManager.d.ts +19 -0
  160. package/es/tile/manager/layerManager.js +254 -0
  161. package/es/tile/manager/mapLayerManager.d.ts +7 -0
  162. package/es/tile/manager/mapLayerManager.js +119 -0
  163. package/es/tile/models/tileModel.d.ts +10 -0
  164. package/es/tile/models/tileModel.js +81 -0
  165. package/es/tile/render/TileRenderService.d.ts +10 -0
  166. package/es/tile/render/TileRenderService.js +68 -0
  167. package/es/tile/style/TileStyleService.d.ts +17 -0
  168. package/es/tile/style/TileStyleService.js +118 -0
  169. package/es/tile/style/constants.d.ts +13 -1
  170. package/es/tile/style/constants.js +15 -6
  171. package/es/tile/style/utils.d.ts +8 -1
  172. package/es/tile/style/utils.js +126 -0
  173. package/es/tile/tileFactory/base.d.ts +45 -0
  174. package/es/tile/tileFactory/base.js +403 -0
  175. package/es/tile/tileFactory/index.d.ts +4 -10
  176. package/es/tile/tileFactory/index.js +23 -30
  177. package/es/tile/tileFactory/layers/{RasterDataLayer.d.ts → rasterDataLayer.d.ts} +3 -3
  178. package/es/tile/tileFactory/layers/{RasterDataLayer.js → rasterDataLayer.js} +21 -33
  179. package/es/tile/tileFactory/layers/{TileDebugLayer.d.ts → tileTest.d.ts} +2 -2
  180. package/es/tile/tileFactory/layers/{TileDebugLayer.js → tileTest.js} +10 -23
  181. package/es/tile/tileFactory/layers/vectorLayer.d.ts +30 -0
  182. package/es/tile/tileFactory/layers/vectorLayer.js +253 -0
  183. package/es/tile/tileFactory/line.d.ts +12 -0
  184. package/es/tile/tileFactory/line.js +59 -0
  185. package/es/tile/tileFactory/mask.d.ts +12 -0
  186. package/es/tile/tileFactory/mask.js +60 -0
  187. package/es/tile/tileFactory/point.d.ts +12 -0
  188. package/es/tile/tileFactory/point.js +60 -0
  189. package/es/tile/tileFactory/polygon.d.ts +12 -0
  190. package/es/tile/tileFactory/polygon.js +59 -0
  191. package/es/tile/tileFactory/raster.d.ts +12 -0
  192. package/es/tile/tileFactory/raster.js +55 -0
  193. package/es/tile/tileFactory/rasterData.d.ts +12 -0
  194. package/es/tile/tileFactory/rasterData.js +81 -0
  195. package/es/tile/tileFactory/test.d.ts +12 -0
  196. package/es/tile/tileFactory/test.js +94 -0
  197. package/es/tile/tileLayer/MapTileLayer.d.ts +6 -0
  198. package/es/tile/tileLayer/MapTileLayer.js +48 -0
  199. package/es/tile/tileLayer/TileLayer.d.ts +22 -0
  200. package/es/tile/tileLayer/TileLayer.js +198 -0
  201. package/es/tile/tileLayer/base.d.ts +33 -0
  202. package/es/tile/tileLayer/base.js +212 -0
  203. package/es/tile/utils.d.ts +11 -1
  204. package/es/tile/utils.js +129 -0
  205. package/es/utils/dataMappingStyle.d.ts +4 -4
  206. package/es/utils/dataMappingStyle.js +18 -16
  207. package/es/utils/layerData.js +11 -5
  208. package/es/wind/index.d.ts +3 -2
  209. package/es/wind/index.js +17 -27
  210. package/es/wind/models/wind.d.ts +2 -2
  211. package/es/wind/models/wind.js +104 -123
  212. package/lib/Geometry/index.js +17 -29
  213. package/lib/Geometry/models/billboard.js +37 -79
  214. package/lib/Geometry/models/plane.js +40 -82
  215. package/lib/Geometry/models/sprite.js +45 -85
  216. package/lib/canvas/index.js +19 -31
  217. package/lib/canvas/models/canvas.js +15 -56
  218. package/lib/citybuliding/building.js +17 -28
  219. package/lib/citybuliding/models/build.js +25 -72
  220. package/lib/core/BaseLayer.js +269 -385
  221. package/lib/core/BaseModel.js +6 -48
  222. package/lib/core/triangulation.js +1 -8
  223. package/lib/earth/index.js +9 -30
  224. package/lib/earth/models/atmosphere.js +22 -69
  225. package/lib/earth/models/base.js +42 -90
  226. package/lib/earth/models/bloomsphere.js +22 -69
  227. package/lib/heatmap/index.js +22 -35
  228. package/lib/heatmap/models/grid.js +27 -70
  229. package/lib/heatmap/models/grid3d.js +28 -71
  230. package/lib/heatmap/models/heatmap.js +14 -40
  231. package/lib/heatmap/models/hexagon.js +28 -71
  232. package/lib/image/index.js +17 -29
  233. package/lib/image/models/dataImage.js +54 -95
  234. package/lib/image/models/image.js +67 -110
  235. package/lib/image/models/tileDataImage.js +43 -86
  236. package/lib/index.js +5 -5
  237. package/lib/line/index.js +26 -53
  238. package/lib/line/models/arc.js +38 -75
  239. package/lib/line/models/arc_3d.js +34 -71
  240. package/lib/line/models/earthArc_3d.js +37 -74
  241. package/lib/line/models/great_circle.js +29 -72
  242. package/lib/line/models/half.js +17 -40
  243. package/lib/line/models/index.js +3 -0
  244. package/lib/line/models/line.js +47 -81
  245. package/lib/line/models/linearline.js +31 -72
  246. package/lib/line/models/simpleLine.js +34 -73
  247. package/lib/line/models/simpleTileLine.js +30 -72
  248. package/lib/line/models/tile.js +17 -40
  249. package/lib/line/models/wall.js +22 -69
  250. package/lib/mask/index.js +99 -28
  251. package/lib/mask/models/fill.js +16 -40
  252. package/lib/mask/models/index.js +4 -1
  253. package/lib/plugins/DataMappingPlugin.js +149 -91
  254. package/lib/plugins/DataSourcePlugin.js +30 -76
  255. package/lib/plugins/FeatureScalePlugin.js +61 -87
  256. package/lib/plugins/LayerModelPlugin.js +41 -128
  257. package/lib/plugins/LayerStylePlugin.js +6 -1
  258. package/lib/plugins/MultiPassRendererPlugin.js +1 -1
  259. package/lib/plugins/PixelPickingPlugin.js +1 -1
  260. package/lib/plugins/RegisterStyleAttributePlugin.js +16 -1
  261. package/lib/plugins/UpdateModelPlugin.js +0 -3
  262. package/lib/plugins/UpdateStyleAttributePlugin.js +6 -3
  263. package/lib/point/index.js +24 -56
  264. package/lib/point/models/earthExtrude.js +30 -75
  265. package/lib/point/models/earthFill.js +21 -68
  266. package/lib/point/models/extrude.js +17 -40
  267. package/lib/point/models/fill.js +21 -44
  268. package/lib/point/models/fillmage.js +43 -84
  269. package/lib/point/models/image.js +31 -74
  270. package/lib/point/models/index.js +3 -0
  271. package/lib/point/models/normal.js +30 -73
  272. package/lib/point/models/radar.js +35 -77
  273. package/lib/point/models/simplePoint.js +29 -72
  274. package/lib/point/models/text.js +109 -183
  275. package/lib/point/models/tile.js +35 -79
  276. package/lib/point/models/tileText.js +115 -151
  277. package/lib/polygon/index.js +25 -29
  278. package/lib/polygon/models/extrude.js +32 -71
  279. package/lib/polygon/models/fill.js +43 -78
  280. package/lib/polygon/models/index.js +3 -0
  281. package/lib/polygon/models/ocean.js +28 -71
  282. package/lib/polygon/models/tile.js +30 -72
  283. package/lib/polygon/models/water.js +28 -71
  284. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +2 -1
  285. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +2 -1
  286. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +2 -1
  287. package/lib/raster/index.js +22 -30
  288. package/lib/raster/models/index.js +4 -1
  289. package/lib/raster/models/raster.js +13 -36
  290. package/lib/raster/models/rasterRgb.js +13 -36
  291. package/lib/raster/models/rasterTile.js +36 -79
  292. package/lib/raster/raster.js +22 -44
  293. package/lib/tile/interaction/TilePickService.js +143 -0
  294. package/lib/tile/interaction/utils.js +11 -3
  295. package/lib/tile/manager/base.js +47 -213
  296. package/lib/tile/manager/layerManager.js +275 -0
  297. package/lib/tile/manager/mapLayerManager.js +134 -0
  298. package/lib/tile/models/tileModel.js +94 -0
  299. package/lib/tile/render/TileRenderService.js +78 -0
  300. package/lib/tile/style/TileStyleService.js +133 -0
  301. package/lib/tile/style/constants.js +19 -8
  302. package/lib/tile/style/utils.js +140 -0
  303. package/lib/tile/tileFactory/base.js +427 -0
  304. package/lib/tile/tileFactory/index.js +24 -42
  305. package/lib/tile/tileFactory/layers/{RasterDataLayer.js → rasterDataLayer.js} +21 -35
  306. package/lib/tile/tileFactory/layers/{TileDebugLayer.js → tileTest.js} +11 -24
  307. package/lib/tile/tileFactory/layers/vectorLayer.js +268 -0
  308. package/lib/tile/tileFactory/line.js +70 -0
  309. package/lib/tile/tileFactory/mask.js +71 -0
  310. package/lib/tile/tileFactory/point.js +71 -0
  311. package/lib/tile/tileFactory/polygon.js +70 -0
  312. package/lib/tile/tileFactory/raster.js +68 -0
  313. package/lib/tile/tileFactory/rasterData.js +93 -0
  314. package/lib/tile/tileFactory/test.js +106 -0
  315. package/lib/tile/tileLayer/MapTileLayer.js +63 -0
  316. package/lib/tile/tileLayer/TileLayer.js +215 -0
  317. package/lib/tile/tileLayer/base.js +225 -0
  318. package/lib/tile/utils.js +148 -0
  319. package/lib/utils/dataMappingStyle.js +20 -18
  320. package/lib/utils/layerData.js +10 -4
  321. package/lib/wind/index.js +17 -29
  322. package/lib/wind/models/wind.js +104 -125
  323. package/package.json +7 -7
  324. package/es/core/LayerPickService.d.ts +0 -9
  325. package/es/core/LayerPickService.js +0 -85
  326. package/es/tile/service/TileLayerService.d.ts +0 -33
  327. package/es/tile/service/TileLayerService.js +0 -172
  328. package/es/tile/service/TilePickService.d.ts +0 -22
  329. package/es/tile/service/TilePickService.js +0 -148
  330. package/es/tile/service/TileSourceService.d.ts +0 -7
  331. package/es/tile/service/TileSourceService.js +0 -39
  332. package/es/tile/tileFactory/DebugTile.d.ts +0 -16
  333. package/es/tile/tileFactory/DebugTile.js +0 -100
  334. package/es/tile/tileFactory/ImageTile.d.ts +0 -14
  335. package/es/tile/tileFactory/ImageTile.js +0 -89
  336. package/es/tile/tileFactory/MaskTile.d.ts +0 -17
  337. package/es/tile/tileFactory/MaskTile.js +0 -98
  338. package/es/tile/tileFactory/RasterRGBTile.d.ts +0 -16
  339. package/es/tile/tileFactory/RasterRGBTile.js +0 -91
  340. package/es/tile/tileFactory/RasterTile.d.ts +0 -27
  341. package/es/tile/tileFactory/RasterTile.js +0 -186
  342. package/es/tile/tileFactory/Tile.d.ts +0 -34
  343. package/es/tile/tileFactory/Tile.js +0 -199
  344. package/es/tile/tileFactory/VectorTile.d.ts +0 -20
  345. package/es/tile/tileFactory/VectorTile.js +0 -152
  346. package/es/tile/tileFactory/util.d.ts +0 -6
  347. package/es/tile/tileFactory/util.js +0 -33
  348. package/es/tile/tileLayer/BaseLayer.d.ts +0 -46
  349. package/es/tile/tileLayer/BaseLayer.js +0 -358
  350. package/lib/core/LayerPickService.js +0 -96
  351. package/lib/tile/service/TileLayerService.js +0 -185
  352. package/lib/tile/service/TilePickService.js +0 -162
  353. package/lib/tile/service/TileSourceService.js +0 -59
  354. package/lib/tile/tileFactory/DebugTile.js +0 -115
  355. package/lib/tile/tileFactory/ImageTile.js +0 -104
  356. package/lib/tile/tileFactory/MaskTile.js +0 -113
  357. package/lib/tile/tileFactory/RasterRGBTile.js +0 -106
  358. package/lib/tile/tileFactory/RasterTile.js +0 -205
  359. package/lib/tile/tileFactory/Tile.js +0 -210
  360. package/lib/tile/tileFactory/VectorTile.js +0 -167
  361. package/lib/tile/tileFactory/util.js +0 -48
  362. package/lib/tile/tileLayer/BaseLayer.js +0 -373
@@ -135,8 +135,8 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
135
135
  }, {
136
136
  key: "initModels",
137
137
  value: function () {
138
- var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
139
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, rampColorsData, rampColors, source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, imageData, model;
138
+ var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(callbackModel) {
139
+ var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, rampColorsData, rampColors, source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, imageData;
140
140
 
141
141
  return _regenerator.default.wrap(function _callee2$(_context2) {
142
142
  while (1) {
@@ -169,8 +169,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
169
169
  height: imageData.height,
170
170
  flipY: false
171
171
  });
172
- _context2.next = 15;
173
- return this.layer.buildLayerModel({
172
+ this.layer.buildLayerModel({
174
173
  moduleName: 'rasterImageData',
175
174
  vertexShader: rasterVert,
176
175
  fragmentShader: rasterFrag,
@@ -180,13 +179,14 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
180
179
  enable: false
181
180
  },
182
181
  stencil: (0, _l7Utils.getMask)(mask, maskInside)
182
+ }).then(function (model) {
183
+ callbackModel([model]);
184
+ }).catch(function (err) {
185
+ console.warn(err);
186
+ callbackModel([]);
183
187
  });
184
188
 
185
- case 15:
186
- model = _context2.sent;
187
- return _context2.abrupt("return", [model]);
188
-
189
- case 17:
189
+ case 14:
190
190
  case "end":
191
191
  return _context2.stop();
192
192
  }
@@ -194,7 +194,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
194
194
  }, _callee2, this);
195
195
  }));
196
196
 
197
- function initModels() {
197
+ function initModels(_x2) {
198
198
  return _initModels.apply(this, arguments);
199
199
  }
200
200
 
@@ -202,32 +202,9 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
202
202
  }()
203
203
  }, {
204
204
  key: "buildModels",
205
- value: function () {
206
- var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
207
- return _regenerator.default.wrap(function _callee3$(_context3) {
208
- while (1) {
209
- switch (_context3.prev = _context3.next) {
210
- case 0:
211
- _context3.next = 2;
212
- return this.initModels();
213
-
214
- case 2:
215
- return _context3.abrupt("return", _context3.sent);
216
-
217
- case 3:
218
- case "end":
219
- return _context3.stop();
220
- }
221
- }
222
- }, _callee3, this);
223
- }));
224
-
225
- function buildModels() {
226
- return _buildModels.apply(this, arguments);
227
- }
228
-
229
- return buildModels;
230
- }()
205
+ value: function buildModels(callbackModel) {
206
+ this.initModels(callbackModel);
207
+ }
231
208
  }, {
232
209
  key: "clearModels",
233
210
  value: function clearModels() {
@@ -141,8 +141,8 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
141
141
  }, {
142
142
  key: "initModels",
143
143
  value: function () {
144
- var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
145
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, model;
144
+ var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(callbackModel) {
145
+ var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height;
146
146
 
147
147
  return _regenerator.default.wrap(function _callee2$(_context2) {
148
148
  while (1) {
@@ -168,8 +168,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
168
168
  format: _l7Core.gl.RGB,
169
169
  type: _l7Core.gl.FLOAT
170
170
  });
171
- _context2.next = 13;
172
- return this.layer.buildLayerModel({
171
+ this.layer.buildLayerModel({
173
172
  moduleName: 'rasterImageDataRGBA',
174
173
  vertexShader: rasterVert,
175
174
  fragmentShader: rasterFrag,
@@ -179,13 +178,14 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
179
178
  enable: false
180
179
  },
181
180
  stencil: (0, _l7Utils.getMask)(mask, maskInside)
181
+ }).then(function (model) {
182
+ callbackModel([model]);
183
+ }).catch(function (err) {
184
+ console.warn(err);
185
+ callbackModel([]);
182
186
  });
183
187
 
184
- case 13:
185
- model = _context2.sent;
186
- return _context2.abrupt("return", [model]);
187
-
188
- case 15:
188
+ case 12:
189
189
  case "end":
190
190
  return _context2.stop();
191
191
  }
@@ -193,7 +193,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
193
193
  }, _callee2, this);
194
194
  }));
195
195
 
196
- function initModels() {
196
+ function initModels(_x2) {
197
197
  return _initModels.apply(this, arguments);
198
198
  }
199
199
 
@@ -201,32 +201,9 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
201
201
  }()
202
202
  }, {
203
203
  key: "buildModels",
204
- value: function () {
205
- var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
206
- return _regenerator.default.wrap(function _callee3$(_context3) {
207
- while (1) {
208
- switch (_context3.prev = _context3.next) {
209
- case 0:
210
- _context3.next = 2;
211
- return this.initModels();
212
-
213
- case 2:
214
- return _context3.abrupt("return", _context3.sent);
215
-
216
- case 3:
217
- case "end":
218
- return _context3.stop();
219
- }
220
- }
221
- }, _callee3, this);
222
- }));
223
-
224
- function buildModels() {
225
- return _buildModels.apply(this, arguments);
226
- }
227
-
228
- return buildModels;
229
- }()
204
+ value: function buildModels(callbackModel) {
205
+ this.initModels(callbackModel);
206
+ }
230
207
  }, {
231
208
  key: "clearModels",
232
209
  value: function clearModels() {
@@ -7,10 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
11
 
16
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -85,83 +81,44 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
85
81
  }
86
82
  }, {
87
83
  key: "initModels",
88
- value: function () {
89
- var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
90
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, parserDataItem, model;
91
-
92
- return _regenerator.default.wrap(function _callee$(_context) {
93
- while (1) {
94
- switch (_context.prev = _context.next) {
95
- case 0:
96
- _ref2 = this.layer.getLayerConfig(), _ref2$mask = _ref2.mask, mask = _ref2$mask === void 0 ? false : _ref2$mask, _ref2$maskInside = _ref2.maskInside, maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
97
- source = this.layer.getSource();
98
- createTexture2D = this.rendererService.createTexture2D;
99
- parserDataItem = source.data.dataArray[0];
100
- this.texture = createTexture2D({
101
- data: parserDataItem.data,
102
- width: parserDataItem.width,
103
- height: parserDataItem.height,
104
- format: _l7Core.gl.LUMINANCE,
105
- type: _l7Core.gl.FLOAT
106
- });
107
- _context.next = 7;
108
- return this.layer.buildLayerModel({
109
- moduleName: 'rasterTileImageData',
110
- vertexShader: rasterVert,
111
- fragmentShader: rasterFrag,
112
- triangulation: _triangulation.RasterImageTriangulation,
113
- depth: {
114
- enable: false
115
- },
116
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
117
- });
118
-
119
- case 7:
120
- model = _context.sent;
121
- return _context.abrupt("return", [model]);
122
-
123
- case 9:
124
- case "end":
125
- return _context.stop();
126
- }
127
- }
128
- }, _callee, this);
129
- }));
130
-
131
- function initModels() {
132
- return _initModels.apply(this, arguments);
133
- }
134
-
135
- return initModels;
136
- }()
84
+ value: function initModels(callbackModel) {
85
+ var _ref2 = this.layer.getLayerConfig(),
86
+ _ref2$mask = _ref2.mask,
87
+ mask = _ref2$mask === void 0 ? false : _ref2$mask,
88
+ _ref2$maskInside = _ref2.maskInside,
89
+ maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
90
+
91
+ var source = this.layer.getSource();
92
+ var createTexture2D = this.rendererService.createTexture2D;
93
+ var parserDataItem = source.data.dataArray[0];
94
+ this.texture = createTexture2D({
95
+ data: parserDataItem.data,
96
+ width: parserDataItem.width,
97
+ height: parserDataItem.height,
98
+ format: _l7Core.gl.LUMINANCE,
99
+ type: _l7Core.gl.FLOAT
100
+ });
101
+ this.layer.buildLayerModel({
102
+ moduleName: 'rasterTileImageData',
103
+ vertexShader: rasterVert,
104
+ fragmentShader: rasterFrag,
105
+ triangulation: _triangulation.RasterImageTriangulation,
106
+ depth: {
107
+ enable: false
108
+ },
109
+ stencil: (0, _l7Utils.getMask)(mask, maskInside)
110
+ }).then(function (model) {
111
+ callbackModel([model]);
112
+ }).catch(function (err) {
113
+ console.warn(err);
114
+ callbackModel([]);
115
+ });
116
+ }
137
117
  }, {
138
118
  key: "buildModels",
139
- value: function () {
140
- var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
141
- return _regenerator.default.wrap(function _callee2$(_context2) {
142
- while (1) {
143
- switch (_context2.prev = _context2.next) {
144
- case 0:
145
- _context2.next = 2;
146
- return this.initModels();
147
-
148
- case 2:
149
- return _context2.abrupt("return", _context2.sent);
150
-
151
- case 3:
152
- case "end":
153
- return _context2.stop();
154
- }
155
- }
156
- }, _callee2, this);
157
- }));
158
-
159
- function buildModels() {
160
- return _buildModels.apply(this, arguments);
161
- }
162
-
163
- return buildModels;
164
- }()
119
+ value: function buildModels(callbackModel) {
120
+ this.initModels(callbackModel);
121
+ }
165
122
  }, {
166
123
  key: "clearModels",
167
124
  value: function clearModels() {
@@ -7,14 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
11
 
14
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
13
 
16
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
-
18
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
15
 
20
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -73,48 +69,30 @@ var RasterLayer = /*#__PURE__*/function (_BaseLayer) {
73
69
  }
74
70
  }, {
75
71
  key: "buildModels",
76
- value: function () {
77
- var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
78
- var parserDataItem, createTexture2D, _this$getLayerConfig, rampColors, imageData;
79
-
80
- return _regenerator.default.wrap(function _callee$(_context) {
81
- while (1) {
82
- switch (_context.prev = _context.next) {
83
- case 0:
84
- parserDataItem = this.getSource().data.dataArray[0];
85
- createTexture2D = this.rendererService.createTexture2D;
86
- this.rasterTexture = createTexture2D({
87
- data: parserDataItem.data,
88
- width: parserDataItem.width,
89
- height: parserDataItem.height,
90
- format: _l7Core.gl.LUMINANCE,
91
- type: _l7Core.gl.FLOAT,
92
- aniso: 4
93
- });
94
- _this$getLayerConfig = this.getLayerConfig(), rampColors = _this$getLayerConfig.rampColors;
95
- imageData = (0, _l7Utils.generateColorRamp)(rampColors);
96
- this.colorTexture = createTexture2D({
97
- data: imageData.data,
98
- width: imageData.width,
99
- height: imageData.height,
100
- flipY: false
101
- });
102
- this.models = [this.buildRasterModel()];
103
-
104
- case 7:
105
- case "end":
106
- return _context.stop();
107
- }
108
- }
109
- }, _callee, this);
110
- }));
72
+ value: function buildModels() {
73
+ var parserDataItem = this.getSource().data.dataArray[0];
74
+ var createTexture2D = this.rendererService.createTexture2D;
75
+ this.rasterTexture = createTexture2D({
76
+ data: parserDataItem.data,
77
+ width: parserDataItem.width,
78
+ height: parserDataItem.height,
79
+ format: _l7Core.gl.LUMINANCE,
80
+ type: _l7Core.gl.FLOAT,
81
+ aniso: 4
82
+ });
111
83
 
112
- function buildModels() {
113
- return _buildModels.apply(this, arguments);
114
- }
84
+ var _this$getLayerConfig = this.getLayerConfig(),
85
+ rampColors = _this$getLayerConfig.rampColors;
115
86
 
116
- return buildModels;
117
- }()
87
+ var imageData = (0, _l7Utils.generateColorRamp)(rampColors);
88
+ this.colorTexture = createTexture2D({
89
+ data: imageData.data,
90
+ width: imageData.width,
91
+ height: imageData.height,
92
+ flipY: false
93
+ });
94
+ this.models = [this.buildRasterModel()];
95
+ }
118
96
  }, {
119
97
  key: "renderModels",
120
98
  value: function renderModels() {
@@ -0,0 +1,143 @@
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+
24
+ var _eventemitter = require("eventemitter3");
25
+
26
+ 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); }; }
27
+
28
+ 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; } }
29
+
30
+ var TilePickService = /*#__PURE__*/function (_EventEmitter) {
31
+ (0, _inherits2.default)(TilePickService, _EventEmitter);
32
+
33
+ var _super = _createSuper(TilePickService);
34
+
35
+ function TilePickService(parent, rendererService, pickingService, children, tileRenderService) {
36
+ var _this;
37
+
38
+ (0, _classCallCheck2.default)(this, TilePickService);
39
+ _this = _super.call(this);
40
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isLastPicked", false);
41
+ _this.parent = parent;
42
+ _this.rendererService = rendererService;
43
+ _this.pickingService = pickingService;
44
+ _this.children = children;
45
+ _this.tileRenderService = tileRenderService;
46
+ return _this;
47
+ }
48
+
49
+ (0, _createClass2.default)(TilePickService, [{
50
+ key: "pick",
51
+ value: function pick(layers, target) {
52
+ var _this2 = this;
53
+
54
+ // Tip: 在进行拾取渲染的时候也需要先渲染一遍父组件然后再渲染子组件
55
+ // 如需要在 栅格瓦片存在 Mask 的时候发生的拾取,那么就需要先渲染父组件(渲染父组件的帧缓冲)
56
+ this.tileRenderService.renderMask(this.parent);
57
+ var isPicked = layers.filter(function (layer) {
58
+ return _this2.parent.needPick(target.type) && layer.inited && layer.isVisible();
59
+ }).some(function (layer) {
60
+ layer.hooks.beforePickingEncode.call();
61
+
62
+ if (layer.masks.length > 0) {
63
+ // 清除上一次的模版缓存
64
+ _this2.rendererService.clear({
65
+ stencil: 0,
66
+ depth: 1,
67
+ framebuffer: null
68
+ });
69
+
70
+ layer.masks.map(function (m) {
71
+ m.hooks.beforeRender.call();
72
+ m.render();
73
+ m.hooks.afterRender.call();
74
+ });
75
+ }
76
+
77
+ layer.renderModels(true);
78
+ layer.hooks.afterPickingEncode.call();
79
+
80
+ var layerPicked = _this2.pickingService.pickFromPickingFBO(layer, target); // RasterLayer 不参与拾取后的 shader 计算
81
+
82
+
83
+ if (layerPicked && _this2.parent.type !== 'RasterLayer') {
84
+ _this2.emit('pick', {
85
+ type: target.type,
86
+ pickedColors: _this2.pickingService.pickedColors,
87
+ layer: layer
88
+ });
89
+
90
+ _this2.pickingService.pickedTileLayers = [_this2.parent];
91
+ }
92
+
93
+ return layerPicked;
94
+ });
95
+
96
+ if (this.parent.type !== 'RasterLayer' && !isPicked && this.isLastPicked && target.type !== 'click') {
97
+ // 只有上一次有被高亮选中,本次未选中的时候才需要清除选中状态
98
+ this.pickingService.pickedTileLayers = [];
99
+ this.emit('unpick', {});
100
+ this.beforeHighlight([0, 0, 0]);
101
+ }
102
+
103
+ this.isLastPicked = isPicked;
104
+ return isPicked;
105
+ }
106
+ }, {
107
+ key: "clearPick",
108
+ value: function clearPick() {
109
+ this.children.filter(function (child) {
110
+ return child.inited && child.isVisible();
111
+ }).map(function (layer) {
112
+ layer.hooks.beforeSelect.call([0, 0, 0]);
113
+ });
114
+ this.pickingService.pickedTileLayers = [];
115
+ }
116
+ }, {
117
+ key: "beforeHighlight",
118
+ value: function beforeHighlight(pickedColors) {
119
+ this.children.filter(function (child) {
120
+ return child.inited && child.isVisible();
121
+ }).map(function (child) {
122
+ child.hooks.beforeHighlight.call(pickedColors);
123
+ });
124
+ }
125
+ }, {
126
+ key: "beforeSelect",
127
+ value: function beforeSelect(pickedColors) {
128
+ this.children.filter(function (child) {
129
+ return child.inited && child.isVisible();
130
+ }).map(function (layer) {
131
+ layer.hooks.beforeSelect.call(pickedColors);
132
+ });
133
+ }
134
+ }, {
135
+ key: "destroy",
136
+ value: function destroy() {
137
+ this.removeAllListeners();
138
+ }
139
+ }]);
140
+ return TilePickService;
141
+ }(_eventemitter.EventEmitter);
142
+
143
+ exports.TilePickService = TilePickService;
@@ -45,7 +45,7 @@ function setSelect(layers, pickedColors, renderList) {
45
45
  }); // unselect normal layer
46
46
 
47
47
  renderList.filter(function (layer) {
48
- return layer.inited && layer.isVisible() && layer.needPick('click');
48
+ return layer.inited && !layer.isVector && layer.isVisible() && layer.needPick('click');
49
49
  }).filter(function (layer) {
50
50
  return layer.getCurrentSelectedId() !== null;
51
51
  }).map(function (layer) {
@@ -58,8 +58,9 @@ function setSelect(layers, pickedColors, renderList) {
58
58
  function setHighlight(layers, pickedColors) {
59
59
  var pickId = (0, _l7Utils.decodePickingColor)(pickedColors);
60
60
  layers.filter(function (layer) {
61
- return layer.inited && layer.isVisible();
62
- }) // @ts-ignore
61
+ return layer.inited && layer.isVisible() && layer.isVector;
62
+ }) // Tip: 使用 vectorLayer 上的 pickID 优化高亮操作(过滤重复操作)
63
+ // @ts-ignore
63
64
  .filter(function (layer) {
64
65
  return layer.getPickID() !== pickId;
65
66
  }).map(function (layer) {
@@ -72,6 +73,13 @@ function setHighlight(layers, pickedColors) {
72
73
  function setPickState(layers, pickColors) {
73
74
  if (pickColors.select) {
74
75
  layers.map(function (layer) {
76
+ // if(layer.modelLoaded) {
77
+ // selectFeature(layer, this.pickColors.select);
78
+ // } else {
79
+ // layer.once('modelLoaded', () => {
80
+ // selectFeature(layer, this.pickColors.select);
81
+ // })
82
+ // }
75
83
  selectFeature(layer, pickColors.select);
76
84
  });
77
85
  }