经纬志
首页 / Cesium / API 文档

Polyline

先看结论

三维折线。顶点是一串 Cartesian3,线宽在多数平台被限制为 1 像素, 这是 WebGL 的硬限制而不是配置问题。

最后验证 2026-11-03 · CesiumJS 1.121 · 更新 2026-10-27 · 引用本文
entity.polyline = new Cesium.PolylineGraphics({ positions, width, material, ... })

参数

参数默认说明
positions—Cartesian3 数组,可用 fromDegreesArray 生成
width1像素宽度,受 WebGL 限制通常最大 1
materialWHITE颜色或材质对象
clampToGroundfalse贴地绘制,跟随地形起伏
arcTypeGEODESICGEODESIC 大圆 / RHUMB 等角航线 / NONE 空间直线
granularity—弧线采样间隔,弧度
depthFailMaterial—被地形或模型遮挡时使用的材质
zIndex0贴地线的绘制顺序
distanceDisplayCondition—按距离控制显隐

三个关键参数

arcType

GEODESIC 是默认值,两点之间沿地球表面的大圆走。做航线、国界这类 地理要素时必须用它。NONE 会让线在三维空间中直接连过去, 长距离时会切进地球内部。短距离的两者看不出差别,跨省、跨国之后就非常明显。

clampToGround

开启后线会贴着地形画,代价是每帧都要把线投影到地形上,数据量大时明显变慢。 贴地线在地形加载完成之前会短暂出现在错误高度,地形加载完才归位。

depthFailMaterial

普通线被山体挡住就整段消失。给 depthFailMaterial 指定另一种材质 (比如半透明的同色),被遮挡的部分会以淡色继续显示,视觉上能看出「路在山后面」。

var route = viewer.entities.add({
  polyline: {
    positions: Cesium.Cartesian3.fromDegreesArray([
      116.391263, 39.907359,
      121.473701, 31.230416,
      113.264385, 23.129112
    ]),
    width: 2,
    arcType: Cesium.ArcType.GEODESIC,
    material: new Cesium.PolylineGlowMaterialProperty({
      color: Cesium.Color.fromCssColorString('#ffb13d').withAlpha(0.9),
      glowPower: 0.2,
      taperPower: 0.6
    }),
    depthFailMaterial: new Cesium.ColorMaterialProperty(
      Cesium.Color.fromCssColorString('#ffb13d').withAlpha(0.2)
    )
  }
});

常用材质

材质效果主要参数
Cesium.Color纯色实线直接赋颜色对象即可
PolylineGlowMaterialProperty发光带,中亮边暗glowPower、taperPower
PolylineDashMaterialProperty虚线dashLength、dashPattern
PolylineOutlineMaterialProperty带描边的线color、outlineColor、outlineWidth
PolylineArrowMaterialProperty末端的箭头color
PolylineTrailMaterialProperty拖尾流光社区扩展,核心包不含,需要自定义

粗线的替代方案

WebGL 只在部分平台支持大于 1 的线宽,靠 width 做不出道路那种粗线。 三种可行做法:

  1. Cesium.PolylineVolumeGraphics:沿路径挤出方管,能做出真实宽度并接受光照。
  2. Cesium.CorridorGraphics:沿中心线生成带状面,适合道路、河流。
  3. 用 PolylineGlowMaterialProperty 提高对比度,视觉上「看起来更粗」。

线不显示先查顶点数。positions 少于两个点不会绘制; 数组里混入 undefined 会导致整条线消失,而控制台不报错。

引用本文

经纬志(2026)。《Polyline》。https://www.jingweizhi.com/cesium/api/polyline.html(访问日期 2026-11-03)。