@antv/l7-layers 2.9.21 → 2.9.23

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 (707) hide show
  1. package/es/Geometry/index.js +4 -5
  2. package/es/Geometry/models/billboard.js +23 -9
  3. package/es/Geometry/models/index.js +4 -5
  4. package/es/Geometry/models/plane.js +25 -13
  5. package/es/Geometry/models/sprite.js +11 -21
  6. package/es/Geometry/shaders/billboard_frag.glsl +13 -0
  7. package/es/Geometry/shaders/billboard_vert.glsl +50 -0
  8. package/es/Geometry/shaders/plane_frag.glsl +22 -0
  9. package/es/Geometry/shaders/plane_vert.glsl +53 -0
  10. package/es/Geometry/shaders/sprite_frag.glsl +21 -0
  11. package/es/Geometry/shaders/sprite_vert.glsl +28 -0
  12. package/es/canvas/index.js +4 -5
  13. package/es/canvas/models/canvas.js +6 -12
  14. package/es/canvas/models/index.js +2 -3
  15. package/es/citybuliding/building.js +4 -5
  16. package/es/citybuliding/models/build.js +19 -22
  17. package/es/citybuliding/shaders/build_frag.glsl +117 -0
  18. package/es/citybuliding/shaders/build_vert.glsl +54 -0
  19. package/es/core/BaseLayer.js +205 -157
  20. package/es/core/BaseModel.js +135 -76
  21. package/es/core/interface.js +1 -2
  22. package/es/core/schema.js +4 -2
  23. package/es/core/shape/Path.js +8 -3
  24. package/es/core/shape/extrude.js +9 -4
  25. package/es/core/triangulation.js +89 -17
  26. package/es/earth/index.js +11 -7
  27. package/es/earth/models/atmosphere.js +15 -7
  28. package/es/earth/models/base.js +19 -7
  29. package/es/earth/models/bloomsphere.js +15 -7
  30. package/es/earth/shaders/atmosphere_frag.glsl +17 -0
  31. package/es/earth/shaders/atmosphere_vert.glsl +26 -0
  32. package/es/earth/shaders/base_frag.glsl +13 -0
  33. package/es/earth/shaders/base_vert.glsl +52 -0
  34. package/es/earth/shaders/bloomsphere_frag.glsl +15 -0
  35. package/es/earth/shaders/bloomsphere_vert.glsl +20 -0
  36. package/es/earth/utils.js +28 -5
  37. package/es/heatmap/index.js +8 -7
  38. package/es/heatmap/models/grid.js +11 -5
  39. package/es/heatmap/models/grid3d.js +18 -7
  40. package/es/heatmap/models/heatmap.js +45 -44
  41. package/es/heatmap/models/hexagon.js +14 -6
  42. package/es/heatmap/models/index.js +5 -6
  43. package/es/heatmap/shaders/grid_vert.glsl +42 -0
  44. package/es/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
  45. package/es/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
  46. package/es/heatmap/shaders/heatmap_frag.glsl +47 -0
  47. package/es/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
  48. package/es/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
  49. package/es/heatmap/shaders/heatmap_vert.glsl +10 -0
  50. package/es/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  51. package/es/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
  52. package/es/heatmap/shaders/hexagon_frag.glsl +12 -0
  53. package/es/heatmap/shaders/hexagon_vert.glsl +41 -0
  54. package/es/heatmap/triangulation.js +2 -2
  55. package/es/image/index.js +4 -5
  56. package/es/image/models/dataImage.js +21 -31
  57. package/es/image/models/image.js +19 -25
  58. package/es/image/models/index.js +3 -4
  59. package/es/image/shaders/dataImage_frag.glsl +38 -0
  60. package/es/image/shaders/image_frag.glsl +9 -0
  61. package/es/image/shaders/image_vert.glsl +17 -0
  62. package/es/index.d.ts +2 -2
  63. package/es/index.js +92 -30
  64. package/es/line/index.js +4 -5
  65. package/es/line/models/arc.js +38 -15
  66. package/es/line/models/arc_3d.js +33 -14
  67. package/es/line/models/earthArc_3d.js +33 -14
  68. package/es/line/models/great_circle.js +25 -13
  69. package/es/line/models/half.js +33 -12
  70. package/es/line/models/index.js +12 -13
  71. package/es/line/models/line.js +48 -15
  72. package/es/line/models/linearline.js +26 -12
  73. package/es/line/models/simpleLine.js +26 -11
  74. package/es/line/models/tile.js +28 -10
  75. package/es/line/models/wall.js +30 -13
  76. package/es/line/shaders/arc_chunks.vert.glsl +21 -0
  77. package/es/line/shaders/dash/arc_dash_frag.glsl +28 -0
  78. package/es/line/shaders/dash/arc_dash_vert.glsl +148 -0
  79. package/es/line/shaders/dash/line_dash_frag.glsl +31 -0
  80. package/es/line/shaders/dash/line_dash_vert.glsl +93 -0
  81. package/es/line/shaders/half/line_half_frag.glsl +53 -0
  82. package/es/line/shaders/half/line_half_vert.glsl +169 -0
  83. package/es/line/shaders/line_arc2d_vert.glsl +114 -0
  84. package/es/line/shaders/line_arc_3d_frag.glsl +103 -0
  85. package/es/line/shaders/line_arc_3d_vert.glsl +207 -0
  86. package/es/line/shaders/line_arc_frag.glsl +89 -0
  87. package/es/line/shaders/line_arc_great_circle_frag.glsl +101 -0
  88. package/es/line/shaders/line_arc_great_circle_vert.glsl +215 -0
  89. package/es/line/shaders/line_arc_vert.glsl +174 -0
  90. package/es/line/shaders/line_bezier_vert.glsl +85 -0
  91. package/es/line/shaders/line_frag.glsl +100 -0
  92. package/es/line/shaders/line_vert.glsl +192 -0
  93. package/es/line/shaders/linear/arc3d_linear_frag.glsl +47 -0
  94. package/es/line/shaders/linear/arc3d_linear_vert.glsl +207 -0
  95. package/es/line/shaders/linear/arc_linear_frag.glsl +38 -0
  96. package/es/line/shaders/linear/arc_linear_vert.glsl +138 -0
  97. package/es/line/shaders/linear/line_linear_frag.glsl +27 -0
  98. package/es/line/shaders/linearLine/line_linear_frag.glsl +20 -0
  99. package/es/line/shaders/linearLine/line_linear_vert.glsl +112 -0
  100. package/es/line/shaders/simple/simpleline_frag.glsl +10 -0
  101. package/es/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
  102. package/es/line/shaders/simple/simpleline_vert.glsl +78 -0
  103. package/es/line/shaders/tile/line_tile_frag.glsl +79 -0
  104. package/es/line/shaders/tile/line_tile_vert.glsl +210 -0
  105. package/es/line/shaders/wall_frag.glsl +93 -0
  106. package/es/line/shaders/wall_vert.glsl +111 -0
  107. package/es/mask/index.js +4 -5
  108. package/es/mask/models/fill.js +11 -8
  109. package/es/mask/models/index.js +2 -3
  110. package/es/mask/shaders/mask_frag.glsl +7 -0
  111. package/es/mask/shaders/mask_vert.glsl +22 -0
  112. package/es/plugins/DataMappingPlugin.js +71 -34
  113. package/es/plugins/DataSourcePlugin.js +12 -10
  114. package/es/plugins/FeatureScalePlugin.js +44 -24
  115. package/es/plugins/LayerAnimateStylePlugin.js +6 -7
  116. package/es/plugins/LayerModelPlugin.js +16 -7
  117. package/es/plugins/LayerStylePlugin.js +7 -3
  118. package/es/plugins/LightingPlugin.js +21 -13
  119. package/es/plugins/MultiPassRendererPlugin.js +21 -8
  120. package/es/plugins/PixelPickingPlugin.js +33 -11
  121. package/es/plugins/RegisterStyleAttributePlugin.js +10 -3
  122. package/es/plugins/ShaderUniformPlugin.js +24 -10
  123. package/es/plugins/UpdateModelPlugin.js +7 -3
  124. package/es/plugins/UpdateStyleAttributePlugin.js +20 -7
  125. package/es/point/index.js +12 -6
  126. package/es/point/models/earthExtrude.js +30 -12
  127. package/es/point/models/earthFill.js +25 -13
  128. package/es/point/models/extrude.js +30 -12
  129. package/es/point/models/fill.js +50 -15
  130. package/es/point/models/fillmage.js +46 -17
  131. package/es/point/models/image.js +20 -12
  132. package/es/point/models/index.js +14 -14
  133. package/es/point/models/normal.js +15 -7
  134. package/es/point/models/radar.js +33 -13
  135. package/es/point/models/simplePoint.js +17 -9
  136. package/es/point/models/text.js +77 -30
  137. package/es/point/models/tile.js +33 -12
  138. package/es/point/shaders/animate/wave_frag.glsl +65 -0
  139. package/es/point/shaders/earth/extrude_frag.glsl +44 -0
  140. package/es/point/shaders/earth/extrude_vert.glsl +140 -0
  141. package/es/point/shaders/earth/fill_frag.glsl +86 -0
  142. package/es/point/shaders/earth/fill_vert.glsl +126 -0
  143. package/es/point/shaders/extrude/extrude_frag.glsl +44 -0
  144. package/es/point/shaders/extrude/extrude_vert.glsl +121 -0
  145. package/es/point/shaders/fill_frag.glsl +84 -0
  146. package/es/point/shaders/fill_vert.glsl +182 -0
  147. package/es/point/shaders/image/fillImage_frag.glsl +20 -0
  148. package/es/point/shaders/image/fillImage_vert.glsl +108 -0
  149. package/es/point/shaders/image_frag.glsl +39 -0
  150. package/es/point/shaders/image_vert.glsl +81 -0
  151. package/es/point/shaders/normal_frag.glsl +15 -0
  152. package/es/point/shaders/normal_vert.glsl +79 -0
  153. package/es/point/shaders/radar/radar_frag.glsl +64 -0
  154. package/es/point/shaders/radar/radar_vert.glsl +120 -0
  155. package/es/point/shaders/simplePoint_frag.glsl +53 -0
  156. package/es/point/shaders/simplePoint_vert.glsl +79 -0
  157. package/es/point/shaders/text_frag.glsl +48 -0
  158. package/es/point/shaders/text_vert.glsl +131 -0
  159. package/es/point/shaders/tile/fill_tile_frag.glsl +83 -0
  160. package/es/point/shaders/tile/fill_tile_vert.glsl +181 -0
  161. package/es/point/shape/extrude.js +8 -3
  162. package/es/polygon/index.js +6 -5
  163. package/es/polygon/models/extrude.js +40 -31
  164. package/es/polygon/models/fill.js +19 -8
  165. package/es/polygon/models/index.js +14 -14
  166. package/es/polygon/models/ocean.js +25 -33
  167. package/es/polygon/models/tile.js +13 -7
  168. package/es/polygon/models/water.js +21 -25
  169. package/es/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
  170. package/es/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
  171. package/es/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
  172. package/es/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
  173. package/es/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
  174. package/es/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
  175. package/es/polygon/shaders/polygon_frag.glsl +12 -0
  176. package/es/polygon/shaders/polygon_linear_frag.glsl +22 -0
  177. package/es/polygon/shaders/polygon_linear_vert.glsl +74 -0
  178. package/es/polygon/shaders/polygon_vert.glsl +66 -0
  179. package/es/polygon/shaders/tile/polygon_tile_frag.glsl +12 -0
  180. package/es/polygon/shaders/tile/polygon_tile_vert.glsl +82 -0
  181. package/es/polygon/shaders/water/polygon_ocean_frag.glsl +248 -0
  182. package/es/polygon/shaders/water/polygon_ocean_vert.glsl +52 -0
  183. package/es/polygon/shaders/water/polygon_water_frag.glsl +73 -0
  184. package/es/polygon/shaders/water/polygon_water_vert.glsl +55 -0
  185. package/es/raster/buffers/triangulation.js +2 -2
  186. package/es/raster/index.js +7 -6
  187. package/es/raster/models/index.js +3 -4
  188. package/es/raster/models/raster.js +15 -25
  189. package/es/raster/raster.js +9 -13
  190. package/es/raster/shaders/raster_2d_frag.glsl +28 -0
  191. package/es/raster/shaders/raster_2d_vert.glsl +18 -0
  192. package/es/raster/shaders/raster_frag.glsl +9 -0
  193. package/es/raster/shaders/raster_vert.glsl +44 -0
  194. package/es/tile/interface.js +1 -2
  195. package/es/tile/manager/tileConfigManager.js +6 -8
  196. package/es/tile/manager/tileLayerManager.js +19 -30
  197. package/es/tile/manager/tilePickerManager.js +14 -14
  198. package/es/tile/models/tileModel.js +6 -6
  199. package/es/tile/tileFactory/base.js +26 -32
  200. package/es/tile/tileFactory/index.js +6 -7
  201. package/es/tile/tileFactory/line.js +3 -9
  202. package/es/tile/tileFactory/point.js +3 -9
  203. package/es/tile/tileFactory/polygon.js +3 -9
  204. package/es/tile/tileFactory/raster.js +4 -10
  205. package/es/tile/tileFactory/rasterData.js +5 -11
  206. package/es/tile/tileFactory/rasterDataLayer.js +4 -5
  207. package/es/tile/tileFactory/vectorLayer.js +8 -9
  208. package/es/tile/tileLayer/baseTileLayer.js +67 -39
  209. package/es/tile/tmsTileLayer.js +5 -4
  210. package/es/tile/utils.js +5 -3
  211. package/es/utils/blend.js +1 -2
  212. package/es/utils/collision-index.js +36 -21
  213. package/es/utils/dataMappingStyle.js +71 -15
  214. package/es/utils/extrude_polyline.js +90 -48
  215. package/es/utils/grid-index.js +7 -21
  216. package/es/utils/layerData.js +41 -17
  217. package/es/utils/multiPassRender.js +21 -5
  218. package/es/utils/polylineNormal.js +40 -20
  219. package/es/utils/simpleLine.js +4 -6
  220. package/es/utils/symbol-layout.js +49 -10
  221. package/es/utils/updateShape.js +6 -3
  222. package/es/wind/index.js +5 -6
  223. package/es/wind/models/index.js +2 -3
  224. package/es/wind/models/utils.js +50 -26
  225. package/es/wind/models/wind.js +15 -18
  226. package/es/wind/models/windRender.js +89 -78
  227. package/es/wind/models/windShader.d.ts +6 -6
  228. package/es/wind/models/windShader.js +12 -7
  229. package/es/wind/shaders/wind_frag.glsl +9 -0
  230. package/es/wind/shaders/wind_vert.glsl +17 -0
  231. package/lib/Geometry/index.js +77 -115
  232. package/lib/Geometry/models/billboard.js +181 -218
  233. package/lib/Geometry/models/index.js +34 -19
  234. package/lib/Geometry/models/plane.js +278 -394
  235. package/lib/Geometry/models/sprite.js +189 -294
  236. package/lib/Geometry/shaders/billboard_frag.glsl +13 -0
  237. package/lib/Geometry/shaders/billboard_vert.glsl +50 -0
  238. package/lib/Geometry/shaders/plane_frag.glsl +22 -0
  239. package/lib/Geometry/shaders/plane_vert.glsl +53 -0
  240. package/lib/Geometry/shaders/sprite_frag.glsl +21 -0
  241. package/lib/Geometry/shaders/sprite_vert.glsl +28 -0
  242. package/lib/canvas/index.js +66 -102
  243. package/lib/canvas/models/canvas.js +140 -210
  244. package/lib/canvas/models/index.js +30 -13
  245. package/lib/citybuliding/building.js +63 -99
  246. package/lib/citybuliding/models/build.js +146 -196
  247. package/lib/citybuliding/shaders/build_frag.glsl +117 -0
  248. package/lib/citybuliding/shaders/build_vert.glsl +54 -0
  249. package/lib/core/BaseLayer.js +807 -1245
  250. package/lib/core/BaseModel.js +275 -375
  251. package/lib/core/interface.js +53 -37
  252. package/lib/core/schema.js +39 -18
  253. package/lib/core/shape/Path.js +78 -60
  254. package/lib/core/shape/extrude.js +90 -127
  255. package/lib/core/triangulation.js +191 -304
  256. package/lib/earth/index.js +62 -96
  257. package/lib/earth/models/atmosphere.js +112 -139
  258. package/lib/earth/models/base.js +150 -198
  259. package/lib/earth/models/bloomsphere.js +112 -139
  260. package/lib/earth/shaders/atmosphere_frag.glsl +17 -0
  261. package/lib/earth/shaders/atmosphere_vert.glsl +26 -0
  262. package/lib/earth/shaders/base_frag.glsl +13 -0
  263. package/lib/earth/shaders/base_vert.glsl +52 -0
  264. package/lib/earth/shaders/bloomsphere_frag.glsl +15 -0
  265. package/lib/earth/shaders/bloomsphere_vert.glsl +20 -0
  266. package/lib/earth/utils.js +89 -85
  267. package/lib/heatmap/index.js +92 -148
  268. package/lib/heatmap/models/grid.js +91 -113
  269. package/lib/heatmap/models/grid3d.js +123 -145
  270. package/lib/heatmap/models/heatmap.js +338 -470
  271. package/lib/heatmap/models/hexagon.js +92 -114
  272. package/lib/heatmap/models/index.js +37 -23
  273. package/lib/heatmap/shaders/grid_vert.glsl +42 -0
  274. package/lib/heatmap/shaders/heatmap_3d_frag.glsl +14 -0
  275. package/lib/heatmap/shaders/heatmap_3d_vert.glsl +46 -0
  276. package/lib/heatmap/shaders/heatmap_frag.glsl +47 -0
  277. package/lib/heatmap/shaders/heatmap_framebuffer_frag.glsl +10 -0
  278. package/lib/heatmap/shaders/heatmap_framebuffer_vert.glsl +35 -0
  279. package/lib/heatmap/shaders/heatmap_vert.glsl +10 -0
  280. package/lib/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  281. package/lib/heatmap/shaders/hexagon_3d_vert.glsl +64 -0
  282. package/lib/heatmap/shaders/hexagon_frag.glsl +12 -0
  283. package/lib/heatmap/shaders/hexagon_vert.glsl +41 -0
  284. package/lib/heatmap/triangulation.js +46 -30
  285. package/lib/image/index.js +74 -112
  286. package/lib/image/models/dataImage.js +173 -241
  287. package/lib/image/models/image.js +123 -177
  288. package/lib/image/models/index.js +32 -16
  289. package/lib/image/shaders/dataImage_frag.glsl +38 -0
  290. package/lib/image/shaders/image_frag.glsl +9 -0
  291. package/lib/image/shaders/image_vert.glsl +17 -0
  292. package/lib/index.js +96 -193
  293. package/lib/line/index.js +83 -128
  294. package/lib/line/models/arc.js +237 -328
  295. package/lib/line/models/arc_3d.js +228 -314
  296. package/lib/line/models/earthArc_3d.js +228 -316
  297. package/lib/line/models/great_circle.js +200 -279
  298. package/lib/line/models/half.js +201 -266
  299. package/lib/line/models/index.js +50 -43
  300. package/lib/line/models/line.js +299 -394
  301. package/lib/line/models/linearline.js +203 -263
  302. package/lib/line/models/simpleLine.js +175 -225
  303. package/lib/line/models/tile.js +237 -330
  304. package/lib/line/models/wall.js +235 -310
  305. package/lib/line/shaders/arc_chunks.vert.glsl +21 -0
  306. package/lib/line/shaders/dash/arc_dash_frag.glsl +28 -0
  307. package/lib/line/shaders/dash/arc_dash_vert.glsl +148 -0
  308. package/lib/line/shaders/dash/line_dash_frag.glsl +31 -0
  309. package/lib/line/shaders/dash/line_dash_vert.glsl +93 -0
  310. package/lib/line/shaders/half/line_half_frag.glsl +53 -0
  311. package/lib/line/shaders/half/line_half_vert.glsl +169 -0
  312. package/lib/line/shaders/line_arc2d_vert.glsl +114 -0
  313. package/lib/line/shaders/line_arc_3d_frag.glsl +103 -0
  314. package/lib/line/shaders/line_arc_3d_vert.glsl +207 -0
  315. package/lib/line/shaders/line_arc_frag.glsl +89 -0
  316. package/lib/line/shaders/line_arc_great_circle_frag.glsl +101 -0
  317. package/lib/line/shaders/line_arc_great_circle_vert.glsl +215 -0
  318. package/lib/line/shaders/line_arc_vert.glsl +174 -0
  319. package/lib/line/shaders/line_bezier_vert.glsl +85 -0
  320. package/lib/line/shaders/line_frag.glsl +100 -0
  321. package/lib/line/shaders/line_vert.glsl +192 -0
  322. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +47 -0
  323. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +207 -0
  324. package/lib/line/shaders/linear/arc_linear_frag.glsl +38 -0
  325. package/lib/line/shaders/linear/arc_linear_vert.glsl +138 -0
  326. package/lib/line/shaders/linear/line_linear_frag.glsl +27 -0
  327. package/lib/line/shaders/linearLine/line_linear_frag.glsl +20 -0
  328. package/lib/line/shaders/linearLine/line_linear_vert.glsl +112 -0
  329. package/lib/line/shaders/simple/simpleline_frag.glsl +10 -0
  330. package/lib/line/shaders/simple/simpleline_linear_frag.glsl +11 -0
  331. package/lib/line/shaders/simple/simpleline_vert.glsl +78 -0
  332. package/lib/line/shaders/tile/line_tile_frag.glsl +79 -0
  333. package/lib/line/shaders/tile/line_tile_vert.glsl +210 -0
  334. package/lib/line/shaders/wall_frag.glsl +93 -0
  335. package/lib/line/shaders/wall_vert.glsl +111 -0
  336. package/lib/mask/index.js +59 -93
  337. package/lib/mask/models/fill.js +82 -132
  338. package/lib/mask/models/index.js +30 -13
  339. package/lib/mask/shaders/mask_frag.glsl +7 -0
  340. package/lib/mask/shaders/mask_vert.glsl +22 -0
  341. package/lib/plugins/DataMappingPlugin.js +222 -304
  342. package/lib/plugins/DataSourcePlugin.js +87 -100
  343. package/lib/plugins/FeatureScalePlugin.js +239 -310
  344. package/lib/plugins/LayerAnimateStylePlugin.js +55 -61
  345. package/lib/plugins/LayerModelPlugin.js +72 -70
  346. package/lib/plugins/LayerStylePlugin.js +51 -44
  347. package/lib/plugins/LightingPlugin.js +68 -72
  348. package/lib/plugins/MultiPassRendererPlugin.js +65 -77
  349. package/lib/plugins/PixelPickingPlugin.js +109 -128
  350. package/lib/plugins/RegisterStyleAttributePlugin.js +110 -103
  351. package/lib/plugins/ShaderUniformPlugin.js +98 -103
  352. package/lib/plugins/UpdateModelPlugin.js +47 -36
  353. package/lib/plugins/UpdateStyleAttributePlugin.js +75 -80
  354. package/lib/point/index.js +147 -216
  355. package/lib/point/models/earthExtrude.js +201 -262
  356. package/lib/point/models/earthFill.js +202 -276
  357. package/lib/point/models/extrude.js +203 -282
  358. package/lib/point/models/fill.js +273 -369
  359. package/lib/point/models/fillmage.js +250 -327
  360. package/lib/point/models/image.js +163 -226
  361. package/lib/point/models/index.js +52 -46
  362. package/lib/point/models/normal.js +134 -176
  363. package/lib/point/models/radar.js +212 -286
  364. package/lib/point/models/simplePoint.js +142 -187
  365. package/lib/point/models/text.js +385 -559
  366. package/lib/point/models/tile.js +223 -294
  367. package/lib/point/shaders/animate/wave_frag.glsl +65 -0
  368. package/lib/point/shaders/earth/extrude_frag.glsl +44 -0
  369. package/lib/point/shaders/earth/extrude_vert.glsl +140 -0
  370. package/lib/point/shaders/earth/fill_frag.glsl +86 -0
  371. package/lib/point/shaders/earth/fill_vert.glsl +126 -0
  372. package/lib/point/shaders/extrude/extrude_frag.glsl +44 -0
  373. package/lib/point/shaders/extrude/extrude_vert.glsl +121 -0
  374. package/lib/point/shaders/fill_frag.glsl +84 -0
  375. package/lib/point/shaders/fill_vert.glsl +182 -0
  376. package/lib/point/shaders/image/fillImage_frag.glsl +20 -0
  377. package/lib/point/shaders/image/fillImage_vert.glsl +108 -0
  378. package/lib/point/shaders/image_frag.glsl +39 -0
  379. package/lib/point/shaders/image_vert.glsl +81 -0
  380. package/lib/point/shaders/normal_frag.glsl +15 -0
  381. package/lib/point/shaders/normal_vert.glsl +79 -0
  382. package/lib/point/shaders/radar/radar_frag.glsl +64 -0
  383. package/lib/point/shaders/radar/radar_vert.glsl +120 -0
  384. package/lib/point/shaders/simplePoint_frag.glsl +53 -0
  385. package/lib/point/shaders/simplePoint_vert.glsl +79 -0
  386. package/lib/point/shaders/text_frag.glsl +48 -0
  387. package/lib/point/shaders/text_vert.glsl +131 -0
  388. package/lib/point/shaders/tile/fill_tile_frag.glsl +83 -0
  389. package/lib/point/shaders/tile/fill_tile_vert.glsl +181 -0
  390. package/lib/point/shape/extrude.js +51 -51
  391. package/lib/polygon/index.js +100 -149
  392. package/lib/polygon/models/extrude.js +222 -303
  393. package/lib/polygon/models/fill.js +153 -205
  394. package/lib/polygon/models/index.js +52 -46
  395. package/lib/polygon/models/ocean.js +172 -251
  396. package/lib/polygon/models/tile.js +100 -139
  397. package/lib/polygon/models/water.js +152 -227
  398. package/lib/polygon/shaders/extrude/polygon_extrude_frag.glsl +44 -0
  399. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_frag.glsl +44 -0
  400. package/lib/polygon/shaders/extrude/polygon_extrude_picklight_vert.glsl +85 -0
  401. package/lib/polygon/shaders/extrude/polygon_extrude_vert.glsl +90 -0
  402. package/lib/polygon/shaders/extrude/polygon_extrudetex_frag.glsl +48 -0
  403. package/lib/polygon/shaders/extrude/polygon_extrudetex_vert.glsl +93 -0
  404. package/lib/polygon/shaders/polygon_frag.glsl +12 -0
  405. package/lib/polygon/shaders/polygon_linear_frag.glsl +22 -0
  406. package/lib/polygon/shaders/polygon_linear_vert.glsl +74 -0
  407. package/lib/polygon/shaders/polygon_vert.glsl +66 -0
  408. package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +12 -0
  409. package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +82 -0
  410. package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +248 -0
  411. package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +52 -0
  412. package/lib/polygon/shaders/water/polygon_water_frag.glsl +73 -0
  413. package/lib/polygon/shaders/water/polygon_water_vert.glsl +55 -0
  414. package/lib/raster/buffers/triangulation.js +39 -26
  415. package/lib/raster/index.js +73 -111
  416. package/lib/raster/models/index.js +33 -17
  417. package/lib/raster/models/raster.js +134 -187
  418. package/lib/raster/raster.js +132 -189
  419. package/lib/raster/shaders/raster_2d_frag.glsl +28 -0
  420. package/lib/raster/shaders/raster_2d_vert.glsl +18 -0
  421. package/lib/raster/shaders/raster_frag.glsl +9 -0
  422. package/lib/raster/shaders/raster_vert.glsl +44 -0
  423. package/lib/tile/interface.js +17 -2
  424. package/lib/tile/manager/tileConfigManager.js +86 -126
  425. package/lib/tile/manager/tileLayerManager.js +227 -312
  426. package/lib/tile/manager/tilePickerManager.js +123 -187
  427. package/lib/tile/models/tileModel.js +51 -70
  428. package/lib/tile/tileFactory/base.js +292 -403
  429. package/lib/tile/tileFactory/index.js +48 -51
  430. package/lib/tile/tileFactory/line.js +50 -71
  431. package/lib/tile/tileFactory/point.js +50 -71
  432. package/lib/tile/tileFactory/polygon.js +50 -71
  433. package/lib/tile/tileFactory/raster.js +54 -72
  434. package/lib/tile/tileFactory/rasterData.js +76 -94
  435. package/lib/tile/tileFactory/rasterDataLayer.js +62 -98
  436. package/lib/tile/tileFactory/vectorLayer.js +95 -148
  437. package/lib/tile/tileLayer/baseTileLayer.js +220 -380
  438. package/lib/tile/tmsTileLayer.js +67 -109
  439. package/lib/tile/utils.js +86 -101
  440. package/lib/utils/blend.js +79 -60
  441. package/lib/utils/collision-index.js +63 -83
  442. package/lib/utils/dataMappingStyle.js +59 -56
  443. package/lib/utils/extrude_polyline.js +397 -554
  444. package/lib/utils/grid-index.js +111 -168
  445. package/lib/utils/layerData.js +88 -95
  446. package/lib/utils/multiPassRender.js +38 -31
  447. package/lib/utils/polylineNormal.js +86 -118
  448. package/lib/utils/simpleLine.js +85 -101
  449. package/lib/utils/symbol-layout.js +109 -173
  450. package/lib/utils/updateShape.js +40 -11
  451. package/lib/wind/index.js +71 -110
  452. package/lib/wind/models/index.js +30 -13
  453. package/lib/wind/models/utils.js +89 -104
  454. package/lib/wind/models/wind.js +224 -332
  455. package/lib/wind/models/windRender.js +215 -293
  456. package/lib/wind/models/windShader.js +181 -17
  457. package/lib/wind/shaders/wind_frag.glsl +9 -0
  458. package/lib/wind/shaders/wind_vert.glsl +17 -0
  459. package/package.json +11 -9
  460. package/es/Geometry/index.js.map +0 -1
  461. package/es/Geometry/models/billboard.js.map +0 -1
  462. package/es/Geometry/models/index.js.map +0 -1
  463. package/es/Geometry/models/plane.js.map +0 -1
  464. package/es/Geometry/models/sprite.js.map +0 -1
  465. package/es/canvas/index.js.map +0 -1
  466. package/es/canvas/models/canvas.js.map +0 -1
  467. package/es/canvas/models/index.js.map +0 -1
  468. package/es/citybuliding/building.js.map +0 -1
  469. package/es/citybuliding/models/build.js.map +0 -1
  470. package/es/core/BaseLayer.js.map +0 -1
  471. package/es/core/BaseModel.js.map +0 -1
  472. package/es/core/interface.js.map +0 -1
  473. package/es/core/schema.js.map +0 -1
  474. package/es/core/shape/Path.js.map +0 -1
  475. package/es/core/shape/extrude.js.map +0 -1
  476. package/es/core/triangulation.js.map +0 -1
  477. package/es/earth/index.js.map +0 -1
  478. package/es/earth/models/atmosphere.js.map +0 -1
  479. package/es/earth/models/base.js.map +0 -1
  480. package/es/earth/models/bloomsphere.js.map +0 -1
  481. package/es/earth/utils.js.map +0 -1
  482. package/es/glsl.d.js +0 -2
  483. package/es/glsl.d.js.map +0 -1
  484. package/es/heatmap/index.js.map +0 -1
  485. package/es/heatmap/models/grid.js.map +0 -1
  486. package/es/heatmap/models/grid3d.js.map +0 -1
  487. package/es/heatmap/models/heatmap.js.map +0 -1
  488. package/es/heatmap/models/hexagon.js.map +0 -1
  489. package/es/heatmap/models/index.js.map +0 -1
  490. package/es/heatmap/triangulation.js.map +0 -1
  491. package/es/image/index.js.map +0 -1
  492. package/es/image/models/dataImage.js.map +0 -1
  493. package/es/image/models/image.js.map +0 -1
  494. package/es/image/models/index.js.map +0 -1
  495. package/es/index.js.map +0 -1
  496. package/es/line/index.js.map +0 -1
  497. package/es/line/models/arc.js.map +0 -1
  498. package/es/line/models/arc_3d.js.map +0 -1
  499. package/es/line/models/earthArc_3d.js.map +0 -1
  500. package/es/line/models/great_circle.js.map +0 -1
  501. package/es/line/models/half.js.map +0 -1
  502. package/es/line/models/index.js.map +0 -1
  503. package/es/line/models/line.js.map +0 -1
  504. package/es/line/models/linearline.js.map +0 -1
  505. package/es/line/models/simpleLine.js.map +0 -1
  506. package/es/line/models/tile.js.map +0 -1
  507. package/es/line/models/wall.js.map +0 -1
  508. package/es/mask/index.js.map +0 -1
  509. package/es/mask/models/fill.js.map +0 -1
  510. package/es/mask/models/index.js.map +0 -1
  511. package/es/plugins/DataMappingPlugin.js.map +0 -1
  512. package/es/plugins/DataSourcePlugin.js.map +0 -1
  513. package/es/plugins/FeatureScalePlugin.js.map +0 -1
  514. package/es/plugins/LayerAnimateStylePlugin.js.map +0 -1
  515. package/es/plugins/LayerModelPlugin.js.map +0 -1
  516. package/es/plugins/LayerStylePlugin.js.map +0 -1
  517. package/es/plugins/LightingPlugin.js.map +0 -1
  518. package/es/plugins/MultiPassRendererPlugin.js.map +0 -1
  519. package/es/plugins/PixelPickingPlugin.js.map +0 -1
  520. package/es/plugins/RegisterStyleAttributePlugin.js.map +0 -1
  521. package/es/plugins/ShaderUniformPlugin.js.map +0 -1
  522. package/es/plugins/UpdateModelPlugin.js.map +0 -1
  523. package/es/plugins/UpdateStyleAttributePlugin.js.map +0 -1
  524. package/es/point/index.js.map +0 -1
  525. package/es/point/models/earthExtrude.js.map +0 -1
  526. package/es/point/models/earthFill.js.map +0 -1
  527. package/es/point/models/extrude.js.map +0 -1
  528. package/es/point/models/fill.js.map +0 -1
  529. package/es/point/models/fillmage.js.map +0 -1
  530. package/es/point/models/image.js.map +0 -1
  531. package/es/point/models/index.js.map +0 -1
  532. package/es/point/models/normal.js.map +0 -1
  533. package/es/point/models/radar.js.map +0 -1
  534. package/es/point/models/simplePoint.js.map +0 -1
  535. package/es/point/models/text.js.map +0 -1
  536. package/es/point/models/tile.js.map +0 -1
  537. package/es/point/shape/extrude.js.map +0 -1
  538. package/es/polygon/index.js.map +0 -1
  539. package/es/polygon/models/extrude.js.map +0 -1
  540. package/es/polygon/models/fill.js.map +0 -1
  541. package/es/polygon/models/index.js.map +0 -1
  542. package/es/polygon/models/ocean.js.map +0 -1
  543. package/es/polygon/models/tile.js.map +0 -1
  544. package/es/polygon/models/water.js.map +0 -1
  545. package/es/raster/buffers/triangulation.js.map +0 -1
  546. package/es/raster/index.js.map +0 -1
  547. package/es/raster/models/index.js.map +0 -1
  548. package/es/raster/models/raster.js.map +0 -1
  549. package/es/raster/raster.js.map +0 -1
  550. package/es/tile/interface.js.map +0 -1
  551. package/es/tile/manager/tileConfigManager.js.map +0 -1
  552. package/es/tile/manager/tileLayerManager.js.map +0 -1
  553. package/es/tile/manager/tilePickerManager.js.map +0 -1
  554. package/es/tile/models/tileModel.js.map +0 -1
  555. package/es/tile/tileFactory/base.js.map +0 -1
  556. package/es/tile/tileFactory/index.js.map +0 -1
  557. package/es/tile/tileFactory/line.js.map +0 -1
  558. package/es/tile/tileFactory/point.js.map +0 -1
  559. package/es/tile/tileFactory/polygon.js.map +0 -1
  560. package/es/tile/tileFactory/raster.js.map +0 -1
  561. package/es/tile/tileFactory/rasterData.js.map +0 -1
  562. package/es/tile/tileFactory/rasterDataLayer.js.map +0 -1
  563. package/es/tile/tileFactory/vectorLayer.js.map +0 -1
  564. package/es/tile/tileLayer/baseTileLayer.js.map +0 -1
  565. package/es/tile/tmsTileLayer.js.map +0 -1
  566. package/es/tile/utils.js.map +0 -1
  567. package/es/utils/blend.js.map +0 -1
  568. package/es/utils/collision-index.js.map +0 -1
  569. package/es/utils/dataMappingStyle.js.map +0 -1
  570. package/es/utils/extrude_polyline.js.map +0 -1
  571. package/es/utils/grid-index.js.map +0 -1
  572. package/es/utils/layerData.js.map +0 -1
  573. package/es/utils/multiPassRender.js.map +0 -1
  574. package/es/utils/polylineNormal.js.map +0 -1
  575. package/es/utils/simpleLine.js.map +0 -1
  576. package/es/utils/symbol-layout.js.map +0 -1
  577. package/es/utils/updateShape.js.map +0 -1
  578. package/es/wind/index.js.map +0 -1
  579. package/es/wind/models/index.js.map +0 -1
  580. package/es/wind/models/utils.js.map +0 -1
  581. package/es/wind/models/wind.js.map +0 -1
  582. package/es/wind/models/windRender.js.map +0 -1
  583. package/es/wind/models/windShader.js.map +0 -1
  584. package/lib/Geometry/index.js.map +0 -1
  585. package/lib/Geometry/models/billboard.js.map +0 -1
  586. package/lib/Geometry/models/index.js.map +0 -1
  587. package/lib/Geometry/models/plane.js.map +0 -1
  588. package/lib/Geometry/models/sprite.js.map +0 -1
  589. package/lib/canvas/index.js.map +0 -1
  590. package/lib/canvas/models/canvas.js.map +0 -1
  591. package/lib/canvas/models/index.js.map +0 -1
  592. package/lib/citybuliding/building.js.map +0 -1
  593. package/lib/citybuliding/models/build.js.map +0 -1
  594. package/lib/core/BaseLayer.js.map +0 -1
  595. package/lib/core/BaseModel.js.map +0 -1
  596. package/lib/core/interface.js.map +0 -1
  597. package/lib/core/schema.js.map +0 -1
  598. package/lib/core/shape/Path.js.map +0 -1
  599. package/lib/core/shape/extrude.js.map +0 -1
  600. package/lib/core/triangulation.js.map +0 -1
  601. package/lib/earth/index.js.map +0 -1
  602. package/lib/earth/models/atmosphere.js.map +0 -1
  603. package/lib/earth/models/base.js.map +0 -1
  604. package/lib/earth/models/bloomsphere.js.map +0 -1
  605. package/lib/earth/utils.js.map +0 -1
  606. package/lib/glsl.d.js +0 -2
  607. package/lib/glsl.d.js.map +0 -1
  608. package/lib/heatmap/index.js.map +0 -1
  609. package/lib/heatmap/models/grid.js.map +0 -1
  610. package/lib/heatmap/models/grid3d.js.map +0 -1
  611. package/lib/heatmap/models/heatmap.js.map +0 -1
  612. package/lib/heatmap/models/hexagon.js.map +0 -1
  613. package/lib/heatmap/models/index.js.map +0 -1
  614. package/lib/heatmap/triangulation.js.map +0 -1
  615. package/lib/image/index.js.map +0 -1
  616. package/lib/image/models/dataImage.js.map +0 -1
  617. package/lib/image/models/image.js.map +0 -1
  618. package/lib/image/models/index.js.map +0 -1
  619. package/lib/index.js.map +0 -1
  620. package/lib/line/index.js.map +0 -1
  621. package/lib/line/models/arc.js.map +0 -1
  622. package/lib/line/models/arc_3d.js.map +0 -1
  623. package/lib/line/models/earthArc_3d.js.map +0 -1
  624. package/lib/line/models/great_circle.js.map +0 -1
  625. package/lib/line/models/half.js.map +0 -1
  626. package/lib/line/models/index.js.map +0 -1
  627. package/lib/line/models/line.js.map +0 -1
  628. package/lib/line/models/linearline.js.map +0 -1
  629. package/lib/line/models/simpleLine.js.map +0 -1
  630. package/lib/line/models/tile.js.map +0 -1
  631. package/lib/line/models/wall.js.map +0 -1
  632. package/lib/mask/index.js.map +0 -1
  633. package/lib/mask/models/fill.js.map +0 -1
  634. package/lib/mask/models/index.js.map +0 -1
  635. package/lib/plugins/DataMappingPlugin.js.map +0 -1
  636. package/lib/plugins/DataSourcePlugin.js.map +0 -1
  637. package/lib/plugins/FeatureScalePlugin.js.map +0 -1
  638. package/lib/plugins/LayerAnimateStylePlugin.js.map +0 -1
  639. package/lib/plugins/LayerModelPlugin.js.map +0 -1
  640. package/lib/plugins/LayerStylePlugin.js.map +0 -1
  641. package/lib/plugins/LightingPlugin.js.map +0 -1
  642. package/lib/plugins/MultiPassRendererPlugin.js.map +0 -1
  643. package/lib/plugins/PixelPickingPlugin.js.map +0 -1
  644. package/lib/plugins/RegisterStyleAttributePlugin.js.map +0 -1
  645. package/lib/plugins/ShaderUniformPlugin.js.map +0 -1
  646. package/lib/plugins/UpdateModelPlugin.js.map +0 -1
  647. package/lib/plugins/UpdateStyleAttributePlugin.js.map +0 -1
  648. package/lib/point/index.js.map +0 -1
  649. package/lib/point/models/earthExtrude.js.map +0 -1
  650. package/lib/point/models/earthFill.js.map +0 -1
  651. package/lib/point/models/extrude.js.map +0 -1
  652. package/lib/point/models/fill.js.map +0 -1
  653. package/lib/point/models/fillmage.js.map +0 -1
  654. package/lib/point/models/image.js.map +0 -1
  655. package/lib/point/models/index.js.map +0 -1
  656. package/lib/point/models/normal.js.map +0 -1
  657. package/lib/point/models/radar.js.map +0 -1
  658. package/lib/point/models/simplePoint.js.map +0 -1
  659. package/lib/point/models/text.js.map +0 -1
  660. package/lib/point/models/tile.js.map +0 -1
  661. package/lib/point/shape/extrude.js.map +0 -1
  662. package/lib/polygon/index.js.map +0 -1
  663. package/lib/polygon/models/extrude.js.map +0 -1
  664. package/lib/polygon/models/fill.js.map +0 -1
  665. package/lib/polygon/models/index.js.map +0 -1
  666. package/lib/polygon/models/ocean.js.map +0 -1
  667. package/lib/polygon/models/tile.js.map +0 -1
  668. package/lib/polygon/models/water.js.map +0 -1
  669. package/lib/raster/buffers/triangulation.js.map +0 -1
  670. package/lib/raster/index.js.map +0 -1
  671. package/lib/raster/models/index.js.map +0 -1
  672. package/lib/raster/models/raster.js.map +0 -1
  673. package/lib/raster/raster.js.map +0 -1
  674. package/lib/tile/interface.js.map +0 -1
  675. package/lib/tile/manager/tileConfigManager.js.map +0 -1
  676. package/lib/tile/manager/tileLayerManager.js.map +0 -1
  677. package/lib/tile/manager/tilePickerManager.js.map +0 -1
  678. package/lib/tile/models/tileModel.js.map +0 -1
  679. package/lib/tile/tileFactory/base.js.map +0 -1
  680. package/lib/tile/tileFactory/index.js.map +0 -1
  681. package/lib/tile/tileFactory/line.js.map +0 -1
  682. package/lib/tile/tileFactory/point.js.map +0 -1
  683. package/lib/tile/tileFactory/polygon.js.map +0 -1
  684. package/lib/tile/tileFactory/raster.js.map +0 -1
  685. package/lib/tile/tileFactory/rasterData.js.map +0 -1
  686. package/lib/tile/tileFactory/rasterDataLayer.js.map +0 -1
  687. package/lib/tile/tileFactory/vectorLayer.js.map +0 -1
  688. package/lib/tile/tileLayer/baseTileLayer.js.map +0 -1
  689. package/lib/tile/tmsTileLayer.js.map +0 -1
  690. package/lib/tile/utils.js.map +0 -1
  691. package/lib/utils/blend.js.map +0 -1
  692. package/lib/utils/collision-index.js.map +0 -1
  693. package/lib/utils/dataMappingStyle.js.map +0 -1
  694. package/lib/utils/extrude_polyline.js.map +0 -1
  695. package/lib/utils/grid-index.js.map +0 -1
  696. package/lib/utils/layerData.js.map +0 -1
  697. package/lib/utils/multiPassRender.js.map +0 -1
  698. package/lib/utils/polylineNormal.js.map +0 -1
  699. package/lib/utils/simpleLine.js.map +0 -1
  700. package/lib/utils/symbol-layout.js.map +0 -1
  701. package/lib/utils/updateShape.js.map +0 -1
  702. package/lib/wind/index.js.map +0 -1
  703. package/lib/wind/models/index.js.map +0 -1
  704. package/lib/wind/models/utils.js.map +0 -1
  705. package/lib/wind/models/wind.js.map +0 -1
  706. package/lib/wind/models/windRender.js.map +0 -1
  707. package/lib/wind/models/windShader.js.map +0 -1
@@ -0,0 +1,93 @@
1
+ #define Animate 0.0
2
+ #define LineTexture 1.0
3
+
4
+ uniform float u_opacity : 1.0;
5
+ uniform float u_textureBlend;
6
+ uniform float u_iconStepCount;
7
+
8
+ varying vec4 v_color;
9
+
10
+ // line texture
11
+ uniform float u_line_texture;
12
+ uniform sampler2D u_texture;
13
+ uniform vec2 u_textSize;
14
+
15
+ varying vec2 v_iconMapUV;
16
+ varying float v_blur;
17
+
18
+ uniform float u_linearColor: 0;
19
+ uniform vec4 u_sourceColor;
20
+ uniform vec4 u_targetColor;
21
+
22
+ #pragma include "picking"
23
+
24
+ uniform float u_time;
25
+ uniform vec4 u_aimate: [ 0, 2., 1.0, 0.2 ]; // 控制运动
26
+
27
+ varying mat4 styleMappingMat;
28
+ // [animate, duration, interval, trailLength],
29
+ void main() {
30
+ float opacity = styleMappingMat[0][0];
31
+ float animateSpeed = 0.0; // 运动速度
32
+ float d_distance_ratio = styleMappingMat[3].r; // 当前点位距离占线总长的比例
33
+ float v = styleMappingMat[3].a;
34
+
35
+ if(u_linearColor == 1.0) { // 使用渐变颜色
36
+ gl_FragColor = mix(u_sourceColor, u_targetColor, v);
37
+ } else { // 使用 color 方法传入的颜色
38
+ gl_FragColor = v_color;
39
+ }
40
+
41
+ gl_FragColor.a *= opacity; // 全局透明度
42
+ if(u_aimate.x == Animate) {
43
+ animateSpeed = u_time / u_aimate.y;
44
+ float alpha =1.0 - fract( mod(1.0- d_distance_ratio, u_aimate.z)* (1.0/ u_aimate.z) + animateSpeed);
45
+ alpha = (alpha + u_aimate.w -1.0) / u_aimate.w;
46
+ alpha = smoothstep(0., 1., alpha);
47
+ gl_FragColor.a *= alpha;
48
+ }
49
+
50
+ if(u_line_texture == LineTexture) { // while load texture
51
+ float aDistance = styleMappingMat[3].g; // 当前顶点的距离
52
+ float d_texPixelLen = styleMappingMat[3].b; // 贴图的像素长度,根据地图层级缩放
53
+ float u = fract(mod(aDistance, d_texPixelLen)/d_texPixelLen - animateSpeed);
54
+ float v = styleMappingMat[3].a; // 线图层贴图部分的 v 坐标值
55
+
56
+ // 计算纹理间隔 start
57
+ float flag = 0.0;
58
+ if(u > 1.0/u_iconStepCount) {
59
+ flag = 1.0;
60
+ }
61
+ u = fract(u*u_iconStepCount);
62
+ // 计算纹理间隔 end
63
+
64
+ vec2 uv= v_iconMapUV / u_textSize + vec2(u, v) / u_textSize * 64.;
65
+ vec4 pattern = texture2D(u_texture, uv);
66
+
67
+ // Tip: 判断纹理间隔
68
+ if(flag > 0.0) {
69
+ pattern = vec4(0.0);
70
+ }
71
+
72
+ if(u_textureBlend == 0.0) { // normal
73
+ pattern.a = 0.0;
74
+ gl_FragColor = filterColor(gl_FragColor + pattern);
75
+ } else { // replace
76
+ pattern.a *= opacity;
77
+ if(gl_FragColor.a <= 0.0) {
78
+ pattern.a = 0.0;
79
+ }
80
+ gl_FragColor = filterColor(pattern);
81
+ }
82
+ }
83
+
84
+
85
+ // blur - AA
86
+ if(v < v_blur) {
87
+ gl_FragColor.a = mix(0.0, gl_FragColor.a, v/v_blur);
88
+ } else if(v > 1.0 - v_blur) {
89
+ gl_FragColor.a = mix(gl_FragColor.a, 0.0, (v - (1.0 - v_blur))/v_blur);
90
+ }
91
+
92
+ gl_FragColor = filterColor(gl_FragColor);
93
+ }
@@ -0,0 +1,111 @@
1
+ #define Animate 0.0
2
+
3
+ attribute float a_Miter;
4
+ attribute vec4 a_Color;
5
+ attribute vec2 a_Size;
6
+ attribute vec3 a_Normal;
7
+ attribute vec3 a_Position;
8
+ attribute vec2 a_iconMapUV;
9
+
10
+ attribute float a_Total_Distance;
11
+ attribute float a_Distance;
12
+
13
+ uniform mat4 u_ModelMatrix;
14
+ uniform mat4 u_Mvp;
15
+ uniform vec4 u_aimate: [ 0, 2., 1.0, 0.2 ];
16
+ uniform float u_icon_step: 100;
17
+ uniform float u_heightfixed;
18
+
19
+ #pragma include "projection"
20
+ #pragma include "light"
21
+ #pragma include "picking"
22
+
23
+ varying vec4 v_color;
24
+ varying float v_blur;
25
+
26
+ // texV 线图层 - 贴图部分的 v 坐标(线的宽度方向)
27
+ varying vec2 v_iconMapUV;
28
+
29
+ uniform float u_linearColor: 0;
30
+
31
+ uniform float u_opacity: 1.0;
32
+ varying mat4 styleMappingMat; // 用于将在顶点着色器中计算好的样式值传递给片元
33
+
34
+ #pragma include "styleMapping"
35
+ #pragma include "light"
36
+ #pragma include "styleMappingCalOpacity"
37
+
38
+ void main() {
39
+ // cal style mapping - 数据纹理映射部分的计算
40
+ styleMappingMat = mat4(
41
+ 0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - empty
42
+ 0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA
43
+ 0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]
44
+ 0.0, 0.0, 0.0, 0.0 // distance_ratio/distance/pixelLen/texV
45
+ );
46
+
47
+ float rowCount = u_cellTypeLayout[0][0]; // 当前的数据纹理有几行
48
+ float columnCount = u_cellTypeLayout[0][1]; // 当看到数据纹理有几列
49
+ float columnWidth = 1.0/columnCount; // 列宽
50
+ float rowHeight = 1.0/rowCount; // 行高
51
+ float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets
52
+ float id = a_vertexId; // 第n个顶点
53
+ float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // 起始点在第几行
54
+ float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // 起始点在第几列
55
+
56
+ // cell 固定顺序 opacity -> strokeOpacity -> strokeWidth -> stroke ...
57
+ // 按顺序从 cell 中取值、若没有则自动往下取值
58
+ float textureOffset = 0.0; // 在 cell 中取值的偏移量
59
+
60
+ vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);
61
+ styleMappingMat[0][0] = opacityAndOffset.r;
62
+ textureOffset = opacityAndOffset.g;
63
+ // cal style mapping - 数据纹理映射部分的计算
64
+
65
+ float d_distance_ratio; // 当前点位距离占线总长的比例
66
+ float d_texPixelLen; // 贴图的像素长度,根据地图层级缩放
67
+
68
+ v_iconMapUV = a_iconMapUV;
69
+ if(u_heightfixed < 1.0) { // 高度随 zoom 调整
70
+ d_texPixelLen = project_pixel(u_icon_step);
71
+ } else {
72
+ d_texPixelLen = u_icon_step;
73
+ }
74
+ if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) {
75
+ d_texPixelLen *= 10.0;
76
+ }
77
+
78
+ if(u_aimate.x == Animate || u_linearColor == 1.0) {
79
+ d_distance_ratio = a_Distance / a_Total_Distance;
80
+ }
81
+
82
+ float miter = (a_Miter + 1.0)/2.0;
83
+ // 设置数据集的参数
84
+ styleMappingMat[3][0] = d_distance_ratio; // 当前点位距离占线总长的比例
85
+ styleMappingMat[3][1] = a_Distance; // 当前顶点的距离
86
+ styleMappingMat[3][2] = d_texPixelLen; // 贴图的像素长度,根据地图层级缩放
87
+ styleMappingMat[3][3] = miter; // 线图层贴图部分的 v 坐标值 0 - 1
88
+
89
+ vec4 project_pos = project_position(vec4(a_Position.xy, 0, 1.0));
90
+
91
+ float originSize = a_Size.x; // 固定高度
92
+ if(u_heightfixed < 1.0) { // 高度随 zoom 调整
93
+ originSize = project_float_pixel(a_Size.x);
94
+ }
95
+
96
+ float wallHeight = originSize * miter;
97
+ float lightWeight = calc_lighting(vec4(project_pos.xy, wallHeight, 1.0));
98
+
99
+ v_blur = min(project_float_pixel(2.0) / originSize, 0.05);
100
+
101
+ v_color = vec4(a_Color.rgb * lightWeight, a_Color.w);
102
+ // v_color = a_Color;
103
+
104
+ if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
105
+ gl_Position = u_Mvp * (vec4(project_pos.xy, wallHeight, 1.0));
106
+ } else {
107
+ gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, wallHeight, 1.0));
108
+ }
109
+
110
+ setPickingColor(a_PickingColor);
111
+ }
package/es/mask/index.js CHANGED
@@ -10,10 +10,10 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
10
10
 
11
11
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
12
 
13
- import BaseLayer from '../core/BaseLayer';
14
- import MaskModels from './models';
13
+ import BaseLayer from "../core/BaseLayer";
14
+ import MaskModels from "./models";
15
15
 
16
- var MaskLayer = function (_BaseLayer) {
16
+ var MaskLayer = /*#__PURE__*/function (_BaseLayer) {
17
17
  _inherits(MaskLayer, _BaseLayer);
18
18
 
19
19
  var _super = _createSuper(MaskLayer);
@@ -79,5 +79,4 @@ var MaskLayer = function (_BaseLayer) {
79
79
  return MaskLayer;
80
80
  }(BaseLayer);
81
81
 
82
- export { MaskLayer as default };
83
- //# sourceMappingURL=index.js.map
82
+ export { MaskLayer as default };
@@ -4,7 +4,6 @@ import _createClass from "@babel/runtime/helpers/createClass";
4
4
  import _inherits from "@babel/runtime/helpers/inherits";
5
5
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
6
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
- import _isNumber from "lodash/isNumber";
8
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
9
8
 
10
9
  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); }; }
@@ -12,12 +11,17 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
12
11
  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; } }
13
12
 
14
13
  import { gl } from '@antv/l7-core';
15
- import BaseModel from '../../core/BaseModel';
16
- import { polygonTriangulation } from '../../core/triangulation';
14
+ import { isNumber } from 'lodash';
15
+ import BaseModel from "../../core/BaseModel";
16
+ import { polygonTriangulation } from "../../core/triangulation";
17
+
18
+ /* babel-plugin-inline-import '../shaders/mask_frag.glsl' */
17
19
  var mask_frag = "uniform float u_opacity;\nvarying vec4 v_Color;\n\nvoid main() {\n gl_FragColor = v_Color;\n gl_FragColor.a *= u_opacity;\n}\n";
20
+
21
+ /* babel-plugin-inline-import '../shaders/mask_vert.glsl' */
18
22
  var mask_vert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nvarying vec4 v_Color;\n\n#pragma include \"projection\"\n\nvoid main() {\n\n v_Color = a_Color;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n}\n\n";
19
23
 
20
- var MaskModel = function (_BaseModel) {
24
+ var MaskModel = /*#__PURE__*/function (_BaseModel) {
21
25
  _inherits(MaskModel, _BaseModel);
22
26
 
23
27
  var _super = _createSuper(MaskModel);
@@ -36,7 +40,7 @@ var MaskModel = function (_BaseModel) {
36
40
  opacity = _ref$opacity === void 0 ? 0 : _ref$opacity;
37
41
 
38
42
  return {
39
- u_opacity: _isNumber(opacity) ? opacity : 0.0
43
+ u_opacity: isNumber(opacity) ? opacity : 0.0
40
44
  };
41
45
  }
42
46
  }, {
@@ -47,7 +51,7 @@ var MaskModel = function (_BaseModel) {
47
51
  }, {
48
52
  key: "buildModels",
49
53
  value: function () {
50
- var _buildModels = _asyncToGenerator(_regeneratorRuntime.mark(function _callee(callbackModel) {
54
+ var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(callbackModel) {
51
55
  return _regeneratorRuntime.wrap(function _callee$(_context) {
52
56
  while (1) {
53
57
  switch (_context.prev = _context.next) {
@@ -114,5 +118,4 @@ var MaskModel = function (_BaseModel) {
114
118
  return MaskModel;
115
119
  }(BaseModel);
116
120
 
117
- export { MaskModel as default };
118
- //# sourceMappingURL=fill.js.map
121
+ export { MaskModel as default };
@@ -1,6 +1,5 @@
1
- import FillModel from './fill';
1
+ import FillModel from "./fill";
2
2
  var MaskModels = {
3
3
  fill: FillModel
4
4
  };
5
- export default MaskModels;
6
- //# sourceMappingURL=index.js.map
5
+ export default MaskModels;
@@ -0,0 +1,7 @@
1
+ uniform float u_opacity;
2
+ varying vec4 v_Color;
3
+
4
+ void main() {
5
+ gl_FragColor = v_Color;
6
+ gl_FragColor.a *= u_opacity;
7
+ }
@@ -0,0 +1,22 @@
1
+ attribute vec4 a_Color;
2
+ attribute vec3 a_Position;
3
+ uniform mat4 u_ModelMatrix;
4
+ uniform mat4 u_Mvp;
5
+
6
+ varying vec4 v_Color;
7
+
8
+ #pragma include "projection"
9
+
10
+ void main() {
11
+
12
+ v_Color = a_Color;
13
+ vec4 project_pos = project_position(vec4(a_Position, 1.0));
14
+ // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));
15
+
16
+ if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
17
+ gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));
18
+ } else {
19
+ gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));
20
+ }
21
+ }
22
+
@@ -1,23 +1,20 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
1
2
  import _initializerDefineProperty from "@babel/runtime/helpers/initializerDefineProperty";
2
3
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
4
  import _createClass from "@babel/runtime/helpers/createClass";
4
5
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
6
  import _applyDecoratedDescriptor from "@babel/runtime/helpers/applyDecoratedDescriptor";
6
7
  import _initializerWarningHelper from "@babel/runtime/helpers/initializerWarningHelper";
7
- import _cloneDeep from "lodash/cloneDeep";
8
8
 
9
9
  var _dec, _dec2, _dec3, _dec4, _class, _class2, _descriptor, _descriptor2, _descriptor3;
10
10
 
11
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
-
13
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
-
15
11
  import { TYPES } from '@antv/l7-core';
16
12
  import { Version } from '@antv/l7-maps';
17
13
  import { isColor, normalize, rgb2arr } from '@antv/l7-utils';
18
14
  import { inject, injectable } from 'inversify';
15
+ import { cloneDeep } from 'lodash';
19
16
  import 'reflect-metadata';
20
- var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfigService), _dec3 = inject(TYPES.IMapService), _dec4 = inject(TYPES.IFontService), _dec(_class = (_class2 = function () {
17
+ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfigService), _dec3 = inject(TYPES.IMapService), _dec4 = inject(TYPES.IFontService), _dec(_class = (_class2 = /*#__PURE__*/function () {
21
18
  function DataMappingPlugin() {
22
19
  _classCallCheck(this, DataMappingPlugin);
23
20
 
@@ -35,6 +32,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
35
32
 
36
33
  var styleAttributeService = _ref.styleAttributeService;
37
34
  layer.hooks.init.tap('DataMappingPlugin', function () {
35
+ // 初始化重新生成 map
38
36
  var source = layer.getSource();
39
37
 
40
38
  if (source.inited) {
@@ -47,7 +45,8 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
47
45
  styleAttributeService: styleAttributeService
48
46
  });
49
47
  });
50
- }
48
+ } // this.generateMaping(layer, { styleAttributeService });
49
+
51
50
  });
52
51
  layer.hooks.beforeRenderData.tap('DataMappingPlugin', function () {
53
52
  layer.dataState.dataMappingNeedUpdate = false;
@@ -63,10 +62,12 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
63
62
  styleAttributeService: styleAttributeService
64
63
  });
65
64
  });
66
- }
65
+ } // this.generateMaping(layer, { styleAttributeService });
66
+
67
67
 
68
68
  return true;
69
- });
69
+ }); // remapping before render
70
+
70
71
  layer.hooks.beforeRender.tap('DataMappingPlugin', function () {
71
72
  var source = layer.getSource();
72
73
 
@@ -80,8 +81,9 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
80
81
  var dataArray = source.data.dataArray;
81
82
  var attributesToRemapping = attributes.filter(function (attribute) {
82
83
  return attribute.needRemapping;
83
- });
84
- var filterData = dataArray;
84
+ } // 如果filter变化
85
+ );
86
+ var filterData = dataArray; // 数据过滤完 再执行数据映射
85
87
 
86
88
  if (filter !== null && filter !== void 0 && filter.needRemapping && filter !== null && filter !== void 0 && filter.scale) {
87
89
  filterData = dataArray.filter(function (record) {
@@ -90,12 +92,14 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
90
92
  }
91
93
 
92
94
  if (attributesToRemapping.length) {
95
+ // 过滤数据
93
96
  if (filter !== null && filter !== void 0 && filter.needRemapping) {
94
97
  layer.setEncodedData(_this.mapping(layer, attributes, filterData, undefined, bottomColor));
95
98
  filter.needRemapping = false;
96
99
  } else {
97
100
  layer.setEncodedData(_this.mapping(layer, attributesToRemapping, filterData, layer.getEncodedData(), bottomColor));
98
- }
101
+ } // 处理文本更新
102
+
99
103
 
100
104
  layer.emit('remapping', null);
101
105
  }
@@ -111,7 +115,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
111
115
  var attributes = styleAttributeService.getLayerStyleAttributes() || [];
112
116
  var filter = styleAttributeService.getLayerStyleAttribute('filter');
113
117
  var dataArray = layer.getSource().data.dataArray;
114
- var filterData = dataArray;
118
+ var filterData = dataArray; // 数据过滤完 再执行数据映射
115
119
 
116
120
  if (filter !== null && filter !== void 0 && filter.scale) {
117
121
  filterData = dataArray.filter(function (record) {
@@ -119,7 +123,8 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
119
123
  });
120
124
  }
121
125
 
122
- layer.setEncodedData(this.mapping(layer, attributes, filterData, undefined, bottomColor));
126
+ layer.setEncodedData(this.mapping(layer, attributes, filterData, undefined, bottomColor)); // 对外暴露事件
127
+
123
128
  layer.emit('dataUpdate', null);
124
129
  }
125
130
  }, {
@@ -152,17 +157,21 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
152
157
  attributes.filter(function (attribute) {
153
158
  return attribute.scale !== undefined;
154
159
  }).forEach(function (attribute) {
155
- var values = _this3.applyAttributeMapping(attribute, record, minimumColor);
160
+ // console.log('record', record)
161
+ var values = _this3.applyAttributeMapping(attribute, record, minimumColor); // console.log('values', values)
156
162
 
157
- attribute.needRemapping = false;
163
+
164
+ attribute.needRemapping = false; // TODO: 支持每个属性配置 postprocess
158
165
 
159
166
  if (attribute.name === 'color') {
167
+ // console.log('attribute', attribute)
160
168
  values = values.map(function (c) {
161
169
  return rgb2arr(c);
162
170
  });
163
- }
171
+ } // @ts-ignore
164
172
 
165
- encodeRecord[attribute.name] = Array.isArray(values) && values.length === 1 ? values[0] : values;
173
+
174
+ encodeRecord[attribute.name] = Array.isArray(values) && values.length === 1 ? values[0] : values; // 增加对 layer/text/iconfont unicode 映射的解析
166
175
 
167
176
  if (attribute.name === 'shape') {
168
177
  encodeRecord.shape = _this3.fontService.getIconFontKey(encodeRecord[attribute.name]);
@@ -170,6 +179,7 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
170
179
  });
171
180
 
172
181
  if (arrow.enable && (encodeRecord.shape === 'line' || encodeRecord.shape === 'halfLine')) {
182
+ // 只有在线图层且支持配置箭头的时候进行插入顶点的处理
173
183
  var coords = encodeRecord.coordinates;
174
184
 
175
185
  var arrowPoint = _this3.getArrowPoints(coords[0], coords[1]);
@@ -178,8 +188,11 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
178
188
  }
179
189
 
180
190
  return encodeRecord;
181
- });
182
- this.adjustData2Amap2Coordinates(mappedData, layer);
191
+ }); // console.log('mappedData', mappedData)
192
+ // 调整数据兼容 Amap2.0
193
+
194
+ this.adjustData2Amap2Coordinates(mappedData, layer); // 调整数据兼容 SimpleCoordinates
195
+
183
196
  this.adjustData2SimpleCoordinates(mappedData);
184
197
  return mappedData;
185
198
  }
@@ -188,23 +201,38 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
188
201
  value: function adjustData2Amap2Coordinates(mappedData, layer) {
189
202
  var _this4 = this;
190
203
 
204
+ // 根据地图的类型判断是否需要对点位数据进行处理, 若是高德2.0则需要对坐标进行相对偏移
191
205
  if (mappedData.length > 0 && this.mapService.version === Version['GAODE2.x']) {
192
206
  var layerCenter = this.getLayerCenter(layer);
193
207
 
194
208
  if (typeof mappedData[0].coordinates[0] === 'number') {
195
- mappedData.filter(function (d) {
209
+ // 单个的点数据
210
+ // @ts-ignore
211
+ mappedData // TODO: 避免经纬度被重复计算导致坐标位置偏移
212
+ .filter(function (d) {
196
213
  return !d.originCoordinates;
197
214
  }).map(function (d) {
198
- d.version = Version['GAODE2.x'];
199
- d.originCoordinates = _cloneDeep(d.coordinates);
215
+ d.version = Version['GAODE2.x']; // @ts-ignore
216
+
217
+ d.originCoordinates = cloneDeep(d.coordinates); // 为了兼容高德1.x 需要保存一份原始的经纬度坐标数据(许多上层逻辑依赖经纬度数据)
218
+ // @ts-ignore
219
+ // d.coordinates = this.mapService.lngLatToCoord(d.coordinates);
220
+
200
221
  d.coordinates = _this4.mapService.lngLatToCoordByLayer(d.coordinates, layerCenter);
201
222
  });
202
223
  } else {
203
- mappedData.filter(function (d) {
224
+ // 连续的线、面数据
225
+ // @ts-ignore
226
+ mappedData // TODO: 避免经纬度被重复计算导致坐标位置偏移
227
+ .filter(function (d) {
204
228
  return !d.originCoordinates;
205
229
  }).map(function (d) {
206
- d.version = Version['GAODE2.x'];
207
- d.originCoordinates = _cloneDeep(d.coordinates);
230
+ d.version = Version['GAODE2.x']; // @ts-ignore
231
+
232
+ d.originCoordinates = cloneDeep(d.coordinates); // 为了兼容高德1.x 需要保存一份原始的经纬度坐标数据(许多上层逻辑依赖经纬度数据)
233
+ // @ts-ignore
234
+ // d.coordinates = this.mapService.lngLatToCoords(d.coordinates);
235
+
208
236
  d.coordinates = _this4.mapService.lngLatToCoordsByLayer(d.coordinates, layerCenter);
209
237
  });
210
238
  }
@@ -240,20 +268,27 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
240
268
  }
241
269
 
242
270
  if (coordinates[0] && coordinates[0][0] instanceof Array) {
271
+ // @ts-ignore
243
272
  var coords = [];
244
273
  coordinates.map(function (coord) {
274
+ // @ts-ignore
245
275
  var c1 = [];
246
276
  coord.map(function (co) {
247
277
  c1.push(_this6.mapService.simpleMapCoord.unproject(co));
248
- });
278
+ }); // @ts-ignore
279
+
249
280
  coords.push(c1);
250
- });
281
+ }); // @ts-ignore
282
+
251
283
  return coords;
252
284
  } else {
253
- var _coords = [];
285
+ // @ts-ignore
286
+ var _coords = []; // @ts-ignore
287
+
254
288
  coordinates.map(function (coord) {
255
289
  _coords.push(_this6.mapService.simpleMapCoord.unproject(coord));
256
- });
290
+ }); // @ts-ignore
291
+
257
292
  return _coords;
258
293
  }
259
294
  }
@@ -274,16 +309,19 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
274
309
  var field = _ref4.field;
275
310
 
276
311
  if (record.hasOwnProperty(field) || ((_attribute$scale2 = attribute.scale) === null || _attribute$scale2 === void 0 ? void 0 : _attribute$scale2.type) === 'variable') {
312
+ // TODO:多字段,常量
277
313
  params.push(record[field]);
278
314
  }
279
- });
315
+ }); // console.log('params', params)
316
+ // console.log('attribute', attribute)
317
+
280
318
  var mappingResult = attribute.mapping ? attribute.mapping(params) : [];
281
319
 
282
320
  if (attribute.name === 'color' && !isColor(mappingResult[0])) {
283
321
  return [minimumColor];
284
322
  }
285
323
 
286
- return mappingResult;
324
+ return mappingResult; // return attribute.mapping ? attribute.mapping(params) : [];
287
325
  }
288
326
  }]);
289
327
 
@@ -304,5 +342,4 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfig
304
342
  writable: true,
305
343
  initializer: null
306
344
  })), _class2)) || _class);
307
- export { DataMappingPlugin as default };
308
- //# sourceMappingURL=DataMappingPlugin.js.map
345
+ export { DataMappingPlugin as default };
@@ -1,6 +1,5 @@
1
1
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
2
  import _createClass from "@babel/runtime/helpers/createClass";
3
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
3
 
5
4
  var _dec, _class;
6
5
 
@@ -8,11 +7,9 @@ import { TYPES } from '@antv/l7-core';
8
7
  import Source, { DEFAULT_DATA, DEFAULT_PARSER, DEFAULT_SOURCE } from '@antv/l7-source';
9
8
  import { injectable } from 'inversify';
10
9
  import 'reflect-metadata';
11
- var DataSourcePlugin = (_dec = injectable(), _dec(_class = function () {
10
+ var DataSourcePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function () {
12
11
  function DataSourcePlugin() {
13
12
  _classCallCheck(this, DataSourcePlugin);
14
-
15
- _defineProperty(this, "mapService", void 0);
16
13
  }
17
14
 
18
15
  _createClass(DataSourcePlugin, [{
@@ -25,6 +22,7 @@ var DataSourcePlugin = (_dec = injectable(), _dec(_class = function () {
25
22
  var source = layer.getSource();
26
23
 
27
24
  if (!source) {
25
+ // TODO: 允许用户不使用 layer 的 source 方法,在这里传入一个默认的替换的默认数据
28
26
  var defaultSourceConfig = DEFAULT_SOURCE[layer.type] || {
29
27
  data: DEFAULT_DATA,
30
28
  options: DEFAULT_PARSER
@@ -42,10 +40,13 @@ var DataSourcePlugin = (_dec = injectable(), _dec(_class = function () {
42
40
  _this.updateClusterData(layer);
43
41
  } else {
44
42
  source.once('sourceUpdate', function () {
45
- _this.updateClusterData(layer);
43
+ _this.updateClusterData(layer); // TODO: layer.hooks.init.call();
44
+
46
45
  });
47
- }
48
- });
46
+ } // this.updateClusterData(layer);
47
+
48
+ }); // 检测数据是否需要更新
49
+
49
50
  layer.hooks.beforeRenderData.tap('DataSourcePlugin', function () {
50
51
  var neeUpdateCluster = _this.updateClusterData(layer);
51
52
 
@@ -65,8 +66,10 @@ var DataSourcePlugin = (_dec = injectable(), _dec(_class = function () {
65
66
  var dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
66
67
 
67
68
  if (cluster && dataSourceNeedUpdate) {
69
+ // 数据发生更新
68
70
  source.updateClusterData(Math.floor(newZoom));
69
- }
71
+ } // 如果 dataSource 有更新,跳过 zoom 的判断,直接更新一次
72
+
70
73
 
71
74
  if (cluster && Math.abs(layer.clusterZoom - newZoom) >= 1) {
72
75
  if (zoom !== Math.floor(newZoom)) {
@@ -83,5 +86,4 @@ var DataSourcePlugin = (_dec = injectable(), _dec(_class = function () {
83
86
 
84
87
  return DataSourcePlugin;
85
88
  }()) || _class);
86
- export { DataSourcePlugin as default };
87
- //# sourceMappingURL=DataSourcePlugin.js.map
89
+ export { DataSourcePlugin as default };