@antv/l7-layers 2.12.2 → 2.13.1

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 (99) hide show
  1. package/es/core/BaseLayer.d.ts +1 -1
  2. package/es/core/BaseLayer.js +18 -7
  3. package/es/core/TextureService.d.ts +4 -3
  4. package/es/core/TextureService.js +32 -10
  5. package/es/core/interface.d.ts +5 -6
  6. package/es/core/interface.js +7 -0
  7. package/es/line/index.d.ts +1 -1
  8. package/es/line/models/index.d.ts +1 -1
  9. package/es/line/models/index.js +0 -2
  10. package/es/line/models/line.d.ts +0 -1
  11. package/es/line/models/line.js +0 -9
  12. package/es/plugins/DataMappingPlugin.js +10 -7
  13. package/es/point/index.d.ts +1 -1
  14. package/es/point/models/fill.d.ts +0 -14
  15. package/es/point/models/fill.js +9 -100
  16. package/es/point/models/fillmage.d.ts +0 -5
  17. package/es/point/models/fillmage.js +15 -65
  18. package/es/point/models/index.d.ts +1 -1
  19. package/es/point/models/index.js +0 -4
  20. package/es/point/models/radar.d.ts +0 -7
  21. package/es/point/models/radar.js +13 -79
  22. package/es/point/models/text.js +1 -1
  23. package/es/point/shaders/fill_vert.glsl +9 -26
  24. package/es/point/shaders/image/fillImage_vert.glsl +8 -14
  25. package/es/point/shaders/radar/radar_vert.glsl +12 -19
  26. package/es/point/shaders/text_vert.glsl +1 -1
  27. package/es/polygon/index.js +0 -2
  28. package/es/polygon/models/index.d.ts +1 -1
  29. package/es/polygon/models/index.js +2 -4
  30. package/es/raster/models/raster.d.ts +0 -2
  31. package/es/raster/models/raster.js +6 -22
  32. package/es/raster/models/rasterTerrainRgb.js +6 -6
  33. package/es/raster/shaders/raster_2d_frag.glsl +1 -0
  34. package/es/tile/tileFactory/RasterRGBTile.js +0 -1
  35. package/es/tile/tileFactory/RasterTile.js +13 -8
  36. package/lib/core/BaseLayer.js +17 -6
  37. package/lib/core/TextureService.js +31 -9
  38. package/lib/core/interface.js +9 -1
  39. package/lib/line/models/index.js +0 -3
  40. package/lib/line/models/line.js +0 -8
  41. package/lib/plugins/DataMappingPlugin.js +10 -7
  42. package/lib/point/models/fill.js +8 -98
  43. package/lib/point/models/fillmage.js +16 -67
  44. package/lib/point/models/index.js +0 -6
  45. package/lib/point/models/radar.js +13 -80
  46. package/lib/point/models/text.js +1 -1
  47. package/lib/point/shaders/fill_vert.glsl +9 -26
  48. package/lib/point/shaders/image/fillImage_vert.glsl +8 -14
  49. package/lib/point/shaders/radar/radar_vert.glsl +12 -19
  50. package/lib/point/shaders/text_vert.glsl +1 -1
  51. package/lib/polygon/index.js +0 -2
  52. package/lib/polygon/models/index.js +2 -5
  53. package/lib/raster/models/raster.js +5 -21
  54. package/lib/raster/models/rasterTerrainRgb.js +5 -5
  55. package/lib/raster/shaders/raster_2d_frag.glsl +1 -0
  56. package/lib/tile/tileFactory/RasterTile.js +14 -8
  57. package/package.json +6 -6
  58. package/es/line/models/tile.d.ts +0 -8
  59. package/es/line/models/tile.js +0 -201
  60. package/es/line/shaders/tile/line_tile_map_vert.glsl +0 -25
  61. package/es/line/shaders/tile/line_tile_vert.glsl +0 -52
  62. package/es/line/shaders/tile/simpleline_map_vert.glsl +0 -15
  63. package/es/line/shaders/tile/simpleline_vert.glsl +0 -21
  64. package/es/point/models/tile.d.ts +0 -15
  65. package/es/point/models/tile.js +0 -217
  66. package/es/point/models/tileText.d.ts +0 -52
  67. package/es/point/models/tileText.js +0 -544
  68. package/es/point/shaders/tile/fill_tile_frag.glsl +0 -76
  69. package/es/point/shaders/tile/fill_tile_vert.glsl +0 -78
  70. package/es/point/shaders/tile/text_frag.glsl +0 -33
  71. package/es/point/shaders/tile/text_map_frag.glsl +0 -31
  72. package/es/point/shaders/tile/text_map_vert.glsl +0 -38
  73. package/es/point/shaders/tile/text_vert.glsl +0 -48
  74. package/es/polygon/models/tile.d.ts +0 -12
  75. package/es/polygon/models/tile.js +0 -141
  76. package/es/polygon/shaders/tile/polygon_tile_map_vert.glsl +0 -16
  77. package/es/polygon/shaders/tile/polygon_tile_vert.glsl +0 -42
  78. package/es/raster/models/rasterTile.d.ts +0 -18
  79. package/es/raster/models/rasterTile.js +0 -180
  80. package/es/tile/tileFactory/layers/RasterDataLayer.d.ts +0 -11
  81. package/es/tile/tileFactory/layers/RasterDataLayer.js +0 -89
  82. package/lib/line/models/tile.js +0 -217
  83. package/lib/line/shaders/tile/line_tile_map_vert.glsl +0 -25
  84. package/lib/line/shaders/tile/line_tile_vert.glsl +0 -52
  85. package/lib/line/shaders/tile/simpleline_map_vert.glsl +0 -15
  86. package/lib/line/shaders/tile/simpleline_vert.glsl +0 -21
  87. package/lib/point/models/tile.js +0 -233
  88. package/lib/point/models/tileText.js +0 -560
  89. package/lib/point/shaders/tile/fill_tile_frag.glsl +0 -76
  90. package/lib/point/shaders/tile/fill_tile_vert.glsl +0 -78
  91. package/lib/point/shaders/tile/text_frag.glsl +0 -33
  92. package/lib/point/shaders/tile/text_map_frag.glsl +0 -31
  93. package/lib/point/shaders/tile/text_map_vert.glsl +0 -38
  94. package/lib/point/shaders/tile/text_vert.glsl +0 -48
  95. package/lib/polygon/models/tile.js +0 -156
  96. package/lib/polygon/shaders/tile/polygon_tile_map_vert.glsl +0 -16
  97. package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +0 -42
  98. package/lib/raster/models/rasterTile.js +0 -196
  99. package/lib/tile/tileFactory/layers/RasterDataLayer.js +0 -105
@@ -9,24 +9,18 @@ exports.default = void 0;
9
9
 
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
 
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
13
 
16
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
15
 
18
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
17
 
20
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
21
-
22
18
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
19
 
24
20
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
25
21
 
26
22
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
23
 
28
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
-
30
24
  var _l7Core = require("@antv/l7-core");
31
25
 
32
26
  var _l7Utils = require("@antv/l7-utils");
@@ -35,7 +29,7 @@ var _lodash = require("lodash");
35
29
 
36
30
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
37
31
 
38
- var _l7Maps = require("@antv/l7-maps");
32
+ var _interface = require("../../core/interface");
39
33
 
40
34
  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); }; }
41
35
 
@@ -49,7 +43,7 @@ var waveFillFrag = "\nuniform float u_additive;\n\nvarying mat4 styleMappingMat;
49
43
  var pointFillFrag = "uniform float u_additive;\n\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\n\n#pragma include \"sdf_2d\"\n#pragma include \"picking\"\n\n\nvoid main() {\n int shape = int(floor(v_data.w + 0.5));\n\n vec4 textrueStroke = vec4(\n styleMappingMat[1][0],\n styleMappingMat[1][1],\n styleMappingMat[1][2],\n styleMappingMat[1][3]\n );\n\n float opacity = styleMappingMat[0][0];\n float stroke_opacity = styleMappingMat[0][1];\n float strokeWidth = styleMappingMat[0][2];\n vec4 strokeColor = textrueStroke == vec4(0) ? v_color : textrueStroke;\n\n lowp float antialiasblur = v_data.z;\n float r = v_radius / (v_radius + strokeWidth);\n\n float outer_df;\n float inner_df;\n // 'circle', 'triangle', 'square', 'pentagon', 'hexagon', 'octogon', 'hexagram', 'rhombus', 'vesica'\n if (shape == 0) {\n outer_df = sdCircle(v_data.xy, 1.0);\n inner_df = sdCircle(v_data.xy, r);\n } else if (shape == 1) {\n outer_df = sdEquilateralTriangle(1.1 * v_data.xy);\n inner_df = sdEquilateralTriangle(1.1 / r * v_data.xy);\n } else if (shape == 2) {\n outer_df = sdBox(v_data.xy, vec2(1.));\n inner_df = sdBox(v_data.xy, vec2(r));\n } else if (shape == 3) {\n outer_df = sdPentagon(v_data.xy, 0.8);\n inner_df = sdPentagon(v_data.xy, r * 0.8);\n } else if (shape == 4) {\n outer_df = sdHexagon(v_data.xy, 0.8);\n inner_df = sdHexagon(v_data.xy, r * 0.8);\n } else if (shape == 5) {\n outer_df = sdOctogon(v_data.xy, 1.0);\n inner_df = sdOctogon(v_data.xy, r);\n } else if (shape == 6) {\n outer_df = sdHexagram(v_data.xy, 0.52);\n inner_df = sdHexagram(v_data.xy, r * 0.52);\n } else if (shape == 7) {\n outer_df = sdRhombus(v_data.xy, vec2(1.0));\n inner_df = sdRhombus(v_data.xy, vec2(r));\n } else if (shape == 8) {\n outer_df = sdVesica(v_data.xy, 1.1, 0.8);\n inner_df = sdVesica(v_data.xy, r * 1.1, r * 0.8);\n }\n\n float opacity_t = smoothstep(0.0, antialiasblur, outer_df);\n\n float color_t = strokeWidth < 0.01 ? 0.0 : smoothstep(\n antialiasblur,\n 0.0,\n inner_df\n );\n\n if(strokeWidth < 0.01) {\n gl_FragColor = vec4(v_color.rgb, v_color.a * opacity);\n } else {\n gl_FragColor = mix(vec4(v_color.rgb, v_color.a * opacity), strokeColor * stroke_opacity, color_t);\n }\n\n if(u_additive > 0.0) {\n gl_FragColor *= opacity_t;\n gl_FragColor = filterColorAlpha(gl_FragColor, gl_FragColor.a);\n } else {\n gl_FragColor.a *= opacity_t;\n gl_FragColor = filterColor(gl_FragColor);\n }\n}\n";
50
44
 
51
45
  /* babel-plugin-inline-import '../shaders/fill_vert.glsl' */
52
- var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nattribute float a_Shape;\n\nvarying mat4 styleMappingMat; // \u7528\u4E8E\u5C06\u5728\u9876\u70B9\u7740\u8272\u5668\u4E2D\u8BA1\u7B97\u597D\u7684\u6837\u5F0F\u503C\u4F20\u9012\u7ED9\u7247\u5143\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform float u_meter2coord;\nuniform float u_meteryScale;\nuniform float u_isMeter;\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\n\nuniform float u_opacity : 1;\nuniform float u_stroke_opacity : 1;\nuniform float u_stroke_width : 2;\nuniform vec4 u_stroke_color : [0.0, 0.0, 0.0, 0.0];\nuniform vec2 u_offsets;\n\nuniform float u_blur : 0.0;\nuniform float u_raisingHeight: 0.0;\nuniform float u_heightfixed: 0.0;\n\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n#pragma include \"styleMappingCalStrokeOpacity\"\n#pragma include \"styleMappingCalStrokeWidth\"\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\n\nvoid main() {\n vec3 extrude = a_Extrude;\n float shape_type = a_Shape;\n /*\n * setPickingSize \u8BBE\u7F6E\u62FE\u53D6\u5927\u5C0F\n * u_meter2coord \u5728\u7B49\u9762\u79EF\u5927\u5C0F\u7684\u65F6\u5019\u8BBE\u7F6E\u5355\u4F4D\n */\n float newSize = setPickingSize(a_Size) * u_meter2coord;\n // float newSize = setPickingSize(a_Size) * 0.00001038445708445579;\n\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n styleMappingMat = mat4(\n 0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - empty\n 0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA\n 0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]\n 0.0, 0.0, 0.0, 0.0\n );\n\n float rowCount = u_cellTypeLayout[0][0]; // \u5F53\u524D\u7684\u6570\u636E\u7EB9\u7406\u6709\u51E0\u884C\n float columnCount = u_cellTypeLayout[0][1]; // \u5F53\u770B\u5230\u6570\u636E\u7EB9\u7406\u6709\u51E0\u5217\n float columnWidth = 1.0/columnCount; // \u5217\u5BBD\n float rowHeight = 1.0/rowCount; // \u884C\u9AD8\n float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets\n float id = a_vertexId; // \u7B2Cn\u4E2A\u9876\u70B9\n float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u884C\n float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u5217\n \n // cell \u56FA\u5B9A\u987A\u5E8F opacity -> strokeOpacity -> strokeWidth -> stroke ... \n // \u6309\u987A\u5E8F\u4ECE cell \u4E2D\u53D6\u503C\u3001\u82E5\u6CA1\u6709\u5219\u81EA\u52A8\u5F80\u4E0B\u53D6\u503C\n float textureOffset = 0.0; // \u5728 cell \u4E2D\u53D6\u503C\u7684\u504F\u79FB\u91CF\n\n vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][0] = opacityAndOffset.r;\n textureOffset = opacityAndOffset.g;\n\n vec2 strokeOpacityAndOffset = calStrokeOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][1] = strokeOpacityAndOffset.r;\n textureOffset = strokeOpacityAndOffset.g;\n\n vec2 strokeWidthAndOffset = calStrokeWidthAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][2] = strokeWidthAndOffset.r;\n textureOffset = strokeWidthAndOffset.g;\n\n vec4 textrueStroke = vec4(-1.0, -1.0, -1.0, -1.0);\n if(hasStroke()) {\n vec2 valueRPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][0] = pos2value(valueRPos, columnWidth, rowHeight); // R\n textureOffset += 1.0;\n\n vec2 valueGPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][1] = pos2value(valueGPos, columnWidth, rowHeight); // G\n textureOffset += 1.0;\n\n vec2 valueBPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][2] = pos2value(valueBPos, columnWidth, rowHeight); // B\n textureOffset += 1.0;\n\n vec2 valueAPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][3] = pos2value(valueAPos, columnWidth, rowHeight); // A\n textureOffset += 1.0;\n } else {\n if(u_stroke_color == vec4(0.0)) {\n styleMappingMat[1][0] = v_color.r;\n styleMappingMat[1][1] = v_color.g;\n styleMappingMat[1][2] = v_color.b;\n styleMappingMat[1][3] = v_color.a;\n } else {\n styleMappingMat[1][0] = u_stroke_color.r;\n styleMappingMat[1][1] = u_stroke_color.g;\n styleMappingMat[1][2] = u_stroke_color.b;\n styleMappingMat[1][3] = u_stroke_color.a;\n }\n }\n\n vec2 textrueOffsets = vec2(0.0, 0.0);\n if(hasOffsets()) {\n vec2 valueXPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n textrueOffsets.r = pos2value(valueXPos, columnWidth, rowHeight); // x\n textureOffset += 1.0;\n\n vec2 valueYPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n textrueOffsets.g = pos2value(valueYPos, columnWidth, rowHeight); // x\n textureOffset += 1.0;\n } else {\n textrueOffsets = u_offsets;\n }\n\n // cal style mapping\n\n // unpack color(vec2)\n v_color = a_Color;\n\n // radius(16-bit)\n v_radius = newSize;\n\n // anti-alias\n // float antialiased_blur = -max(u_blur, antialiasblur);\n float antialiasblur = -max(2.0 / u_DevicePixelRatio / newSize, u_blur);\n\n vec2 offset = (extrude.xy * (newSize + u_stroke_width) + textrueOffsets);\n vec3 aPosition = a_Position;\n if(u_isMeter < 1.0) {\n // \u4E0D\u4EE5\u7C73\u4E3A\u5B9E\u9645\u5355\u4F4D\n offset = project_pixel(offset);\n } else {\n // \u4EE5\u7C73\u4E3A\u5B9E\u9645\u5355\u4F4D\n if(newSize * pow(2.0, u_Zoom) < 48.0) {\n antialiasblur = max(antialiasblur, -0.05);\n } else if(newSize * pow(2.0, u_Zoom) < 128.0) {\n antialiasblur = max(antialiasblur, -0.6/pow(u_Zoom, 2.0));\n } else {\n antialiasblur = max(antialiasblur, -0.8/pow(u_Zoom, 2.0));\n }\n \n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n aPosition.x += offset.x / u_meteryScale;\n aPosition.y += offset.y;\n offset = vec2(0.0);\n }\n }\n\n // TODP: /abs(extrude.x) \u662F\u4E3A\u4E86\u517C\u5BB9\u5730\u7403\u6A21\u5F0F\n v_data = vec4(extrude.x/abs(extrude.x), extrude.y/abs(extrude.y), antialiasblur,shape_type);\n\n\n // vec4 project_pos = project_position(vec4(a_Position.xy, 0.0, 1.0));\n vec4 project_pos = project_position(vec4(aPosition.xy, 0.0, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, project_pixel(setPickingOrder(0.0)), 1.0));\n\n float raisingHeight = u_raisingHeight;\n\n if(u_heightfixed < 1.0) { // false\n raisingHeight = project_pixel(u_raisingHeight);\n } else {\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);\n raisingHeight = u_raisingHeight * mapboxZoomScale;\n }\n }\n \n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * vec4(project_pos.xy + offset, raisingHeight, 1.0);\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, raisingHeight, 1.0));\n }\n \n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n\n setPickingColor(a_PickingColor);\n}\n";
46
+ var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nattribute float a_Shape;\n\nvarying mat4 styleMappingMat; // \u7528\u4E8E\u5C06\u5728\u9876\u70B9\u7740\u8272\u5668\u4E2D\u8BA1\u7B97\u597D\u7684\u6837\u5F0F\u503C\u4F20\u9012\u7ED9\u7247\u5143\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform int u_Size_Unit;\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\n\nuniform float u_opacity : 1;\nuniform float u_stroke_opacity : 1;\nuniform float u_stroke_width : 2;\nuniform vec4 u_stroke_color : [0.0, 0.0, 0.0, 0.0];\nuniform vec2 u_offsets;\n\nuniform float u_blur : 0.0;\nuniform float u_raisingHeight: 0.0;\nuniform float u_heightfixed: 0.0;\n\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n#pragma include \"styleMappingCalStrokeOpacity\"\n#pragma include \"styleMappingCalStrokeWidth\"\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\n\nvoid main() {\n vec3 extrude = a_Extrude;\n float shape_type = a_Shape;\n /*\n * setPickingSize \u8BBE\u7F6E\u62FE\u53D6\u5927\u5C0F\n * u_meter2coord \u5728\u7B49\u9762\u79EF\u5927\u5C0F\u7684\u65F6\u5019\u8BBE\u7F6E\u5355\u4F4D\n */\n float newSize = setPickingSize(a_Size);\n // float newSize = setPickingSize(a_Size) * 0.00001038445708445579;\n\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n styleMappingMat = mat4(\n 0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - empty\n 0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA\n 0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]\n 0.0, 0.0, 0.0, 0.0\n );\n\n float rowCount = u_cellTypeLayout[0][0]; // \u5F53\u524D\u7684\u6570\u636E\u7EB9\u7406\u6709\u51E0\u884C\n float columnCount = u_cellTypeLayout[0][1]; // \u5F53\u770B\u5230\u6570\u636E\u7EB9\u7406\u6709\u51E0\u5217\n float columnWidth = 1.0/columnCount; // \u5217\u5BBD\n float rowHeight = 1.0/rowCount; // \u884C\u9AD8\n float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets\n float id = a_vertexId; // \u7B2Cn\u4E2A\u9876\u70B9\n float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u884C\n float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u5217\n \n // cell \u56FA\u5B9A\u987A\u5E8F opacity -> strokeOpacity -> strokeWidth -> stroke ... \n // \u6309\u987A\u5E8F\u4ECE cell \u4E2D\u53D6\u503C\u3001\u82E5\u6CA1\u6709\u5219\u81EA\u52A8\u5F80\u4E0B\u53D6\u503C\n float textureOffset = 0.0; // \u5728 cell \u4E2D\u53D6\u503C\u7684\u504F\u79FB\u91CF\n\n vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][0] = opacityAndOffset.r;\n textureOffset = opacityAndOffset.g;\n\n vec2 strokeOpacityAndOffset = calStrokeOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][1] = strokeOpacityAndOffset.r;\n textureOffset = strokeOpacityAndOffset.g;\n\n vec2 strokeWidthAndOffset = calStrokeWidthAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][2] = strokeWidthAndOffset.r;\n textureOffset = strokeWidthAndOffset.g;\n\n vec4 textrueStroke = vec4(-1.0, -1.0, -1.0, -1.0);\n if(hasStroke()) {\n vec2 valueRPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][0] = pos2value(valueRPos, columnWidth, rowHeight); // R\n textureOffset += 1.0;\n\n vec2 valueGPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][1] = pos2value(valueGPos, columnWidth, rowHeight); // G\n textureOffset += 1.0;\n\n vec2 valueBPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][2] = pos2value(valueBPos, columnWidth, rowHeight); // B\n textureOffset += 1.0;\n\n vec2 valueAPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][3] = pos2value(valueAPos, columnWidth, rowHeight); // A\n textureOffset += 1.0;\n } else {\n if(u_stroke_color == vec4(0.0)) {\n styleMappingMat[1][0] = v_color.r;\n styleMappingMat[1][1] = v_color.g;\n styleMappingMat[1][2] = v_color.b;\n styleMappingMat[1][3] = v_color.a;\n } else {\n styleMappingMat[1][0] = u_stroke_color.r;\n styleMappingMat[1][1] = u_stroke_color.g;\n styleMappingMat[1][2] = u_stroke_color.b;\n styleMappingMat[1][3] = u_stroke_color.a;\n }\n }\n\n vec2 textrueOffsets = vec2(0.0, 0.0);\n if(hasOffsets()) {\n vec2 valueXPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n textrueOffsets.r = pos2value(valueXPos, columnWidth, rowHeight); // x\n textureOffset += 1.0;\n\n vec2 valueYPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n textrueOffsets.g = pos2value(valueYPos, columnWidth, rowHeight); // x\n textureOffset += 1.0;\n } else {\n textrueOffsets = u_offsets;\n }\n\n // cal style mapping\n\n // unpack color(vec2)\n v_color = a_Color;\nif(u_Size_Unit == 1) {\n newSize = newSize * u_PixelsPerMeter.z;\n }\n\n v_radius = newSize;\n\n // anti-alias\n // float antialiased_blur = -max(u_blur, antialiasblur);\n float antialiasblur = -max(2.0 / u_DevicePixelRatio / newSize, u_blur);\n\n vec2 offset = (extrude.xy * (newSize + u_stroke_width) + textrueOffsets);\n vec3 aPosition = a_Position;\n\n offset = project_pixel(offset);\n \n // TODP: /abs(extrude.x) \u662F\u4E3A\u4E86\u517C\u5BB9\u5730\u7403\u6A21\u5F0F\n v_data = vec4(extrude.x/abs(extrude.x), extrude.y/abs(extrude.y), antialiasblur,shape_type);\n\n\n // vec4 project_pos = project_position(vec4(a_Position.xy, 0.0, 1.0));\n vec4 project_pos = project_position(vec4(aPosition.xy, 0.0, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, project_pixel(setPickingOrder(0.0)), 1.0));\n\n float raisingHeight = u_raisingHeight;\n\n if(u_heightfixed < 1.0) { // false\n raisingHeight = project_pixel(u_raisingHeight);\n } else {\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);\n raisingHeight = u_raisingHeight * mapboxZoomScale;\n }\n }\n \n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * vec4(project_pos.xy + offset, raisingHeight, 1.0);\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, raisingHeight, 1.0));\n }\n \n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n\n setPickingColor(a_PickingColor);\n}\n";
53
47
 
54
48
  var FillModel = /*#__PURE__*/function (_BaseModel) {
55
49
  (0, _inherits2.default)(FillModel, _BaseModel);
@@ -57,20 +51,8 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
57
51
  var _super = _createSuper(FillModel);
58
52
 
59
53
  function FillModel() {
60
- var _this;
61
-
62
54
  (0, _classCallCheck2.default)(this, FillModel);
63
-
64
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
65
- args[_key] = arguments[_key];
66
- }
67
-
68
- _this = _super.call.apply(_super, [this].concat(args));
69
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meter2coord", 1);
70
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meterYScale", 1);
71
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isMeter", false);
72
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "unit", 'l7size');
73
- return _this;
55
+ return _super.apply(this, arguments);
74
56
  }
75
57
 
76
58
  (0, _createClass2.default)(FillModel, [{
@@ -95,9 +77,7 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
95
77
  _ref$heightfixed = _ref.heightfixed,
96
78
  heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed,
97
79
  _ref$unit = _ref.unit,
98
- unit = _ref$unit === void 0 ? 'l7size' : _ref$unit;
99
-
100
- this.updateUnit(unit);
80
+ unit = _ref$unit === void 0 ? 'pixel' : _ref$unit;
101
81
 
102
82
  if (this.dataTextureTest && this.dataTextureNeedUpdate({
103
83
  opacity: opacity,
@@ -143,9 +123,6 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
143
123
  return {
144
124
  u_raisingHeight: Number(raisingHeight),
145
125
  u_heightfixed: Number(heightfixed),
146
- u_meter2coord: this.meter2coord,
147
- u_meteryScale: this.meterYScale,
148
- u_isMeter: Number(this.isMeter),
149
126
  u_blur: blur,
150
127
  u_additive: blend === 'additive' ? 1.0 : 0.0,
151
128
  u_dataTexture: this.dataTexture,
@@ -155,6 +132,7 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
155
132
  u_stroke_opacity: (0, _lodash.isNumber)(strokeOpacity) ? strokeOpacity : 1.0,
156
133
  u_stroke_width: (0, _lodash.isNumber)(strokeWidth) ? strokeWidth : 1.0,
157
134
  u_stroke_color: this.getStrokeColor(stroke),
135
+ u_Size_Unit: _interface.SizeUnitType[unit],
158
136
  u_offsets: this.isOffsetStatic(offsets) ? offsets : [0, 0]
159
137
  };
160
138
  }
@@ -185,14 +163,13 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
185
163
  while (1) {
186
164
  switch (_context.prev = _context.next) {
187
165
  case 0:
188
- this.updateUnit('l7size');
189
- _context.next = 3;
166
+ _context.next = 2;
190
167
  return this.buildModels();
191
168
 
192
- case 3:
169
+ case 2:
193
170
  return _context.abrupt("return", _context.sent);
194
171
 
195
- case 4:
172
+ case 3:
196
173
  case "end":
197
174
  return _context.stop();
198
175
  }
@@ -206,50 +183,6 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
206
183
 
207
184
  return initModels;
208
185
  }()
209
- /**
210
- * 计算等面积点图层(unit meter)笛卡尔坐标标度与世界坐标标度的比例
211
- * @returns
212
- */
213
-
214
- }, {
215
- key: "calMeter2Coord",
216
- value: function calMeter2Coord() {
217
- var _this$layer$getSource = (0, _slicedToArray2.default)(this.layer.getSource().extent, 4),
218
- minLng = _this$layer$getSource[0],
219
- minLat = _this$layer$getSource[1],
220
- maxLng = _this$layer$getSource[2],
221
- maxLat = _this$layer$getSource[3];
222
-
223
- var center = [(minLng + maxLng) / 2, (minLat + maxLat) / 2];
224
- var version = this.mapService.version;
225
- var mapboxContext = _l7Utils.$window === null || _l7Utils.$window === void 0 ? void 0 : _l7Utils.$window.mapboxgl;
226
-
227
- if (version === _l7Maps.Version.MAPBOX && mapboxContext !== null && mapboxContext !== void 0 && mapboxContext.MercatorCoordinate) {
228
- // 参考:
229
- // https://docs.mapbox.com/mapbox-gl-js/api/geography/#mercatorcoordinate#meterinmercatorcoordinateunits
230
- var coord = mapboxContext.MercatorCoordinate.fromLngLat({
231
- lng: center[0],
232
- lat: center[1]
233
- }, 0);
234
- var offsetInMercatorCoordinateUnits = coord.meterInMercatorCoordinateUnits();
235
- var westCoord = new mapboxContext.MercatorCoordinate(coord.x - offsetInMercatorCoordinateUnits, coord.y, coord.z);
236
- var westLnglat = westCoord.toLngLat();
237
- var southCoord = new mapboxContext.MercatorCoordinate(coord.x, coord.y - offsetInMercatorCoordinateUnits, coord.z);
238
- var southLnglat = southCoord.toLngLat();
239
- this.meter2coord = center[0] - westLnglat.lng;
240
- this.meterYScale = (southLnglat.lat - center[1]) / this.meter2coord;
241
- return;
242
- }
243
-
244
- var m1 = this.mapService.meterToCoord(center, [minLng, minLat]);
245
- var m2 = this.mapService.meterToCoord(center, [maxLng === minLng ? maxLng + 0.1 : maxLng, maxLat === minLat ? minLat + 0.1 : maxLat]);
246
- this.meter2coord = (m1 + m2) / 2;
247
-
248
- if (!this.meter2coord) {
249
- // Tip: 兼容单个数据导致的 m1、m2 为 NaN
250
- this.meter2coord = 7.70681090738883;
251
- }
252
- }
253
186
  }, {
254
187
  key: "buildModels",
255
188
  value: function () {
@@ -412,29 +345,6 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
412
345
  }
413
346
  });
414
347
  }
415
- /**
416
- * 判断是否更新点图层的计量单位
417
- * @param unit
418
- */
419
-
420
- }, {
421
- key: "updateUnit",
422
- value: function updateUnit(unit) {
423
- var version = this.mapService.version;
424
-
425
- if (this.unit !== unit) {
426
- // l7size => meter
427
- if (this.unit !== 'meter' && unit === 'meter' && version !== _l7Maps.Version.DEFUALT && version !== _l7Maps.Version.GLOBEL) {
428
- this.isMeter = true;
429
- this.calMeter2Coord(); // meter => l7size
430
- } else if (this.unit === 'meter' && unit !== 'meter') {
431
- this.isMeter = false;
432
- this.meter2coord = 1;
433
- }
434
-
435
- this.unit = unit;
436
- }
437
- }
438
348
  }]);
439
349
  return FillModel;
440
350
  }(_BaseModel2.default);
@@ -9,8 +9,6 @@ exports.default = void 0;
9
9
 
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
 
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
13
 
16
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -29,8 +27,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
29
27
 
30
28
  var _l7Core = require("@antv/l7-core");
31
29
 
32
- var _l7Maps = require("@antv/l7-maps");
33
-
34
30
  var _l7Utils = require("@antv/l7-utils");
35
31
 
36
32
  var _lodash = require("lodash");
@@ -39,6 +35,8 @@ var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
39
35
 
40
36
  var _triangulation = require("../../core/triangulation");
41
37
 
38
+ var _interface = require("../../core/interface");
39
+
42
40
  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); }; }
43
41
 
44
42
  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; } }
@@ -48,7 +46,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
48
46
  var pointFillFrag = "uniform sampler2D u_texture;\nuniform vec2 u_textSize;\n\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\n#pragma include \"sdf_2d\"\n#pragma include \"picking\"\nvarying vec2 v_uv; // \u672C\u8EAB\u7684 uv \u5750\u6807\nvarying vec2 v_Iconuv;\n\nvoid main() {\n\n float opacity = styleMappingMat[0][0];\n\n vec2 pos = v_Iconuv / u_textSize + v_uv / u_textSize * 64.;\n gl_FragColor = texture2D(u_texture, pos);\n gl_FragColor.a *= opacity;\n\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
49
47
 
50
48
  /* babel-plugin-inline-import '../shaders/image/fillImage_vert.glsl' */
51
- var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nattribute vec2 a_Uv;\nattribute float a_Rotate;\n\nvarying mat4 styleMappingMat; // \u7528\u4E8E\u5C06\u5728\u9876\u70B9\u7740\u8272\u5668\u4E2D\u8BA1\u7B97\u597D\u7684\u6837\u5F0F\u503C\u4F20\u9012\u7ED9\u7247\u5143\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform mat2 u_RotateMatrix;\nuniform float u_isMeter;\n\nvarying vec2 v_uv; // \u672C\u8EAB\u7684 uv \u5750\u6807\nvarying vec2 v_Iconuv; // icon \u8D34\u56FE\u7684 uv \u5750\u6807\n\nuniform float u_raisingHeight: 0.0;\nuniform float u_heightfixed: 0.0;\nuniform float u_opacity : 1;\nuniform vec2 u_offsets;\n\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\n vec3 extrude = a_Extrude;\n\n v_uv = (a_Extrude.xy + 1.0)/2.0;\n v_uv.y = 1.0 - v_uv.y;\n v_Iconuv = a_Uv;\n\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n styleMappingMat = mat4(\n 0.0, 0.0, 0.0, 0.0, // opacity - empty - empty - empty\n 0.0, 0.0, 0.0, 0.0, // empty - empty - empty - empty\n 0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]\n 0.0, 0.0, 0.0, 0.0\n );\n\n float rowCount = u_cellTypeLayout[0][0]; // \u5F53\u524D\u7684\u6570\u636E\u7EB9\u7406\u6709\u51E0\u884C\n float columnCount = u_cellTypeLayout[0][1]; // \u5F53\u770B\u5230\u6570\u636E\u7EB9\u7406\u6709\u51E0\u5217\n float columnWidth = 1.0/columnCount; // \u5217\u5BBD\n float rowHeight = 1.0/rowCount; // \u884C\u9AD8\n float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets\n float id = a_vertexId; // \u7B2Cn\u4E2A\u9876\u70B9\n float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u884C\n float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u5217\n \n // cell \u56FA\u5B9A\u987A\u5E8F opacity -> strokeOpacity -> strokeWidth -> stroke ... \n // \u6309\u987A\u5E8F\u4ECE cell \u4E2D\u53D6\u503C\u3001\u82E5\u6CA1\u6709\u5219\u81EA\u52A8\u5F80\u4E0B\u53D6\u503C\n float textureOffset = 0.0; // \u5728 cell \u4E2D\u53D6\u503C\u7684\u504F\u79FB\u91CF\n\n vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][0] = opacityAndOffset.r;\n textureOffset = opacityAndOffset.g;\n\n vec2 textrueOffsets = vec2(0.0, 0.0);\n if(hasOffsets()) {\n vec2 valueXPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n textrueOffsets.r = pos2value(valueXPos, columnWidth, rowHeight); // x\n textureOffset += 1.0;\n\n vec2 valueYPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n textrueOffsets.g = pos2value(valueYPos, columnWidth, rowHeight); // x\n textureOffset += 1.0;\n } else {\n textrueOffsets = u_offsets;\n }\n\n // cal style mapping\n\n highp float angle_sin = sin(a_Rotate);\n highp float angle_cos = cos(a_Rotate);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n // vec2 offset = (u_RotateMatrix * extrude.xy * (a_Size) + textrueOffsets);\n vec2 offset = (rotation_matrix * u_RotateMatrix * extrude.xy * (a_Size) + textrueOffsets);\n vec3 aPosition = a_Position;\n if(u_isMeter < 1.0) {\n // \u4E0D\u4EE5\u7C73\u4E3A\u5B9E\u9645\u5355\u4F4D\n offset = project_pixel(offset);\n } else {\n // \u4EE5\u7C73\u4E3A\u5B9E\u9645\u5355\u4F4D\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n aPosition.xy += offset;\n offset.x = 0.0;\n offset.y = 0.0;\n }\n }\n\n vec4 project_pos = project_position(vec4(aPosition.xy, 0.0, 1.0));\n float raisingHeight = u_raisingHeight;\n if(u_heightfixed < 1.0) { // height fixed\n raisingHeight = project_pixel(u_raisingHeight);\n } else {\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);\n raisingHeight = u_raisingHeight * mapboxZoomScale;\n }\n }\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * vec4(project_pos.xy + offset, raisingHeight, 1.0);\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, raisingHeight, 1.0));\n }\n \n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n\n setPickingColor(a_PickingColor);\n}\n";
49
+ var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nattribute vec2 a_Uv;\nattribute float a_Rotate;\n\nvarying mat4 styleMappingMat; // \u7528\u4E8E\u5C06\u5728\u9876\u70B9\u7740\u8272\u5668\u4E2D\u8BA1\u7B97\u597D\u7684\u6837\u5F0F\u503C\u4F20\u9012\u7ED9\u7247\u5143\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform mat2 u_RotateMatrix;\nuniform int u_Size_Unit;\n\nvarying vec2 v_uv; // \u672C\u8EAB\u7684 uv \u5750\u6807\nvarying vec2 v_Iconuv; // icon \u8D34\u56FE\u7684 uv \u5750\u6807\n\nuniform float u_raisingHeight: 0.0;\nuniform float u_heightfixed: 0.0;\nuniform float u_opacity : 1;\nuniform vec2 u_offsets;\n\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\n vec3 extrude = a_Extrude;\n\n v_uv = (a_Extrude.xy + 1.0)/2.0;\n v_uv.y = 1.0 - v_uv.y;\n v_Iconuv = a_Uv;\n\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n styleMappingMat = mat4(\n 0.0, 0.0, 0.0, 0.0, // opacity - empty - empty - empty\n 0.0, 0.0, 0.0, 0.0, // empty - empty - empty - empty\n 0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]\n 0.0, 0.0, 0.0, 0.0\n );\n\n float rowCount = u_cellTypeLayout[0][0]; // \u5F53\u524D\u7684\u6570\u636E\u7EB9\u7406\u6709\u51E0\u884C\n float columnCount = u_cellTypeLayout[0][1]; // \u5F53\u770B\u5230\u6570\u636E\u7EB9\u7406\u6709\u51E0\u5217\n float columnWidth = 1.0/columnCount; // \u5217\u5BBD\n float rowHeight = 1.0/rowCount; // \u884C\u9AD8\n float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets\n float id = a_vertexId; // \u7B2Cn\u4E2A\u9876\u70B9\n float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u884C\n float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u5217\n \n // cell \u56FA\u5B9A\u987A\u5E8F opacity -> strokeOpacity -> strokeWidth -> stroke ... \n // \u6309\u987A\u5E8F\u4ECE cell \u4E2D\u53D6\u503C\u3001\u82E5\u6CA1\u6709\u5219\u81EA\u52A8\u5F80\u4E0B\u53D6\u503C\n float textureOffset = 0.0; // \u5728 cell \u4E2D\u53D6\u503C\u7684\u504F\u79FB\u91CF\n\n vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][0] = opacityAndOffset.r;\n textureOffset = opacityAndOffset.g;\n\n vec2 textrueOffsets = vec2(0.0, 0.0);\n if(hasOffsets()) {\n vec2 valueXPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n textrueOffsets.r = pos2value(valueXPos, columnWidth, rowHeight); // x\n textureOffset += 1.0;\n\n vec2 valueYPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n textrueOffsets.g = pos2value(valueYPos, columnWidth, rowHeight); // x\n textureOffset += 1.0;\n } else {\n textrueOffsets = u_offsets;\n }\n\n // cal style mapping\n\n highp float angle_sin = sin(a_Rotate);\n highp float angle_cos = cos(a_Rotate);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n float newSize = a_Size;\n if(u_Size_Unit == 1) {\n newSize = newSize * u_PixelsPerMeter.z;\n }\n\n // vec2 offset = (u_RotateMatrix * extrude.xy * (a_Size) + textrueOffsets);\n vec2 offset = (rotation_matrix * u_RotateMatrix * extrude.xy * (newSize) + textrueOffsets);\n vec3 aPosition = a_Position;\n\n offset = project_pixel(offset);\n\n vec4 project_pos = project_position(vec4(aPosition.xy, 0.0, 1.0));\n float raisingHeight = u_raisingHeight;\n if(u_heightfixed < 1.0) { // height fixed\n raisingHeight = project_pixel(u_raisingHeight);\n } else {\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);\n raisingHeight = u_raisingHeight * mapboxZoomScale;\n }\n }\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp *vec4(project_pos.xy + offset, raisingHeight, 1.0);\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, raisingHeight, 1.0));\n }\n \n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n\n setPickingColor(a_PickingColor);\n}\n";
52
50
 
53
51
  var FillImageModel = /*#__PURE__*/function (_BaseModel) {
54
52
  (0, _inherits2.default)(FillImageModel, _BaseModel);
@@ -111,7 +109,9 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
111
109
  _ref$raisingHeight = _ref.raisingHeight,
112
110
  raisingHeight = _ref$raisingHeight === void 0 ? 0.0 : _ref$raisingHeight,
113
111
  _ref$heightfixed = _ref.heightfixed,
114
- heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed;
112
+ heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed,
113
+ _ref$unit = _ref.unit,
114
+ unit = _ref$unit === void 0 ? 'pixel' : _ref$unit;
115
115
 
116
116
  if (this.rendererService.getDirty()) {
117
117
  this.texture.bind();
@@ -172,7 +172,7 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
172
172
  return {
173
173
  u_raisingHeight: Number(raisingHeight),
174
174
  u_heightfixed: Number(heightfixed),
175
- u_isMeter: Number(this.isMeter),
175
+ u_Size_Unit: _interface.SizeUnitType[unit],
176
176
  u_RotateMatrix: new Float32Array([Math.cos(this.radian), Math.sin(this.radian), -Math.sin(this.radian), Math.cos(this.radian)]),
177
177
  u_dataTexture: this.dataTexture,
178
178
  // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]
@@ -192,29 +192,19 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
192
192
  key: "initModels",
193
193
  value: function () {
194
194
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
195
- var _ref2, _ref2$unit, unit, version;
196
-
197
195
  return _regenerator.default.wrap(function _callee$(_context) {
198
196
  while (1) {
199
197
  switch (_context.prev = _context.next) {
200
198
  case 0:
201
199
  this.iconService.on('imageUpdate', this.updateTexture);
202
200
  this.updateTexture();
203
- _ref2 = this.layer.getLayerConfig(), _ref2$unit = _ref2.unit, unit = _ref2$unit === void 0 ? 'l7size' : _ref2$unit;
204
- version = this.mapService.version;
205
-
206
- if (unit === 'meter' && version !== _l7Maps.Version.DEFUALT && version !== _l7Maps.Version.GLOBEL) {
207
- this.isMeter = true;
208
- this.calMeter2Coord();
209
- }
210
-
211
- _context.next = 7;
201
+ _context.next = 4;
212
202
  return this.buildModels();
213
203
 
214
- case 7:
204
+ case 4:
215
205
  return _context.abrupt("return", _context.sent);
216
206
 
217
- case 8:
207
+ case 5:
218
208
  case "end":
219
209
  return _context.stop();
220
210
  }
@@ -228,58 +218,17 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
228
218
 
229
219
  return initModels;
230
220
  }()
231
- /**
232
- * 计算等面积点图层(unit meter)笛卡尔坐标标度与世界坐标标度的比例
233
- * @returns
234
- */
235
-
236
- }, {
237
- key: "calMeter2Coord",
238
- value: function calMeter2Coord() {
239
- var _this$layer$getSource = (0, _slicedToArray2.default)(this.layer.getSource().extent, 4),
240
- minLng = _this$layer$getSource[0],
241
- minLat = _this$layer$getSource[1],
242
- maxLng = _this$layer$getSource[2],
243
- maxLat = _this$layer$getSource[3];
244
-
245
- var center = [(minLng + maxLng) / 2, (minLat + maxLat) / 2];
246
- var version = this.mapService.version;
247
-
248
- if (version === _l7Maps.Version.MAPBOX && window.mapboxgl.MercatorCoordinate) {
249
- var coord = window.mapboxgl.MercatorCoordinate.fromLngLat({
250
- lng: center[0],
251
- lat: center[1]
252
- }, 0);
253
- var offsetInMeters = 1;
254
- var offsetInMercatorCoordinateUnits = offsetInMeters * coord.meterInMercatorCoordinateUnits();
255
- var westCoord = new window.mapboxgl.MercatorCoordinate(coord.x - offsetInMercatorCoordinateUnits, coord.y, coord.z);
256
- var westLnglat = westCoord.toLngLat();
257
- this.meter2coord = center[0] - westLnglat.lng;
258
- return;
259
- } // @ts-ignore
260
-
261
-
262
- var m1 = this.mapService.meterToCoord(center, [minLng, minLat]); // @ts-ignore
263
-
264
- var m2 = this.mapService.meterToCoord(center, [maxLng === minLng ? maxLng + 0.1 : maxLng, maxLat === minLat ? minLat + 0.1 : maxLat]);
265
- this.meter2coord = (m1 + m2) / 2;
266
-
267
- if (!this.meter2coord) {
268
- // Tip: 兼容单个数据导致的 m1、m2 为 NaN
269
- this.meter2coord = 7.70681090738883;
270
- }
271
- }
272
221
  }, {
273
222
  key: "buildModels",
274
223
  value: function () {
275
224
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
276
- var _ref3, _ref3$mask, mask, _ref3$maskInside, maskInside, model;
225
+ var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, model;
277
226
 
278
227
  return _regenerator.default.wrap(function _callee2$(_context2) {
279
228
  while (1) {
280
229
  switch (_context2.prev = _context2.next) {
281
230
  case 0:
282
- _ref3 = this.layer.getLayerConfig(), _ref3$mask = _ref3.mask, mask = _ref3$mask === void 0 ? false : _ref3$mask, _ref3$maskInside = _ref3.maskInside, maskInside = _ref3$maskInside === void 0 ? true : _ref3$maskInside;
231
+ _ref2 = this.layer.getLayerConfig(), _ref2$mask = _ref2.mask, mask = _ref2$mask === void 0 ? false : _ref2$mask, _ref2$maskInside = _ref2.maskInside, maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
283
232
  _context2.next = 3;
284
233
  return this.layer.buildLayerModel({
285
234
  moduleName: 'pointFillImage',
@@ -365,12 +314,12 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
365
314
 
366
315
  var shape = feature.shape;
367
316
 
368
- var _ref4 = iconMap[shape] || {
317
+ var _ref3 = iconMap[shape] || {
369
318
  x: 0,
370
319
  y: 0
371
320
  },
372
- x = _ref4.x,
373
- y = _ref4.y;
321
+ x = _ref3.x,
322
+ y = _ref3.y;
374
323
 
375
324
  return [x, y];
376
325
  }
@@ -411,7 +360,7 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
411
360
  update: function update(feature) {
412
361
  var _feature$size = feature.size,
413
362
  size = _feature$size === void 0 ? 5 : _feature$size;
414
- return Array.isArray(size) ? [size[0] * _this2.meter2coord] : [size * _this2.meter2coord];
363
+ return Array.isArray(size) ? [size[0]] : [size];
415
364
  }
416
365
  }
417
366
  });
@@ -27,10 +27,6 @@ var _simplePoint = _interopRequireDefault(require("./simplePoint"));
27
27
 
28
28
  var _text = _interopRequireDefault(require("./text"));
29
29
 
30
- var _tileText = _interopRequireDefault(require("./tileText"));
31
-
32
- var _tile = _interopRequireDefault(require("./tile"));
33
-
34
30
  // earth
35
31
  var PointModels = {
36
32
  fillImage: _fillmage.default,
@@ -41,8 +37,6 @@ var PointModels = {
41
37
  simplePoint: _simplePoint.default,
42
38
  extrude: _extrude.default,
43
39
  text: _text.default,
44
- tile: _tile.default,
45
- tileText: _tileText.default,
46
40
  earthFill: _earthFill.default,
47
41
  earthExtrude: _earthExtrude.default
48
42
  };
@@ -9,24 +9,18 @@ exports.default = void 0;
9
9
 
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
 
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
13
 
16
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
15
 
18
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
17
 
20
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
21
-
22
18
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
19
 
24
20
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
25
21
 
26
22
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
23
 
28
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
-
30
24
  var _l7Core = require("@antv/l7-core");
31
25
 
32
26
  var _l7Utils = require("@antv/l7-utils");
@@ -37,7 +31,7 @@ var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
37
31
 
38
32
  var _triangulation = require("../../core/triangulation");
39
33
 
40
- var _l7Maps = require("@antv/l7-maps");
34
+ var _interface = require("../../core/interface");
41
35
 
42
36
  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); }; }
43
37
 
@@ -47,7 +41,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
47
41
  var pointFillFrag = "\nuniform float u_additive;\nuniform float u_opacity: 1.0;\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\nvarying vec2 v_exteude;\n#pragma include \"sdf_2d\"\n#pragma include \"picking\"\n\nvoid main() {\n\n lowp float antialiasblur = v_data.z;\n float r = v_radius / (v_radius);\n\n float outer_df = sdCircle(v_data.xy, 1.0);\n float inner_df = sdCircle(v_data.xy, r);\n\n float opacity_t = smoothstep(0.0, antialiasblur, outer_df);\n\n gl_FragColor = vec4(v_color.rgb, v_color.a * u_opacity);\n\n if(u_additive > 0.0) {\n gl_FragColor *= opacity_t;\n } else {\n gl_FragColor.a *= opacity_t;\n }\n\n if(gl_FragColor.a > 0.0) {\n gl_FragColor = filterColor(gl_FragColor);\n }\n\n vec2 extrude = v_exteude;\n vec2 dir = normalize(extrude);\n vec2 baseDir = vec2(1.0, 0.0);\n float pi = 3.14159265359;\n // full circle\n // float rades = dot(dir, baseDir);\n // float flag = sign(dir.y);\n // float radar_v = (flag - 1.0) * -0.5 + flag * acos(rades)/pi/2.0;\n \n // half circle\n float flag = sign(dir.y);\n float rades = dot(dir, baseDir);\n float radar_v = (flag - 1.0) * -0.5 * acos(rades)/pi;\n // simple AA\n if(radar_v > 0.99) {\n radar_v = 1.0 - (radar_v - 0.99)/0.01;\n }\n\n gl_FragColor.a *= radar_v;\n}\n";
48
42
 
49
43
  /* babel-plugin-inline-import '../shaders/radar/radar_vert.glsl' */
50
- var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nuniform float u_speed: 1.0;\nuniform float u_time;\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform float u_isMeter;\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\nvarying vec2 v_exteude;\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\n vec3 extrude = a_Extrude;\n float newSize = setPickingSize(a_Size);\n\n float time = u_time * u_speed;\n mat2 rotateMatrix = mat2( \n cos(time), sin(time), \n -sin(time), cos(time)\n );\n v_exteude = rotateMatrix * a_Extrude.xy;\n\n // unpack color(vec2)\n v_color = a_Color;\n\n // radius(16-bit)\n v_radius = newSize;\n\n // anti-alias\n float blur = 0.0;\n float antialiasblur = -max(2.0 / u_DevicePixelRatio / a_Size, blur);\n\n vec2 offset = (extrude.xy * (newSize));\n vec3 aPosition = a_Position;\n if(u_isMeter < 1.0) {\n // \u4E0D\u4EE5\u7C73\u4E3A\u5B9E\u9645\u5355\u4F4D\n offset = project_pixel(offset);\n } else {\n // \u4EE5\u7C73\u4E3A\u5B9E\u9645\u5355\u4F4D\n antialiasblur *= pow(19.0 - u_Zoom, 2.0);\n antialiasblur = max(antialiasblur, -0.01);\n // offset *= 0.5;\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n aPosition.xy += offset;\n offset.x = 0.0;\n offset.y = 0.0;\n }\n }\n\n v_data = vec4(extrude.x, extrude.y, antialiasblur, -1.0);\n\n vec4 project_pos = project_position(vec4(aPosition.xy, 0.0, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * vec4(project_pos.xy + offset, 0.0, 1.0);\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, project_pixel(setPickingOrder(0.0)), 1.0));\n }\n\n setPickingColor(a_PickingColor);\n}\n";
44
+ var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nuniform float u_speed: 1.0;\nuniform float u_time;\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform int u_Size_Unit;\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\nvarying vec2 v_exteude;\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\n vec3 extrude = a_Extrude;\n float newSize = setPickingSize(a_Size);\n\n float time = u_time * u_speed;\n mat2 rotateMatrix = mat2( \n cos(time), sin(time), \n -sin(time), cos(time)\n );\n v_exteude = rotateMatrix * a_Extrude.xy;\n\n // unpack color(vec2)\n v_color = a_Color;\n\n\n\n // anti-alias\n float blur = 0.0;\n float antialiasblur = -max(2.0 / u_DevicePixelRatio / a_Size, blur);\n\n if(u_Size_Unit == 1) {\n newSize = newSize * u_PixelsPerMeter.z;\n }\n // radius(16-bit)\n v_radius = newSize;\n\n vec2 offset = (extrude.xy * (newSize));\n vec3 aPosition = a_Position;\n \n // \u4E0D\u4EE5\u7C73\u4E3A\u5B9E\u9645\u5355\u4F4D\n offset = project_pixel(offset);\n \n v_data = vec4(extrude.x, extrude.y, antialiasblur, -1.0);\n\n vec4 project_pos = project_position(vec4(aPosition.xy, 0.0, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp *vec4(project_pos.xy + offset, 0.0, 1.0);\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, project_pixel(setPickingOrder(0.0)), 1.0));\n }\n\n setPickingColor(a_PickingColor);\n}\n";
51
45
 
52
46
  var RadarModel = /*#__PURE__*/function (_BaseModel) {
53
47
  (0, _inherits2.default)(RadarModel, _BaseModel);
@@ -55,18 +49,8 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
55
49
  var _super = _createSuper(RadarModel);
56
50
 
57
51
  function RadarModel() {
58
- var _this;
59
-
60
52
  (0, _classCallCheck2.default)(this, RadarModel);
61
-
62
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
63
- args[_key] = arguments[_key];
64
- }
65
-
66
- _this = _super.call.apply(_super, [this].concat(args));
67
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meter2coord", 1);
68
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isMeter", false);
69
- return _this;
53
+ return _super.apply(this, arguments);
70
54
  }
71
55
 
72
56
  (0, _createClass2.default)(RadarModel, [{
@@ -77,10 +61,12 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
77
61
  opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
78
62
  blend = _ref.blend,
79
63
  _ref$speed = _ref.speed,
80
- speed = _ref$speed === void 0 ? 1 : _ref$speed;
64
+ speed = _ref$speed === void 0 ? 1 : _ref$speed,
65
+ _ref$unit = _ref.unit,
66
+ unit = _ref$unit === void 0 ? 'pixel' : _ref$unit;
81
67
 
82
68
  return {
83
- u_isMeter: Number(this.isMeter),
69
+ u_Size_Unit: _interface.SizeUnitType[unit],
84
70
  u_speed: speed,
85
71
  u_additive: blend === 'additive' ? 1.0 : 0.0,
86
72
  u_opacity: (0, _lodash.isNumber)(opacity) ? opacity : 1.0
@@ -109,27 +95,17 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
109
95
  key: "initModels",
110
96
  value: function () {
111
97
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
112
- var _ref3, _ref3$unit, unit, version;
113
-
114
98
  return _regenerator.default.wrap(function _callee$(_context) {
115
99
  while (1) {
116
100
  switch (_context.prev = _context.next) {
117
101
  case 0:
118
- _ref3 = this.layer.getLayerConfig(), _ref3$unit = _ref3.unit, unit = _ref3$unit === void 0 ? 'l7size' : _ref3$unit;
119
- version = this.mapService.version;
120
-
121
- if (unit === 'meter' && version !== _l7Maps.Version.DEFUALT && version !== _l7Maps.Version.GLOBEL) {
122
- this.isMeter = true;
123
- this.calMeter2Coord();
124
- }
125
-
126
- _context.next = 5;
102
+ _context.next = 2;
127
103
  return this.buildModels();
128
104
 
129
- case 5:
105
+ case 2:
130
106
  return _context.abrupt("return", _context.sent);
131
107
 
132
- case 6:
108
+ case 3:
133
109
  case "end":
134
110
  return _context.stop();
135
111
  }
@@ -143,58 +119,17 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
143
119
 
144
120
  return initModels;
145
121
  }()
146
- /**
147
- * 计算等面积点图层(unit meter)笛卡尔坐标标度与世界坐标标度的比例
148
- * @returns
149
- */
150
-
151
- }, {
152
- key: "calMeter2Coord",
153
- value: function calMeter2Coord() {
154
- var _this$layer$getSource = (0, _slicedToArray2.default)(this.layer.getSource().extent, 4),
155
- minLng = _this$layer$getSource[0],
156
- minLat = _this$layer$getSource[1],
157
- maxLng = _this$layer$getSource[2],
158
- maxLat = _this$layer$getSource[3];
159
-
160
- var center = [(minLng + maxLng) / 2, (minLat + maxLat) / 2];
161
- var version = this.mapService.version;
162
-
163
- if (version === _l7Maps.Version.MAPBOX && window.mapboxgl.MercatorCoordinate) {
164
- var coord = window.mapboxgl.MercatorCoordinate.fromLngLat({
165
- lng: center[0],
166
- lat: center[1]
167
- }, 0);
168
- var offsetInMeters = 1;
169
- var offsetInMercatorCoordinateUnits = offsetInMeters * coord.meterInMercatorCoordinateUnits();
170
- var westCoord = new window.mapboxgl.MercatorCoordinate(coord.x - offsetInMercatorCoordinateUnits, coord.y, coord.z);
171
- var westLnglat = westCoord.toLngLat();
172
- this.meter2coord = center[0] - westLnglat.lng;
173
- return;
174
- } // @ts-ignore
175
-
176
-
177
- var m1 = this.mapService.meterToCoord(center, [minLng, minLat]); // @ts-ignore
178
-
179
- var m2 = this.mapService.meterToCoord(center, [maxLng === minLng ? maxLng + 0.1 : maxLng, maxLat === minLat ? minLat + 0.1 : maxLat]);
180
- this.meter2coord = (m1 + m2) / 2;
181
-
182
- if (!this.meter2coord) {
183
- // Tip: 兼容单个数据导致的 m1、m2 为 NaN
184
- this.meter2coord = 7.70681090738883;
185
- }
186
- }
187
122
  }, {
188
123
  key: "buildModels",
189
124
  value: function () {
190
125
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
191
- var _ref4, _ref4$mask, mask, _ref4$maskInside, maskInside, model;
126
+ var _ref3, _ref3$mask, mask, _ref3$maskInside, maskInside, model;
192
127
 
193
128
  return _regenerator.default.wrap(function _callee2$(_context2) {
194
129
  while (1) {
195
130
  switch (_context2.prev = _context2.next) {
196
131
  case 0:
197
- _ref4 = this.layer.getLayerConfig(), _ref4$mask = _ref4.mask, mask = _ref4$mask === void 0 ? false : _ref4$mask, _ref4$maskInside = _ref4.maskInside, maskInside = _ref4$maskInside === void 0 ? true : _ref4$maskInside;
132
+ _ref3 = this.layer.getLayerConfig(), _ref3$mask = _ref3.mask, mask = _ref3$mask === void 0 ? false : _ref3$mask, _ref3$maskInside = _ref3.maskInside, maskInside = _ref3$maskInside === void 0 ? true : _ref3$maskInside;
198
133
  _context2.next = 3;
199
134
  return this.layer.buildLayerModel({
200
135
  moduleName: 'pointRadar',
@@ -242,8 +177,6 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
242
177
  }, {
243
178
  key: "registerBuiltinAttributes",
244
179
  value: function registerBuiltinAttributes() {
245
- var _this2 = this;
246
-
247
180
  this.styleAttributeService.registerStyleAttribute({
248
181
  name: 'extrude',
249
182
  type: _l7Core.AttributeType.Attribute,
@@ -279,7 +212,7 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
279
212
  update: function update(feature) {
280
213
  var _feature$size = feature.size,
281
214
  size = _feature$size === void 0 ? 5 : _feature$size;
282
- return Array.isArray(size) ? [size[0] * _this2.meter2coord] : [size * _this2.meter2coord];
215
+ return Array.isArray(size) ? [size[0]] : [size];
283
216
  }
284
217
  }
285
218
  });