diff --git a/packages/layers/src/line/models/arc.ts b/packages/layers/src/line/models/arc.ts index 58a06f1304..3d8fcc124b 100644 --- a/packages/layers/src/line/models/arc.ts +++ b/packages/layers/src/line/models/arc.ts @@ -33,6 +33,7 @@ export default class ArcModel extends BaseModel { forward = true, lineTexture = false, iconStep = 100, + segmentNumber = 30, } = this.layer.getLayerConfig() as ILineLayerStyleOptions; if (this.dataTextureTest && this.dataTextureNeedUpdate({ opacity })) { @@ -89,7 +90,7 @@ export default class ArcModel extends BaseModel { u_opacity: isNumber(opacity) ? opacity : 1.0, u_textureBlend: textureBlend === 'normal' ? 0.0 : 1.0, - segmentNumber: 30, + segmentNumber, u_line_type: lineStyleObj[lineType || 'solid'], u_dash_array: dashArray, u_blur: 0.9, diff --git a/packages/layers/src/line/models/arc_3d.ts b/packages/layers/src/line/models/arc_3d.ts index f0d8f4e823..c4428e4a64 100644 --- a/packages/layers/src/line/models/arc_3d.ts +++ b/packages/layers/src/line/models/arc_3d.ts @@ -31,6 +31,7 @@ export default class Arc3DModel extends BaseModel { dashArray = [10, 5], lineTexture = false, iconStep = 100, + segmentNumber = 30, } = this.layer.getLayerConfig() as ILineLayerStyleOptions; if (dashArray.length === 2) { @@ -87,7 +88,7 @@ export default class Arc3DModel extends BaseModel { // u_opacity: opacity === undefined ? 1 : opacity, u_opacity: isNumber(opacity) ? opacity : 1.0, u_textureBlend: textureBlend === 'normal' ? 0.0 : 1.0, - segmentNumber: 30, + segmentNumber, u_line_type: lineStyleObj[lineType as string] || 0.0, u_dash_array: dashArray, diff --git a/packages/layers/src/line/models/great_circle.ts b/packages/layers/src/line/models/great_circle.ts index aeb6c06ac7..492d8442df 100644 --- a/packages/layers/src/line/models/great_circle.ts +++ b/packages/layers/src/line/models/great_circle.ts @@ -34,6 +34,7 @@ export default class GreatCircleModel extends BaseModel { dashArray = [10, 5], lineTexture = false, iconStep = 100, + segmentNumber = 30, } = this.layer.getLayerConfig() as Partial; // console.log('opacity', opacity) if (dashArray.length === 2) { @@ -90,7 +91,7 @@ export default class GreatCircleModel extends BaseModel { // u_opacity: opacity === undefined ? 1 : opacity, u_opacity: isNumber(opacity) ? opacity : 1.0, u_textureBlend: textureBlend === 'normal' ? 0.0 : 1.0, - segmentNumber: 30, + segmentNumber, u_line_type: lineStyleObj[lineType as string] || 0.0, u_dash_array: dashArray, diff --git a/stories/Map/components/amap2demo_arcLine.tsx b/stories/Map/components/amap2demo_arcLine.tsx index 991bc8bff7..698500b426 100644 --- a/stories/Map/components/amap2demo_arcLine.tsx +++ b/stories/Map/components/amap2demo_arcLine.tsx @@ -44,8 +44,9 @@ export default class Amap2demo_arcLine extends React.Component { .style({ opacity: 0.8, blur: 0.99, - lineType: 'dash', - dashArray: [5, 5], + segmentNumber: 30 + // lineType: 'dash', + // dashArray: [5, 5], }); // .forward(false) scene.addLayer(layer);