@antv/l7-layers 2.10.3 → 2.10.5

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 +273 -382
  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 +268 -382
  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
@@ -89,26 +89,57 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
89
89
 
90
90
  _defineProperty(_assertThisInitialized(_this), "preTextStyle", {});
91
91
 
92
- _defineProperty(_assertThisInitialized(_this), "mapping", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
93
- return _regeneratorRuntime.wrap(function _callee$(_context) {
94
- while (1) {
95
- switch (_context.prev = _context.next) {
96
- case 0:
97
- _this.initGlyph(); //
92
+ _defineProperty(_assertThisInitialized(_this), "buildModels", /*#__PURE__*/function () {
93
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(callbackModel) {
94
+ var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside;
98
95
 
96
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
97
+ while (1) {
98
+ switch (_context.prev = _context.next) {
99
+ case 0:
100
+ _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;
99
101
 
100
- _this.updateTexture();
102
+ _this.mapping();
101
103
 
102
- _context.next = 4;
103
- return _this.reBuildModel();
104
+ _this.layer.buildLayerModel({
105
+ moduleName: 'pointText',
106
+ vertexShader: textVert,
107
+ fragmentShader: textFrag,
108
+ triangulation: TextTriangulation.bind(_assertThisInitialized(_this)),
109
+ depth: {
110
+ enable: false
111
+ },
112
+ blend: _this.getBlend(),
113
+ stencil: getMask(mask, maskInside)
114
+ }).then(function (model) {
115
+ callbackModel([model]);
116
+ }).catch(function (err) {
117
+ console.warn(err);
118
+ callbackModel([]);
119
+ });
104
120
 
105
- case 4:
106
- case "end":
107
- return _context.stop();
121
+ case 3:
122
+ case "end":
123
+ return _context.stop();
124
+ }
108
125
  }
109
- }
110
- }, _callee);
111
- })));
126
+ }, _callee);
127
+ }));
128
+
129
+ return function (_x) {
130
+ return _ref.apply(this, arguments);
131
+ };
132
+ }());
133
+
134
+ _defineProperty(_assertThisInitialized(_this), "mapping", function () {
135
+ _this.initGlyph();
136
+
137
+ _this.updateTexture();
138
+
139
+ _this.filterGlyphs();
140
+
141
+ _this.reBuildModel();
142
+ });
112
143
 
113
144
  return _this;
114
145
  }
@@ -116,23 +147,23 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
116
147
  _createClass(TextModel, [{
117
148
  key: "getUninforms",
118
149
  value: function getUninforms() {
119
- var _ref2 = this.layer.getLayerConfig(),
120
- _ref2$opacity = _ref2.opacity,
121
- opacity = _ref2$opacity === void 0 ? 1.0 : _ref2$opacity,
122
- _ref2$stroke = _ref2.stroke,
123
- stroke = _ref2$stroke === void 0 ? '#fff' : _ref2$stroke,
124
- _ref2$strokeWidth = _ref2.strokeWidth,
125
- strokeWidth = _ref2$strokeWidth === void 0 ? 0 : _ref2$strokeWidth,
126
- _ref2$textAnchor = _ref2.textAnchor,
127
- textAnchor = _ref2$textAnchor === void 0 ? 'center' : _ref2$textAnchor,
128
- _ref2$textAllowOverla = _ref2.textAllowOverlap,
129
- textAllowOverlap = _ref2$textAllowOverla === void 0 ? false : _ref2$textAllowOverla,
130
- _ref2$halo = _ref2.halo,
131
- halo = _ref2$halo === void 0 ? 0.5 : _ref2$halo,
132
- _ref2$gamma = _ref2.gamma,
133
- gamma = _ref2$gamma === void 0 ? 2.0 : _ref2$gamma,
134
- _ref2$raisingHeight = _ref2.raisingHeight,
135
- raisingHeight = _ref2$raisingHeight === void 0 ? 0 : _ref2$raisingHeight;
150
+ var _ref3 = this.layer.getLayerConfig(),
151
+ _ref3$opacity = _ref3.opacity,
152
+ opacity = _ref3$opacity === void 0 ? 1.0 : _ref3$opacity,
153
+ _ref3$stroke = _ref3.stroke,
154
+ stroke = _ref3$stroke === void 0 ? '#fff' : _ref3$stroke,
155
+ _ref3$strokeWidth = _ref3.strokeWidth,
156
+ strokeWidth = _ref3$strokeWidth === void 0 ? 0 : _ref3$strokeWidth,
157
+ _ref3$textAnchor = _ref3.textAnchor,
158
+ textAnchor = _ref3$textAnchor === void 0 ? 'center' : _ref3$textAnchor,
159
+ _ref3$textAllowOverla = _ref3.textAllowOverlap,
160
+ textAllowOverlap = _ref3$textAllowOverla === void 0 ? false : _ref3$textAllowOverla,
161
+ _ref3$halo = _ref3.halo,
162
+ halo = _ref3$halo === void 0 ? 0.5 : _ref3$halo,
163
+ _ref3$gamma = _ref3.gamma,
164
+ gamma = _ref3$gamma === void 0 ? 2.0 : _ref3$gamma,
165
+ _ref3$raisingHeight = _ref3.raisingHeight,
166
+ raisingHeight = _ref3$raisingHeight === void 0 ? 0 : _ref3$raisingHeight;
136
167
 
137
168
  var _this$fontService = this.fontService,
138
169
  canvas = _this$fontService.canvas,
@@ -200,117 +231,35 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
200
231
  }
201
232
  }, {
202
233
  key: "initModels",
203
- value: function () {
204
- var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
205
- var _ref3, _ref3$textAnchor, textAnchor, _ref3$textAllowOverla, textAllowOverlap;
206
-
207
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
208
- while (1) {
209
- switch (_context2.prev = _context2.next) {
210
- case 0:
211
- // 绑定事件
212
- if (!this.layer.inited) {
213
- this.bindEvent();
214
- }
215
-
216
- this.extent = this.textExtent();
217
- _ref3 = this.layer.getLayerConfig(), _ref3$textAnchor = _ref3.textAnchor, textAnchor = _ref3$textAnchor === void 0 ? 'center' : _ref3$textAnchor, _ref3$textAllowOverla = _ref3.textAllowOverlap, textAllowOverlap = _ref3$textAllowOverla === void 0 ? true : _ref3$textAllowOverla;
218
- this.preTextStyle = {
219
- textAnchor: textAnchor,
220
- textAllowOverlap: textAllowOverlap
221
- };
222
- _context2.next = 6;
223
- return this.buildModels();
224
-
225
- case 6:
226
- return _context2.abrupt("return", _context2.sent);
227
-
228
- case 7:
229
- case "end":
230
- return _context2.stop();
231
- }
232
- }
233
- }, _callee2, this);
234
- }));
235
-
236
- function initModels() {
237
- return _initModels.apply(this, arguments);
238
- }
239
-
240
- return initModels;
241
- }()
242
- }, {
243
- key: "buildModels",
244
- value: function () {
245
- var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
246
- var _ref4, _ref4$mask, mask, _ref4$maskInside, maskInside, _ref4$textAllowOverla, textAllowOverlap, model;
247
-
248
- return _regeneratorRuntime.wrap(function _callee3$(_context3) {
249
- while (1) {
250
- switch (_context3.prev = _context3.next) {
251
- case 0:
252
- _ref4 = this.layer.getLayerConfig(), _ref4$mask = _ref4.mask, mask = _ref4$mask === void 0 ? false : _ref4$mask, _ref4$maskInside = _ref4.maskInside, maskInside = _ref4$maskInside === void 0 ? true : _ref4$maskInside, _ref4$textAllowOverla = _ref4.textAllowOverlap, textAllowOverlap = _ref4$textAllowOverla === void 0 ? false : _ref4$textAllowOverla; // this.mapping(); 重复调用
253
-
254
- this.initGlyph(); //
255
-
256
- this.updateTexture();
257
-
258
- if (!textAllowOverlap) {
259
- this.filterGlyphs();
260
- }
261
-
262
- _context3.next = 6;
263
- return this.layer.buildLayerModel({
264
- moduleName: 'pointText',
265
- vertexShader: textVert,
266
- fragmentShader: textFrag,
267
- triangulation: TextTriangulation.bind(this),
268
- depth: {
269
- enable: false
270
- },
271
- blend: this.getBlend(),
272
- stencil: getMask(mask, maskInside)
273
- });
274
-
275
- case 6:
276
- model = _context3.sent;
277
- return _context3.abrupt("return", [model]);
278
-
279
- case 8:
280
- case "end":
281
- return _context3.stop();
282
- }
283
- }
284
- }, _callee3, this);
285
- }));
234
+ value: function initModels(callbackModel) {
235
+ this.layer.on('remapping', this.mapping);
236
+ this.extent = this.textExtent();
286
237
 
287
- function buildModels() {
288
- return _buildModels.apply(this, arguments);
289
- }
238
+ var _ref4 = this.layer.getLayerConfig(),
239
+ _ref4$textAnchor = _ref4.textAnchor,
240
+ textAnchor = _ref4$textAnchor === void 0 ? 'center' : _ref4$textAnchor,
241
+ _ref4$textAllowOverla = _ref4.textAllowOverlap,
242
+ textAllowOverlap = _ref4$textAllowOverla === void 0 ? true : _ref4$textAllowOverla;
290
243
 
291
- return buildModels;
292
- }()
244
+ this.preTextStyle = {
245
+ textAnchor: textAnchor,
246
+ textAllowOverlap: textAllowOverlap
247
+ };
248
+ this.buildModels(callbackModel);
249
+ }
293
250
  }, {
294
251
  key: "needUpdate",
295
252
  value: function needUpdate() {
296
253
  var _ref5 = this.layer.getLayerConfig(),
297
254
  _ref5$textAllowOverla = _ref5.textAllowOverlap,
298
- textAllowOverlap = _ref5$textAllowOverla === void 0 ? false : _ref5$textAllowOverla;
299
-
300
- var data = this.layer.getEncodedData();
301
-
302
- if (data.length < 5 || textAllowOverlap) {
303
- // 小于不做避让
304
- return false;
305
- } // textAllowOverlap 发生改变
255
+ textAllowOverlap = _ref5$textAllowOverla === void 0 ? false : _ref5$textAllowOverla; // textAllowOverlap 发生改变
306
256
 
307
257
 
308
258
  var zoom = this.mapService.getZoom();
309
259
  var extent = this.mapService.getBounds();
310
260
  var flag = boundsContains(this.extent, extent); // 文本不能压盖则进行过滤
311
261
 
312
- if (Math.abs(this.currentZoom - zoom) > 1 || !flag || textAllowOverlap !== this.preTextStyle.textAllowOverlap) {
313
- // TODO this.mapping 数据未变化,避让
262
+ if (!textAllowOverlap && (Math.abs(this.currentZoom - zoom) > 1 || !flag) || textAllowOverlap !== this.preTextStyle.textAllowOverlap) {
314
263
  this.reBuildModel();
315
264
  return true;
316
265
  }
@@ -323,8 +272,7 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
323
272
  var _this$texture, _this$dataTexture;
324
273
 
325
274
  (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
326
- (_this$dataTexture = this.dataTexture) === null || _this$dataTexture === void 0 ? void 0 : _this$dataTexture.destroy(); // TODO this.mapping
327
-
275
+ (_this$dataTexture = this.dataTexture) === null || _this$dataTexture === void 0 ? void 0 : _this$dataTexture.destroy();
328
276
  this.layer.off('remapping', this.mapping);
329
277
  }
330
278
  }, {
@@ -402,14 +350,6 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
402
350
  }
403
351
  });
404
352
  }
405
- }, {
406
- key: "bindEvent",
407
- value: function bindEvent() {
408
- if (!this.layer.isTileLayer) {
409
- // 重新绑定
410
- this.layer.on('remapping', this.mapping);
411
- }
412
- }
413
353
  }, {
414
354
  key: "textExtent",
415
355
  value: function textExtent() {
@@ -574,7 +514,7 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
574
514
 
575
515
  var centroid = feature.version === 'GAODE2.x' ? feature.originCentroid : feature.centroid;
576
516
  var size = feature.size;
577
- var fontScale = size / 16;
517
+ var fontScale = size / 24;
578
518
 
579
519
  var pixels = _this3.mapService.lngLatToContainer(centroid);
580
520
 
@@ -642,48 +582,35 @@ var TextModel = /*#__PURE__*/function (_BaseModel) {
642
582
  }
643
583
  }, {
644
584
  key: "reBuildModel",
645
- value: function () {
646
- var _reBuildModel = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
647
- var _ref10, _ref10$mask, mask, _ref10$maskInside, maskInside, model;
648
-
649
- return _regeneratorRuntime.wrap(function _callee4$(_context4) {
650
- while (1) {
651
- switch (_context4.prev = _context4.next) {
652
- case 0:
653
- _ref10 = this.layer.getLayerConfig(), _ref10$mask = _ref10.mask, mask = _ref10$mask === void 0 ? false : _ref10$mask, _ref10$maskInside = _ref10.maskInside, maskInside = _ref10$maskInside === void 0 ? true : _ref10$maskInside;
654
- this.filterGlyphs();
655
- _context4.next = 4;
656
- return this.layer.buildLayerModel({
657
- moduleName: 'pointText',
658
- vertexShader: textVert,
659
- fragmentShader: textFrag,
660
- triangulation: TextTriangulation.bind(this),
661
- depth: {
662
- enable: false
663
- },
664
- blend: this.getBlend(),
665
- stencil: getMask(mask, maskInside)
666
- });
667
-
668
- case 4:
669
- model = _context4.sent;
670
- // TODO 渲染流程待修改
671
- this.layer.models = [model]; // this.layerService.throttleRenderLayers();
672
-
673
- case 6:
674
- case "end":
675
- return _context4.stop();
676
- }
677
- }
678
- }, _callee4, this);
679
- }));
680
-
681
- function reBuildModel() {
682
- return _reBuildModel.apply(this, arguments);
683
- }
684
-
685
- return reBuildModel;
686
- }()
585
+ value: function reBuildModel() {
586
+ var _this4 = this;
587
+
588
+ var _ref10 = this.layer.getLayerConfig(),
589
+ _ref10$mask = _ref10.mask,
590
+ mask = _ref10$mask === void 0 ? false : _ref10$mask,
591
+ _ref10$maskInside = _ref10.maskInside,
592
+ maskInside = _ref10$maskInside === void 0 ? true : _ref10$maskInside;
593
+
594
+ this.filterGlyphs();
595
+ this.layer.buildLayerModel({
596
+ moduleName: 'pointText',
597
+ vertexShader: textVert,
598
+ fragmentShader: textFrag,
599
+ triangulation: TextTriangulation.bind(this),
600
+ depth: {
601
+ enable: false
602
+ },
603
+ blend: this.getBlend(),
604
+ stencil: getMask(mask, maskInside)
605
+ }).then(function (model) {
606
+ _this4.layer.models = [model];
607
+
608
+ _this4.layerService.throttleRenderLayers();
609
+ }).catch(function (err) {
610
+ console.warn(err);
611
+ _this4.layer.models = [];
612
+ });
613
+ }
687
614
  }]);
688
615
 
689
616
  return TextModel;
@@ -8,8 +8,8 @@ export default class FillModel extends BaseModel {
8
8
  };
9
9
  elements: IElements;
10
10
  };
11
- initModels(): Promise<IModel[]>;
12
- buildModels(): Promise<IModel[]>;
11
+ initModels(callbackModel: (models: IModel[]) => void): void;
12
+ buildModels(callbackModel: (models: IModel[]) => void): void;
13
13
  clearModels(): void;
14
14
  protected registerBuiltinAttributes(): void;
15
15
  }
@@ -1,10 +1,8 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
1
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
2
  import _createClass from "@babel/runtime/helpers/esm/createClass";
4
3
  import _inherits from "@babel/runtime/helpers/esm/inherits";
5
4
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
6
5
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
7
- import _regeneratorRuntime from "@babel/runtime/regenerator";
8
6
 
9
7
  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
8
 
@@ -63,83 +61,43 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
63
61
  }
64
62
  }, {
65
63
  key: "initModels",
66
- value: function () {
67
- var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
68
- return _regeneratorRuntime.wrap(function _callee$(_context) {
69
- while (1) {
70
- switch (_context.prev = _context.next) {
71
- case 0:
72
- _context.next = 2;
73
- return this.buildModels();
74
-
75
- case 2:
76
- return _context.abrupt("return", _context.sent);
77
-
78
- case 3:
79
- case "end":
80
- return _context.stop();
81
- }
82
- }
83
- }, _callee, this);
84
- }));
85
-
86
- function initModels() {
87
- return _initModels.apply(this, arguments);
88
- }
89
-
90
- return initModels;
91
- }()
64
+ value: function initModels(callbackModel) {
65
+ this.buildModels(callbackModel);
66
+ }
92
67
  }, {
93
68
  key: "buildModels",
94
- value: function () {
95
- var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
96
- var _ref2, _ref2$workerEnabled, workerEnabled, usage, model;
97
-
98
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
99
- while (1) {
100
- switch (_context2.prev = _context2.next) {
101
- case 0:
102
- _ref2 = this.layer.getLayerConfig(), _ref2$workerEnabled = _ref2.workerEnabled, workerEnabled = _ref2$workerEnabled === void 0 ? false : _ref2$workerEnabled, usage = _ref2.usage;
103
- this.layer.triangulation = PointFillTriangulation;
104
- _context2.next = 4;
105
- return this.layer.buildLayerModel({
106
- moduleName: 'pointTile_' + usage,
107
- vertexShader: point_tile_vert,
108
- fragmentShader: point_tile_frag,
109
- triangulation: PointFillTriangulation,
110
- depth: {
111
- enable: false
112
- },
113
- cull: {
114
- enable: true,
115
- face: getCullFace(this.mapService.version)
116
- },
117
- blend: this.getBlend(),
118
- workerEnabled: workerEnabled,
119
- workerOptions: {
120
- modelType: 'pointTile'
121
- },
122
- pick: usage !== 'basemap'
123
- });
124
-
125
- case 4:
126
- model = _context2.sent;
127
- return _context2.abrupt("return", [model]);
128
-
129
- case 6:
130
- case "end":
131
- return _context2.stop();
132
- }
133
- }
134
- }, _callee2, this);
135
- }));
136
-
137
- function buildModels() {
138
- return _buildModels.apply(this, arguments);
139
- }
140
-
141
- return buildModels;
142
- }()
69
+ value: function buildModels(callbackModel) {
70
+ var _ref2 = this.layer.getLayerConfig(),
71
+ _ref2$workerEnabled = _ref2.workerEnabled,
72
+ workerEnabled = _ref2$workerEnabled === void 0 ? false : _ref2$workerEnabled,
73
+ usage = _ref2.usage;
74
+
75
+ this.layer.triangulation = PointFillTriangulation;
76
+ this.layer.buildLayerModel({
77
+ moduleName: 'pointTile_' + usage,
78
+ vertexShader: point_tile_vert,
79
+ fragmentShader: point_tile_frag,
80
+ triangulation: PointFillTriangulation,
81
+ depth: {
82
+ enable: false
83
+ },
84
+ cull: {
85
+ enable: true,
86
+ face: getCullFace(this.mapService.version)
87
+ },
88
+ blend: this.getBlend(),
89
+ workerEnabled: workerEnabled,
90
+ workerOptions: {
91
+ modelType: 'pointTile'
92
+ },
93
+ pick: usage !== 'basemap'
94
+ }).then(function (model) {
95
+ callbackModel([model]);
96
+ }).catch(function (err) {
97
+ console.warn(err);
98
+ callbackModel([]);
99
+ });
100
+ }
143
101
  }, {
144
102
  key: "clearModels",
145
103
  value: function clearModels() {}
@@ -22,8 +22,8 @@ export default class TextModel extends BaseModel {
22
22
  private textCount;
23
23
  private preTextStyle;
24
24
  getUninforms(): IModelUniform;
25
- initModels(): Promise<IModel[]>;
26
- buildModels(): Promise<IModel[]>;
25
+ initModels(callbackModel: (models: IModel[]) => void): void;
26
+ buildModels: (callbackModel: (models: IModel[]) => void) => Promise<void>;
27
27
  clearModels(): void;
28
28
  protected registerBuiltinAttributes(): void;
29
29
  private mapping;