@antv/l7-layers 2.9.27-alpha.2 → 2.9.27-alpha.3

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 (300) hide show
  1. package/es/Geometry/index.js +6 -2
  2. package/es/Geometry/models/billboard.js +1 -2
  3. package/es/Geometry/models/plane.js +2 -4
  4. package/es/Geometry/models/sprite.js +2 -4
  5. package/es/canvas/index.d.ts +4 -0
  6. package/es/canvas/index.js +38 -2
  7. package/es/citybuliding/building.js +6 -2
  8. package/es/citybuliding/models/build.js +2 -3
  9. package/es/core/BaseLayer.d.ts +15 -6
  10. package/es/core/BaseLayer.js +51 -69
  11. package/es/core/BaseModel.d.ts +1 -1
  12. package/es/core/BaseModel.js +7 -3
  13. package/es/core/interface.d.ts +18 -0
  14. package/es/core/triangulation.d.ts +6 -0
  15. package/es/core/triangulation.js +64 -2
  16. package/es/earth/index.js +3 -1
  17. package/es/earth/models/base.js +2 -4
  18. package/es/earth/shaders/atmosphere_frag.glsl +1 -1
  19. package/es/earth/shaders/bloomsphere_frag.glsl +1 -1
  20. package/es/heatmap/index.js +6 -2
  21. package/es/heatmap/models/heatmap.js +5 -3
  22. package/es/image/index.js +6 -2
  23. package/es/image/models/dataImage.js +4 -7
  24. package/es/image/models/image.js +4 -7
  25. package/es/line/index.d.ts +1 -0
  26. package/es/line/index.js +8 -2
  27. package/es/line/models/arc.js +6 -5
  28. package/es/line/models/half.js +3 -4
  29. package/es/line/models/line.js +9 -8
  30. package/es/line/models/simpleLine.js +2 -1
  31. package/es/line/models/simpleTileLine.d.ts +9 -0
  32. package/es/line/models/simpleTileLine.js +100 -0
  33. package/es/line/models/tile.d.ts +1 -4
  34. package/es/line/models/tile.js +49 -222
  35. package/es/line/models/wall.js +10 -46
  36. package/es/line/shaders/dash/arc_dash_vert.glsl +2 -0
  37. package/es/line/shaders/dash/line_dash_frag.glsl +1 -1
  38. package/es/line/shaders/line_arc2d_vert.glsl +1 -1
  39. package/es/line/shaders/line_arc_3d_frag.glsl +1 -1
  40. package/es/line/shaders/line_arc_3d_vert.glsl +3 -3
  41. package/es/line/shaders/line_arc_frag.glsl +1 -1
  42. package/es/line/shaders/line_arc_great_circle_frag.glsl +1 -1
  43. package/es/line/shaders/line_arc_great_circle_vert.glsl +1 -1
  44. package/es/line/shaders/line_arc_vert.glsl +5 -3
  45. package/es/line/shaders/line_bezier_vert.glsl +1 -1
  46. package/es/line/shaders/line_frag.glsl +1 -2
  47. package/es/line/shaders/line_vert.glsl +1 -1
  48. package/es/line/shaders/linear/arc3d_linear_frag.glsl +1 -1
  49. package/es/line/shaders/linear/arc3d_linear_vert.glsl +3 -3
  50. package/es/line/shaders/linear/arc_linear_frag.glsl +1 -1
  51. package/es/line/shaders/tile/line_tile_map_vert.glsl +25 -0
  52. package/es/line/shaders/tile/line_tile_vert.glsl +19 -177
  53. package/es/line/shaders/tile/simpleline_map_vert.glsl +15 -0
  54. package/es/line/shaders/tile/simpleline_vert.glsl +21 -0
  55. package/es/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +17 -21
  56. package/es/line/shaders/wall/wall_vert.glsl +77 -0
  57. package/es/mask/index.d.ts +1 -0
  58. package/es/mask/index.js +80 -5
  59. package/es/mask/models/fill.d.ts +2 -1
  60. package/es/mask/models/fill.js +13 -10
  61. package/es/mask/shaders/mask_vert.glsl +0 -6
  62. package/es/plugins/DataMappingPlugin.d.ts +4 -3
  63. package/es/plugins/DataMappingPlugin.js +129 -58
  64. package/es/plugins/DataSourcePlugin.js +3 -2
  65. package/es/plugins/FeatureScalePlugin.d.ts +0 -2
  66. package/es/plugins/FeatureScalePlugin.js +8 -51
  67. package/es/plugins/LayerAnimateStylePlugin.d.ts +0 -2
  68. package/es/plugins/LayerAnimateStylePlugin.js +7 -27
  69. package/es/plugins/LayerModelPlugin.js +2 -6
  70. package/es/plugins/LightingPlugin.js +1 -7
  71. package/es/plugins/MultiPassRendererPlugin.d.ts +0 -1
  72. package/es/plugins/MultiPassRendererPlugin.js +4 -16
  73. package/es/plugins/PixelPickingPlugin.d.ts +1 -1
  74. package/es/plugins/PixelPickingPlugin.js +8 -28
  75. package/es/plugins/RegisterStyleAttributePlugin.d.ts +4 -0
  76. package/es/plugins/RegisterStyleAttributePlugin.js +56 -5
  77. package/es/plugins/UpdateStyleAttributePlugin.js +2 -9
  78. package/es/point/index.js +6 -2
  79. package/es/point/models/fill.js +2 -2
  80. package/es/point/models/fillmage.js +1 -1
  81. package/es/point/models/image.js +1 -1
  82. package/es/point/models/normal.d.ts +0 -1
  83. package/es/point/models/normal.js +9 -60
  84. package/es/point/models/radar.js +4 -69
  85. package/es/point/models/simplePoint.d.ts +0 -1
  86. package/es/point/models/simplePoint.js +2 -11
  87. package/es/point/models/text.js +6 -7
  88. package/es/point/models/tile.d.ts +0 -7
  89. package/es/point/models/tile.js +22 -155
  90. package/es/point/models/tileText.d.ts +0 -4
  91. package/es/point/models/tileText.js +98 -185
  92. package/es/point/shaders/animate/wave_frag.glsl +3 -3
  93. package/es/point/shaders/earth/fill_vert.glsl +0 -1
  94. package/es/point/shaders/fill_vert.glsl +0 -1
  95. package/es/point/shaders/normal_frag.glsl +1 -10
  96. package/es/point/shaders/normal_vert.glsl +5 -60
  97. package/es/point/shaders/radar/radar_frag.glsl +4 -15
  98. package/es/point/shaders/radar/radar_vert.glsl +4 -54
  99. package/es/point/shaders/tile/fill_tile_frag.glsl +10 -17
  100. package/es/point/shaders/tile/fill_tile_vert.glsl +20 -123
  101. package/es/point/shaders/tile/text_frag.glsl +33 -0
  102. package/es/point/shaders/tile/text_map_frag.glsl +31 -0
  103. package/es/point/shaders/tile/text_map_vert.glsl +38 -0
  104. package/es/point/shaders/tile/text_vert.glsl +48 -0
  105. package/es/polygon/index.js +6 -2
  106. package/es/polygon/models/extrude.js +1 -3
  107. package/es/polygon/models/fill.js +3 -4
  108. package/es/polygon/models/ocean.d.ts +0 -2
  109. package/es/polygon/models/ocean.js +13 -47
  110. package/es/polygon/models/tile.d.ts +1 -4
  111. package/es/polygon/models/tile.js +25 -57
  112. package/es/polygon/models/water.d.ts +0 -2
  113. package/es/polygon/models/water.js +13 -47
  114. package/es/polygon/shaders/polygon_frag.glsl +2 -2
  115. package/es/polygon/shaders/polygon_vert.glsl +2 -2
  116. package/es/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
  117. package/es/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
  118. package/es/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
  119. package/es/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
  120. package/es/polygon/shaders/water/polygon_water_frag.glsl +1 -3
  121. package/es/polygon/shaders/water/polygon_water_vert.glsl +0 -29
  122. package/es/raster/buffers/triangulation.js +1 -4
  123. package/es/raster/index.js +6 -2
  124. package/es/raster/models/raster.js +3 -2
  125. package/es/shader/minify_frag.glsl +7 -0
  126. package/es/shader/minify_picking_frag.glsl +10 -0
  127. package/es/tile/manager/baseMapTileLayerManager.d.ts +29 -0
  128. package/es/tile/manager/baseMapTileLayerManager.js +207 -0
  129. package/es/tile/manager/tileLayerManager.d.ts +2 -2
  130. package/es/tile/manager/tileLayerManager.js +2 -2
  131. package/es/tile/manager/tilePickerManager.d.ts +2 -3
  132. package/es/tile/manager/tilePickerManager.js +1 -2
  133. package/es/tile/models/tileModel.d.ts +1 -0
  134. package/es/tile/models/tileModel.js +18 -2
  135. package/es/tile/tileFactory/base.d.ts +1 -1
  136. package/es/tile/tileFactory/base.js +58 -33
  137. package/es/tile/tileFactory/line.js +3 -0
  138. package/es/tile/tileFactory/point.js +3 -0
  139. package/es/tile/tileFactory/polygon.js +3 -0
  140. package/es/tile/tileFactory/raster.js +3 -0
  141. package/es/tile/tileFactory/rasterData.js +3 -0
  142. package/es/tile/tileFactory/rasterDataLayer.js +6 -2
  143. package/es/tile/tileFactory/test.js +26 -5
  144. package/es/tile/tileFactory/vectorLayer.d.ts +4 -1
  145. package/es/tile/tileFactory/vectorLayer.js +110 -7
  146. package/es/tile/tileLayer/baseMapTileLayer.d.ts +29 -0
  147. package/es/tile/tileLayer/baseMapTileLayer.js +188 -0
  148. package/es/tile/tileLayer/baseTileLayer.d.ts +4 -4
  149. package/es/tile/tileLayer/baseTileLayer.js +46 -75
  150. package/es/tile/tileTest.d.ts +1 -0
  151. package/es/tile/tileTest.js +3 -2
  152. package/es/tile/tmsMapTileLayer.d.ts +9 -0
  153. package/es/tile/tmsMapTileLayer.js +119 -0
  154. package/es/tile/tmsTileLayer.d.ts +2 -0
  155. package/es/tile/tmsTileLayer.js +24 -2
  156. package/es/tile/utils.d.ts +4 -0
  157. package/es/tile/utils.js +30 -0
  158. package/es/utils/dataMappingStyle.js +3 -0
  159. package/es/utils/layerData.js +2 -2
  160. package/es/utils/updateShape.js +2 -2
  161. package/es/wind/index.js +6 -2
  162. package/es/wind/models/wind.js +8 -8
  163. package/es/wind/shaders/wind_vert.glsl +1 -1
  164. package/lib/Geometry/index.js +6 -2
  165. package/lib/Geometry/models/billboard.js +1 -2
  166. package/lib/Geometry/models/plane.js +2 -4
  167. package/lib/Geometry/models/sprite.js +2 -4
  168. package/lib/canvas/index.js +37 -2
  169. package/lib/citybuliding/building.js +6 -2
  170. package/lib/citybuliding/models/build.js +2 -3
  171. package/lib/core/BaseLayer.js +51 -69
  172. package/lib/core/BaseModel.js +7 -3
  173. package/lib/core/triangulation.js +66 -2
  174. package/lib/earth/index.js +3 -1
  175. package/lib/earth/models/base.js +2 -4
  176. package/lib/earth/shaders/atmosphere_frag.glsl +1 -1
  177. package/lib/earth/shaders/bloomsphere_frag.glsl +1 -1
  178. package/lib/heatmap/index.js +6 -2
  179. package/lib/heatmap/models/heatmap.js +5 -3
  180. package/lib/image/index.js +6 -2
  181. package/lib/image/models/dataImage.js +4 -7
  182. package/lib/image/models/image.js +4 -7
  183. package/lib/line/index.js +7 -2
  184. package/lib/line/models/arc.js +6 -5
  185. package/lib/line/models/half.js +3 -4
  186. package/lib/line/models/line.js +9 -8
  187. package/lib/line/models/simpleLine.js +2 -1
  188. package/lib/line/models/simpleTileLine.js +115 -0
  189. package/lib/line/models/tile.js +49 -223
  190. package/lib/line/models/wall.js +10 -46
  191. package/lib/line/shaders/dash/arc_dash_vert.glsl +2 -0
  192. package/lib/line/shaders/dash/line_dash_frag.glsl +1 -1
  193. package/lib/line/shaders/line_arc2d_vert.glsl +1 -1
  194. package/lib/line/shaders/line_arc_3d_frag.glsl +1 -1
  195. package/lib/line/shaders/line_arc_3d_vert.glsl +3 -3
  196. package/lib/line/shaders/line_arc_frag.glsl +1 -1
  197. package/lib/line/shaders/line_arc_great_circle_frag.glsl +1 -1
  198. package/lib/line/shaders/line_arc_great_circle_vert.glsl +1 -1
  199. package/lib/line/shaders/line_arc_vert.glsl +5 -3
  200. package/lib/line/shaders/line_bezier_vert.glsl +1 -1
  201. package/lib/line/shaders/line_frag.glsl +1 -2
  202. package/lib/line/shaders/line_vert.glsl +1 -1
  203. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +1 -1
  204. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +3 -3
  205. package/lib/line/shaders/linear/arc_linear_frag.glsl +1 -1
  206. package/lib/line/shaders/tile/line_tile_map_vert.glsl +25 -0
  207. package/lib/line/shaders/tile/line_tile_vert.glsl +19 -177
  208. package/lib/line/shaders/tile/simpleline_map_vert.glsl +15 -0
  209. package/lib/line/shaders/tile/simpleline_vert.glsl +21 -0
  210. package/lib/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +17 -21
  211. package/lib/line/shaders/wall/wall_vert.glsl +77 -0
  212. package/lib/mask/index.js +82 -5
  213. package/lib/mask/models/fill.js +14 -10
  214. package/lib/mask/shaders/mask_vert.glsl +0 -6
  215. package/lib/plugins/DataMappingPlugin.js +127 -57
  216. package/lib/plugins/DataSourcePlugin.js +3 -2
  217. package/lib/plugins/FeatureScalePlugin.js +6 -50
  218. package/lib/plugins/LayerAnimateStylePlugin.js +6 -29
  219. package/lib/plugins/LayerModelPlugin.js +2 -6
  220. package/lib/plugins/LightingPlugin.js +1 -7
  221. package/lib/plugins/MultiPassRendererPlugin.js +3 -19
  222. package/lib/plugins/PixelPickingPlugin.js +8 -28
  223. package/lib/plugins/RegisterStyleAttributePlugin.js +56 -5
  224. package/lib/plugins/UpdateStyleAttributePlugin.js +2 -9
  225. package/lib/point/index.js +6 -2
  226. package/lib/point/models/fill.js +2 -2
  227. package/lib/point/models/fillmage.js +1 -1
  228. package/lib/point/models/image.js +1 -1
  229. package/lib/point/models/normal.js +8 -59
  230. package/lib/point/models/radar.js +4 -69
  231. package/lib/point/models/simplePoint.js +1 -10
  232. package/lib/point/models/text.js +6 -7
  233. package/lib/point/models/tile.js +21 -156
  234. package/lib/point/models/tileText.js +97 -184
  235. package/lib/point/shaders/animate/wave_frag.glsl +3 -3
  236. package/lib/point/shaders/earth/fill_vert.glsl +0 -1
  237. package/lib/point/shaders/fill_vert.glsl +0 -1
  238. package/lib/point/shaders/normal_frag.glsl +1 -10
  239. package/lib/point/shaders/normal_vert.glsl +5 -60
  240. package/lib/point/shaders/radar/radar_frag.glsl +4 -15
  241. package/lib/point/shaders/radar/radar_vert.glsl +4 -54
  242. package/lib/point/shaders/tile/fill_tile_frag.glsl +10 -17
  243. package/lib/point/shaders/tile/fill_tile_vert.glsl +20 -123
  244. package/lib/point/shaders/tile/text_frag.glsl +33 -0
  245. package/lib/point/shaders/tile/text_map_frag.glsl +31 -0
  246. package/lib/point/shaders/tile/text_map_vert.glsl +38 -0
  247. package/lib/point/shaders/tile/text_vert.glsl +48 -0
  248. package/lib/polygon/index.js +6 -2
  249. package/lib/polygon/models/extrude.js +1 -3
  250. package/lib/polygon/models/fill.js +3 -4
  251. package/lib/polygon/models/ocean.js +14 -47
  252. package/lib/polygon/models/tile.js +24 -57
  253. package/lib/polygon/models/water.js +14 -47
  254. package/lib/polygon/shaders/polygon_frag.glsl +2 -2
  255. package/lib/polygon/shaders/polygon_vert.glsl +2 -2
  256. package/lib/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
  257. package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
  258. package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
  259. package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
  260. package/lib/polygon/shaders/water/polygon_water_frag.glsl +1 -3
  261. package/lib/polygon/shaders/water/polygon_water_vert.glsl +0 -29
  262. package/lib/raster/buffers/triangulation.js +1 -4
  263. package/lib/raster/index.js +6 -2
  264. package/lib/raster/models/raster.js +3 -2
  265. package/lib/shader/minify_frag.glsl +7 -0
  266. package/lib/shader/minify_picking_frag.glsl +10 -0
  267. package/lib/tile/manager/baseMapTileLayerManager.js +222 -0
  268. package/lib/tile/manager/tileLayerManager.js +2 -2
  269. package/lib/tile/manager/tilePickerManager.js +1 -2
  270. package/lib/tile/models/tileModel.js +19 -2
  271. package/lib/tile/tileFactory/base.js +60 -33
  272. package/lib/tile/tileFactory/line.js +3 -0
  273. package/lib/tile/tileFactory/point.js +3 -0
  274. package/lib/tile/tileFactory/polygon.js +3 -0
  275. package/lib/tile/tileFactory/raster.js +3 -0
  276. package/lib/tile/tileFactory/rasterData.js +3 -0
  277. package/lib/tile/tileFactory/rasterDataLayer.js +6 -2
  278. package/lib/tile/tileFactory/test.js +26 -5
  279. package/lib/tile/tileFactory/vectorLayer.js +112 -8
  280. package/lib/tile/tileLayer/baseMapTileLayer.js +195 -0
  281. package/lib/tile/tileLayer/baseTileLayer.js +46 -75
  282. package/lib/tile/tileTest.js +3 -2
  283. package/lib/tile/tmsMapTileLayer.js +136 -0
  284. package/lib/tile/tmsTileLayer.js +25 -2
  285. package/lib/tile/utils.js +38 -0
  286. package/lib/utils/dataMappingStyle.js +3 -0
  287. package/lib/utils/layerData.js +2 -2
  288. package/lib/utils/updateShape.js +2 -2
  289. package/lib/wind/index.js +6 -2
  290. package/lib/wind/models/wind.js +7 -7
  291. package/lib/wind/shaders/wind_vert.glsl +1 -1
  292. package/package.json +8 -7
  293. package/es/line/shaders/tile/line_tile_frag.glsl +0 -79
  294. package/es/line/shaders/wall_vert.glsl +0 -111
  295. package/es/mask/shaders/mask_frag.glsl +0 -7
  296. package/es/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
  297. package/lib/line/shaders/tile/line_tile_frag.glsl +0 -79
  298. package/lib/line/shaders/wall_vert.glsl +0 -111
  299. package/lib/mask/shaders/mask_frag.glsl +0 -7
  300. package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
@@ -5,8 +5,6 @@ uniform float u_opacity: 1.0;
5
5
 
6
6
  varying vec4 v_Color;
7
7
  varying vec2 v_uv;
8
- varying mat4 styleMappingMat; // 传递从片元中传递的映射数据
9
-
10
8
 
11
9
  float rand(vec2 n) { return 0.5 + 0.5 * fract(sin(dot(n.xy, vec2(12.9898, 78.233)))* 43758.5453); }
12
10
 
@@ -64,7 +62,7 @@ float calSpc() {
64
62
  }
65
63
 
66
64
  void main() {
67
- float opacity = styleMappingMat[0][0];
65
+ float opacity = u_opacity;
68
66
  gl_FragColor = v_Color;
69
67
  gl_FragColor.a *= opacity;
70
68
 
@@ -7,44 +7,15 @@ uniform mat4 u_Mvp;
7
7
  varying vec4 v_Color;
8
8
  varying vec2 v_uv;
9
9
  uniform float u_opacity: 1.0;
10
- varying mat4 styleMappingMat; // 用于将在顶点着色器中计算好的样式值传递给片元
11
10
 
12
- #pragma include "styleMapping"
13
- #pragma include "styleMappingCalOpacity"
14
11
 
15
12
  #pragma include "projection"
16
13
 
17
14
  void main() {
18
15
  v_uv = a_uv;
19
- // cal style mapping - 数据纹理映射部分的计算
20
- styleMappingMat = mat4(
21
- 0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - empty
22
- 0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA
23
- 0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]
24
- 0.0, 0.0, 0.0, 0.0
25
- );
26
-
27
- float rowCount = u_cellTypeLayout[0][0]; // 当前的数据纹理有几行
28
- float columnCount = u_cellTypeLayout[0][1]; // 当看到数据纹理有几列
29
- float columnWidth = 1.0/columnCount; // 列宽
30
- float rowHeight = 1.0/rowCount; // 行高
31
- float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets
32
- float id = a_vertexId; // 第n个顶点
33
- float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // 起始点在第几行
34
- float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // 起始点在第几列
35
-
36
- // cell 固定顺序 opacity -> strokeOpacity -> strokeWidth -> stroke ...
37
- // 按顺序从 cell 中取值、若没有则自动往下取值
38
- float textureOffset = 0.0; // 在 cell 中取值的偏移量
39
-
40
- vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);
41
- styleMappingMat[0][0] = opacityAndOffset.r;
42
- textureOffset = opacityAndOffset.g;
43
- // cal style mapping - 数据纹理映射部分的计算
44
16
 
45
17
  v_Color = a_Color;
46
18
  vec4 project_pos = project_position(vec4(a_Position, 1.0));
47
- // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));
48
19
 
49
20
  if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
50
21
  gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));
@@ -11,10 +11,7 @@ var _martini = _interopRequireDefault(require("@mapbox/martini"));
11
11
 
12
12
  // @ts-ignore
13
13
  function RasterTriangulation(parserData) {
14
- var coordinates = parserData.coordinates,
15
- data = parserData.data,
16
- min = parserData.min,
17
- max = parserData.max,
14
+ var data = parserData.data,
18
15
  width = parserData.width,
19
16
  height = parserData.height;
20
17
  var maxlength = Math.max(width, height);
@@ -58,7 +58,9 @@ var RaterLayer = /*#__PURE__*/function (_BaseLayer) {
58
58
  this.layerModel.initModels(function (models) {
59
59
  _this2.models = models;
60
60
 
61
- _this2.renderLayers();
61
+ _this2.emit('modelLoaded', null);
62
+
63
+ _this2.layerService.throttleRenderLayers();
62
64
  });
63
65
  }
64
66
  }, {
@@ -67,7 +69,9 @@ var RaterLayer = /*#__PURE__*/function (_BaseLayer) {
67
69
  var _this3 = this;
68
70
 
69
71
  this.layerModel.buildModels(function (models) {
70
- return _this3.models = models;
72
+ _this3.models = models;
73
+
74
+ _this3.emit('modelLoaded', null);
71
75
  });
72
76
  }
73
77
  }, {
@@ -116,7 +116,8 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
116
116
  depth: {
117
117
  enable: false
118
118
  },
119
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
119
+ stencil: (0, _l7Utils.getMask)(mask, maskInside),
120
+ pick: false
120
121
  }).then(function (model) {
121
122
  callbackModel([model]);
122
123
  }).catch(function (err) {
@@ -153,7 +154,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
153
154
  type: _l7Core.gl.FLOAT
154
155
  },
155
156
  size: 2,
156
- update: function update(feature, featureIdx, vertex, attributeIdx) {
157
+ update: function update(feature, featureIdx, vertex) {
157
158
  return [vertex[3], vertex[4]];
158
159
  }
159
160
  }
@@ -0,0 +1,7 @@
1
+ uniform float u_opacity : 1.0;
2
+ uniform vec4 u_color;
3
+
4
+ void main() {
5
+ gl_FragColor = u_color;
6
+ gl_FragColor.a *= u_opacity;
7
+ }
@@ -0,0 +1,10 @@
1
+ uniform float u_opacity : 1.0;
2
+ varying vec4 v_color;
3
+
4
+ #pragma include "picking"
5
+
6
+ void main() {
7
+ gl_FragColor = v_color;
8
+ gl_FragColor.a *= u_opacity;
9
+ gl_FragColor = filterColor(gl_FragColor);
10
+ }
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.BaseMapTileLayerManager = void 0;
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _tileFactory = require("../tileFactory");
19
+
20
+ var _utils = require("../utils");
21
+
22
+ var BaseMapTileLayerManager = /*#__PURE__*/function () {
23
+ // only support vector layer
24
+ function BaseMapTileLayerManager(parent, mapService, rendererService) {
25
+ (0, _classCallCheck2.default)(this, BaseMapTileLayerManager);
26
+ this.parent = parent;
27
+ this.children = parent.layerChildren;
28
+ this.mapService = mapService;
29
+ this.rendererService = rendererService;
30
+ this.setSubLayerInitOptipn();
31
+ this.initTileFactory();
32
+ }
33
+
34
+ (0, _createClass2.default)(BaseMapTileLayerManager, [{
35
+ key: "createTile",
36
+ value: function createTile(tile) {
37
+ return this.tileFactory.createTile(tile, this.initOptions);
38
+ }
39
+ }, {
40
+ key: "updateLayersConfig",
41
+ value: function updateLayersConfig(layers, key, value) {
42
+ layers.map(function (layer) {
43
+ if (key === 'mask') {
44
+ // Tip: 栅格瓦片生效、设置全局的 mask、瓦片被全局的 mask 影响
45
+ layer.style({
46
+ mask: value
47
+ });
48
+ } else {
49
+ layer.updateLayerConfig((0, _defineProperty2.default)({}, key, value));
50
+ }
51
+ });
52
+ }
53
+ }, {
54
+ key: "addChild",
55
+ value: function addChild(layer) {
56
+ this.children.push(layer);
57
+ }
58
+ }, {
59
+ key: "addChilds",
60
+ value: function addChilds(layers) {
61
+ var _this$children;
62
+
63
+ (_this$children = this.children).push.apply(_this$children, (0, _toConsumableArray2.default)(layers));
64
+ }
65
+ }, {
66
+ key: "removeChilds",
67
+ value: function removeChilds(layerIDList) {
68
+ var refresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
69
+ var remveLayerList = [];
70
+ var cacheLayerList = [];
71
+ this.children.filter(function (child) {
72
+ layerIDList.includes(child.id) ? remveLayerList.push(child) : cacheLayerList.push(child);
73
+ });
74
+ remveLayerList.map(function (layer) {
75
+ return layer.destroy(refresh);
76
+ });
77
+ this.children = cacheLayerList;
78
+ }
79
+ }, {
80
+ key: "removeChild",
81
+ value: function removeChild(layer) {
82
+ var layerIndex = this.children.indexOf(layer);
83
+
84
+ if (layerIndex > -1) {
85
+ this.children.splice(layerIndex, 1);
86
+ }
87
+
88
+ layer.destroy();
89
+ }
90
+ }, {
91
+ key: "getChilds",
92
+ value: function getChilds(layerIDList) {
93
+ return this.children.filter(function (child) {
94
+ return layerIDList.includes(child.id);
95
+ });
96
+ }
97
+ }, {
98
+ key: "getChild",
99
+ value: function getChild(layerID) {
100
+ return this.children.filter(function (child) {
101
+ return child.id === layerID;
102
+ })[0];
103
+ }
104
+ }, {
105
+ key: "clearChild",
106
+ value: function clearChild() {
107
+ this.children.forEach(function (layer) {
108
+ layer.destroy();
109
+ });
110
+ this.children.slice(0, this.children.length);
111
+ }
112
+ }, {
113
+ key: "hasChild",
114
+ value: function hasChild(layer) {
115
+ return this.children.includes(layer);
116
+ }
117
+ }, {
118
+ key: "render",
119
+ value: function render() {
120
+ var _this = this;
121
+
122
+ this.children.filter(function (layer) {
123
+ return layer.inited;
124
+ }).filter(function (layer) {
125
+ return layer.isVisible();
126
+ }).map(function (layer) {
127
+ layer.hooks.beforeRenderData.call();
128
+ layer.hooks.beforeRender.call();
129
+
130
+ if (layer.masks.length > 0) {
131
+ // 清除上一次的模版缓存
132
+ _this.rendererService.clear({
133
+ stencil: 0,
134
+ depth: 1,
135
+ framebuffer: null
136
+ });
137
+
138
+ layer.masks.map(function (m) {
139
+ m.hooks.beforeRenderData.call();
140
+ m.hooks.beforeRender.call();
141
+ m.render();
142
+ m.hooks.afterRender.call();
143
+ });
144
+ }
145
+
146
+ layer.render();
147
+ layer.hooks.afterRender.call();
148
+ });
149
+ }
150
+ }, {
151
+ key: "setSubLayerInitOptipn",
152
+ value: function setSubLayerInitOptipn() {
153
+ var _colorAttribute$scale, _sizeAttribute$scale;
154
+
155
+ var _ref = this.parent.getLayerConfig(),
156
+ _ref$zIndex = _ref.zIndex,
157
+ zIndex = _ref$zIndex === void 0 ? 0 : _ref$zIndex,
158
+ _ref$opacity = _ref.opacity,
159
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
160
+ _ref$mask = _ref.mask,
161
+ mask = _ref$mask === void 0 ? false : _ref$mask,
162
+ _ref$stroke = _ref.stroke,
163
+ stroke = _ref$stroke === void 0 ? '#fff' : _ref$stroke,
164
+ _ref$strokeWidth = _ref.strokeWidth,
165
+ strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
166
+ _ref$strokeOpacity = _ref.strokeOpacity,
167
+ strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
168
+ _ref$workerEnabled = _ref.workerEnabled,
169
+ workerEnabled = _ref$workerEnabled === void 0 ? false : _ref$workerEnabled,
170
+ sourceLayer = _ref.sourceLayer;
171
+
172
+ var source = this.parent.getSource();
173
+ var parentParserType = source.getParserType();
174
+ var colorAttribute = this.parent.getAttribute('color');
175
+ var basemapColor = (colorAttribute === null || colorAttribute === void 0 ? void 0 : (_colorAttribute$scale = colorAttribute.scale) === null || _colorAttribute$scale === void 0 ? void 0 : _colorAttribute$scale.field) || '#fff';
176
+ var sizeAttribute = this.parent.getAttribute('size');
177
+ var basemapSize = (sizeAttribute === null || sizeAttribute === void 0 ? void 0 : (_sizeAttribute$scale = sizeAttribute.scale) === null || _sizeAttribute$scale === void 0 ? void 0 : _sizeAttribute$scale.field) || 1;
178
+ var layerShape = (0, _utils.getLayerShape)(this.parent.type, this.parent);
179
+ this.initOptions = {
180
+ usage: 'basemap',
181
+ layerType: this.parent.type,
182
+ shape: layerShape,
183
+ zIndex: zIndex,
184
+ opacity: opacity,
185
+ sourceLayer: this.getSourceLayer(parentParserType, sourceLayer),
186
+ basemapColor: basemapColor,
187
+ basemapSize: basemapSize,
188
+ mask: (0, _utils.getMaskValue)(this.parent.type, mask),
189
+ stroke: stroke,
190
+ strokeWidth: strokeWidth,
191
+ strokeOpacity: strokeOpacity,
192
+ // worker
193
+ workerEnabled: workerEnabled
194
+ };
195
+ }
196
+ }, {
197
+ key: "getSourceLayer",
198
+ value: function getSourceLayer(parentParserType, sourceLayer) {
199
+ if (parentParserType === 'geojsonvt') {
200
+ return 'geojsonvt';
201
+ } else if (parentParserType === 'testTile') {
202
+ return 'testTile';
203
+ } else {
204
+ return sourceLayer;
205
+ }
206
+ }
207
+ }, {
208
+ key: "initTileFactory",
209
+ value: function initTileFactory() {
210
+ var source = this.parent.getSource();
211
+ var TileFactory = (0, _tileFactory.getTileFactory)(this.parent.type, source.parser);
212
+ this.tileFactory = new TileFactory({
213
+ parent: this.parent,
214
+ mapService: this.mapService,
215
+ rendererService: this.rendererService
216
+ });
217
+ }
218
+ }]);
219
+ return BaseMapTileLayerManager;
220
+ }();
221
+
222
+ exports.BaseMapTileLayerManager = BaseMapTileLayerManager;
@@ -26,14 +26,14 @@ var _tileConfigManager = _interopRequireDefault(require("./tileConfigManager"));
26
26
  var _tilePickerManager = _interopRequireDefault(require("./tilePickerManager"));
27
27
 
28
28
  var TileLayerManager = /*#__PURE__*/function () {
29
- function TileLayerManager(parent, mapService, rendererService, pickingService, layerService, transforms) {
29
+ function TileLayerManager(parent, mapService, rendererService, pickingService, transforms) {
30
30
  (0, _classCallCheck2.default)(this, TileLayerManager);
31
31
  this.parent = parent;
32
32
  this.children = parent.layerChildren;
33
33
  this.mapService = mapService;
34
34
  this.rendererService = rendererService;
35
35
  this.transforms = transforms;
36
- this.tilePickManager = new _tilePickerManager.default(parent, rendererService, pickingService, this.children, layerService);
36
+ this.tilePickManager = new _tilePickerManager.default(parent, rendererService, pickingService, this.children);
37
37
  this.tileConfigManager = new _tileConfigManager.default();
38
38
  this.setSubLayerInitOptipn();
39
39
  this.setConfigListener();
@@ -32,7 +32,7 @@ var TilePickManager = /*#__PURE__*/function (_EventEmitter) {
32
32
 
33
33
  var _super = _createSuper(TilePickManager);
34
34
 
35
- function TilePickManager(parent, rendererService, pickingService, children, layerService) {
35
+ function TilePickManager(parent, rendererService, pickingService, children) {
36
36
  var _this;
37
37
 
38
38
  (0, _classCallCheck2.default)(this, TilePickManager);
@@ -41,7 +41,6 @@ var TilePickManager = /*#__PURE__*/function (_EventEmitter) {
41
41
  _this.parent = parent;
42
42
  _this.rendererService = rendererService;
43
43
  _this.pickingService = pickingService;
44
- _this.layerService = layerService;
45
44
  _this.children = children;
46
45
  return _this;
47
46
  }
@@ -21,6 +21,8 @@ var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
21
21
 
22
22
  var _tmsTileLayer = require("../tmsTileLayer");
23
23
 
24
+ var _tmsMapTileLayer = require("../tmsMapTileLayer");
25
+
24
26
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
25
27
 
26
28
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -40,13 +42,28 @@ var TileModel = /*#__PURE__*/function (_BaseModel) {
40
42
  value: function getUninforms() {
41
43
  return {};
42
44
  }
45
+ }, {
46
+ key: "getTileLayer",
47
+ value: function getTileLayer(usage) {
48
+ switch (usage) {
49
+ case 'basemap':
50
+ return _tmsMapTileLayer.TMSBaseMapTileLayer;
51
+
52
+ default:
53
+ return _tmsTileLayer.TMSTileLayer;
54
+ }
55
+ }
43
56
  }, {
44
57
  key: "initModels",
45
58
  value: function initModels() {
46
59
  var source = this.layer.getSource();
47
60
 
48
- if (source !== null && source !== void 0 && source.data.isTile) {
49
- this.layer.tileLayer = new _tmsTileLayer.TMSTileLayer({
61
+ var _this$layer$getLayerC = this.layer.getLayerConfig(),
62
+ usage = _this$layer$getLayerC.usage;
63
+
64
+ if (source !== null && source !== void 0 && source.data.isTile && !this.layer.tileLayer) {
65
+ var tileLayer = this.getTileLayer(usage);
66
+ this.layer.tileLayer = new tileLayer({
50
67
  parent: this.layer,
51
68
  rendererService: this.rendererService,
52
69
  mapService: this.mapService,
@@ -33,12 +33,21 @@ var turf = _interopRequireWildcard(require("@turf/helpers"));
33
33
 
34
34
  var _union = _interopRequireDefault(require("@turf/union"));
35
35
 
36
+ var _clone = _interopRequireDefault(require("@turf/clone"));
37
+
36
38
  var _polygonToLine = _interopRequireDefault(require("@turf/polygon-to-line"));
37
39
 
38
40
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
41
 
40
42
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
43
 
44
+ var EMPTY_FEATURE_DATA = {
45
+ features: [],
46
+ featureId: null,
47
+ vectorTileLayer: null,
48
+ source: null
49
+ };
50
+
42
51
  var TileFactory = /*#__PURE__*/function () {
43
52
  // 用于记录图层内事件,辅助判断图层外事件逻辑
44
53
  function TileFactory(option) {
@@ -57,7 +66,8 @@ var TileFactory = /*#__PURE__*/function () {
57
66
  var source = this.parentLayer.getSource();
58
67
  this.zoomOffset = source.parser.zoomOffset || 0;
59
68
  this.tilesetManager = source.tileset;
60
- }
69
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
70
+
61
71
 
62
72
  (0, _createClass2.default)(TileFactory, [{
63
73
  key: "createTile",
@@ -70,44 +80,41 @@ var TileFactory = /*#__PURE__*/function () {
70
80
  }, {
71
81
  key: "getFeatureData",
72
82
  value: function getFeatureData(tile, initOptions) {
73
- var emptyData = {
74
- features: [],
75
- featureId: null,
76
- vectorTileLayer: null,
77
- source: null
78
- };
79
83
  var sourceLayer = initOptions.sourceLayer,
80
84
  featureId = initOptions.featureId,
81
- transforms = initOptions.transforms,
85
+ _initOptions$transfor = initOptions.transforms,
86
+ transforms = _initOptions$transfor === void 0 ? [] : _initOptions$transfor,
82
87
  layerType = initOptions.layerType,
83
88
  shape = initOptions.shape;
84
89
 
85
90
  if (!sourceLayer) {
86
- return emptyData;
91
+ return EMPTY_FEATURE_DATA;
87
92
  }
88
93
 
89
94
  var vectorTileLayer = tile.data.layers[sourceLayer];
90
95
  var features = vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.features;
91
96
 
92
97
  if (!(Array.isArray(features) && features.length > 0)) {
93
- return emptyData;
98
+ return EMPTY_FEATURE_DATA;
94
99
  } else {
95
100
  var geofeatures = [];
96
101
 
97
102
  if (layerType === 'LineLayer' && shape === 'simple') {
98
103
  features.map(function (feature) {
99
- if (feature.geometry.type === 'MultiPolygon') {
104
+ var cloneFeature = (0, _clone.default)(feature);
105
+
106
+ if (cloneFeature.geometry.type === 'MultiPolygon') {
100
107
  var _geofeatures;
101
108
 
102
109
  // @ts-ignore
103
- var linefeatures = (0, _polygonToLine.default)(feature).features;
110
+ var linefeatures = (0, _polygonToLine.default)(cloneFeature).features;
104
111
 
105
112
  (_geofeatures = geofeatures).push.apply(_geofeatures, (0, _toConsumableArray2.default)(linefeatures));
106
- } else if (feature.geometry.type === 'Polygon') {
107
- feature.geometry.type = 'MultiLineString';
108
- geofeatures.push(feature);
113
+ } else if (cloneFeature.geometry.type === 'Polygon') {
114
+ cloneFeature.geometry.type = 'MultiLineString';
115
+ geofeatures.push(cloneFeature);
109
116
  } else {
110
- geofeatures.push(feature);
117
+ geofeatures.push(cloneFeature);
111
118
  }
112
119
  });
113
120
  } else {
@@ -120,7 +127,8 @@ var TileFactory = /*#__PURE__*/function () {
120
127
  }, {
121
128
  parser: {
122
129
  type: 'geojson',
123
- featureId: featureId
130
+ featureId: featureId,
131
+ cancelExtent: true
124
132
  },
125
133
  transforms: transforms
126
134
  });
@@ -144,28 +152,43 @@ var TileFactory = /*#__PURE__*/function () {
144
152
  color = initOptions.color,
145
153
  layerType = initOptions.layerType,
146
154
  size = initOptions.size,
147
- shape = initOptions.shape;
155
+ shape = initOptions.shape,
156
+ usage = initOptions.usage,
157
+ basemapColor = initOptions.basemapColor,
158
+ basemapSize = initOptions.basemapSize;
148
159
  var FactoryTileLayer = L7Layer ? L7Layer : _vectorLayer.default;
149
160
  var layer = new FactoryTileLayer((0, _objectSpread2.default)({
150
161
  visible: tile.isVisible,
151
162
  tileOrigin: vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.l7TileOrigin,
152
163
  coord: vectorTileLayer === null || vectorTileLayer === void 0 ? void 0 : vectorTileLayer.l7TileCoord
153
- }, this.getLayerInitOption(initOptions))); // vector layer set config
164
+ }, this.getLayerInitOption(initOptions)));
165
+ if (layerType) layer.type = layerType; // Tip: sign tile layer
166
+
167
+ layer.isTileLayer = true; // vector 、raster
168
+ // vector layer set event
154
169
 
155
- if (layer.isVector) {
170
+ if (layer.isVector && usage !== 'basemap') {
156
171
  this.emitEvent([layer]);
157
- layer.type = layerType;
158
172
  layer.select(true);
159
173
  } // set source
160
174
 
161
175
 
162
- layer.source(source); // set scale
163
-
164
- this.setScale(layer); // set scale attribute field
176
+ layer.source(source); // set scale attribute field
165
177
 
166
178
  this.setStyleAttributeField(layer, 'shape', shape);
167
- this.setStyleAttributeField(layer, 'color', color);
168
- this.setStyleAttributeField(layer, 'size', size); // set mask
179
+
180
+ if (usage !== 'basemap') {
181
+ // set scale
182
+ this.setScale(layer);
183
+ this.setStyleAttributeField(layer, 'color', color);
184
+ this.setStyleAttributeField(layer, 'size', size);
185
+ } else {
186
+ layer.style({
187
+ color: basemapColor,
188
+ size: basemapSize
189
+ });
190
+ } // set mask
191
+
169
192
 
170
193
  var layers = [layer];
171
194
 
@@ -173,7 +196,12 @@ var TileFactory = /*#__PURE__*/function () {
173
196
  var masklayer = new _mask.default().source({
174
197
  type: 'FeatureCollection',
175
198
  features: [tile.bboxPolygon]
176
- }).shape('fill');
199
+ }, {
200
+ parser: {
201
+ type: 'geojson',
202
+ cancelExtent: true
203
+ }
204
+ });
177
205
  layers.push(masklayer);
178
206
  layer.addMaskLayer(masklayer);
179
207
  } // regist layer
@@ -193,7 +221,7 @@ var TileFactory = /*#__PURE__*/function () {
193
221
  value: function getDefautStyleAttributeField(layer, type) {
194
222
  switch (type) {
195
223
  case 'size':
196
- return 2;
224
+ return 1;
197
225
 
198
226
  case 'color':
199
227
  return '#fff';
@@ -272,8 +300,7 @@ var TileFactory = /*#__PURE__*/function () {
272
300
  var tiles = this.tilesetManager.tiles.filter(function (t) {
273
301
  return t.key === "".concat(xy[0], ",").concat(xy[1], ",").concat(z);
274
302
  });
275
- var tile = tiles[0];
276
- return tile;
303
+ return tiles[0];
277
304
  }
278
305
  }, {
279
306
  key: "emitEvent",
@@ -292,7 +319,7 @@ var TileFactory = /*#__PURE__*/function () {
292
319
 
293
320
  var tile = _this.getTile(lng, lat);
294
321
 
295
- _this.getFeatureAndEmitEvent(layer, 'subLayerClick', e, isVector, tile);
322
+ tile && _this.getFeatureAndEmitEvent(layer, 'subLayerClick', e, isVector, tile);
296
323
  } else {
297
324
  _this.getFeatureAndEmitEvent(layer, 'subLayerClick', e);
298
325
  }
@@ -307,7 +334,7 @@ var TileFactory = /*#__PURE__*/function () {
307
334
 
308
335
  var tile = _this.getTile(lng, lat);
309
336
 
310
- _this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e, isVector, tile);
337
+ tile && _this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e, isVector, tile);
311
338
  } else {
312
339
  _this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e);
313
340
  }
@@ -325,7 +352,7 @@ var TileFactory = /*#__PURE__*/function () {
325
352
 
326
353
  var tile = _this.getTile(lng, lat);
327
354
 
328
- _this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e, isVector, tile);
355
+ tile && _this.getFeatureAndEmitEvent(layer, 'subLayerMouseMove', e, isVector, tile);
329
356
  } else {
330
357
  _this.getFeatureAndEmitEvent(layer, 'subLayerMouseEnter', e);
331
358
  }
@@ -58,6 +58,9 @@ var VectorPolygonTile = /*#__PURE__*/function (_TileFactory) {
58
58
  vectorTileLayer: vectorTileLayer,
59
59
  source: source
60
60
  });
61
+ layer.once('modelLoaded', function () {
62
+ tile.layerLoad();
63
+ });
61
64
  return {
62
65
  layers: [layer],
63
66
  layerIDList: [layer.id]
@@ -58,6 +58,9 @@ var VectorPolygonTile = /*#__PURE__*/function (_TileFactory) {
58
58
  vectorTileLayer: vectorTileLayer,
59
59
  source: source
60
60
  });
61
+ layer.once('modelLoaded', function () {
62
+ tile.layerLoad();
63
+ });
61
64
  return {
62
65
  layers: [layer],
63
66
  layerIDList: [layer.id]
@@ -58,6 +58,9 @@ var VectorPolygonTile = /*#__PURE__*/function (_TileFactory) {
58
58
  vectorTileLayer: vectorTileLayer,
59
59
  source: source
60
60
  });
61
+ layer.once('modelLoaded', function () {
62
+ tile.layerLoad();
63
+ });
61
64
  return {
62
65
  layers: [layer],
63
66
  layerIDList: [layer.id]