CesiumJS中的Axis模块用于创建轴线和轴标签,以便在场景中显示相应的坐标轴。
要使用Axis模块,请先导入它:
import { Axis } from 'cesium';
使用以下代码创建一条轴线:
const axis = new Axis({
container: document.getElementById('axisContainer'), // 要在其中创建轴线的容器元素
scene: viewer.scene, // Cesium.Scene对象,轴线将在其中显示
x: AxisOrientation.X, // 轴线方向,可选值为 AxisOrientation.X、AxisOrientation.Y 和 AxisOrientation.Z
color: Color.RED, // 轴线颜色
thickness: 2 // 轴线粗细程度
});
使用以下代码创建一组轴标签:
const axisLabels = new Axis({
container: document.getElementById('axisLabelContainer'), // 要在其中创建轴标签的容器元素
scene: viewer.scene, // Cesium.Scene对象,轴标签将在其中显示
x: AxisOrientation.X, // 轴标签所对应的轴线方向,可选值为 AxisOrientation.X、AxisOrientation.Y 和 AxisOrientation.Z
font: '16px sans-serif', // 轴标签文本样式
labelOffset: 5, // 轴标签距离轴线的偏移量
minValue: 0, // 轴的最小值
maxValue: 100, // 轴的最大值
step: 10, // 轴标签之间的间隔
prefix: 'X:', // 轴标签前缀(可选)
suffix: ' m', // 轴标签后缀(可选)
decimalPlaces: 2 // 轴标签数值保留的小数位数
});
一旦创建了轴标签,您可以使用setLabels方法更改它们的值:
axisLabels.setLabels([0, 20, 40, 60, 80, 100]);
创建轴线或轴标签。
构造函数
new Axis(options:Object)
options.container:HTMLElement 要在其中创建轴线或轴标签的容器元素。options.scene:Cesium.Scene 轴线或轴标签所在的场景。options.x:AxisOrientation 轴线或轴标签所对应的轴线方向。可选值为AxisOrientation.X、AxisOrientation.Y、AxisOrientation.Z。options.color:Cesium.Color 轴线的颜色。options.thickness:Number 轴线的粗细程度。options.font:String 轴标签的文本样式。默认为"16px sans-serif"。options.labelOffset:Number 轴标签距离轴线的偏移量。默认为0。options.minValue:Number 轴的最小值。默认为0。options.maxValue:Number 轴的最大值。默认为100。options.step:Number 轴上的刻度之间的间隔。默认为10。options.prefix:String 轴标签前缀。可选。options.suffix:String 轴标签后缀。可选。options.decimalPlaces:Number 轴标签中数值保留的小数位数。默认为2。方法
setLabels(labels:Array.<Number>|Array.<String>) 设置轴标签的值。示例
// 创建一条X轴线
const axis = new Axis({
container: document.getElementById('axisContainer'),
scene: viewer.scene,
x: AxisOrientation.X,
color: Color.RED,
thickness: 2
});
// 创建一组X轴标签
const axisLabels = new Axis({
container: document.getElementById('axisLabelContainer'),
scene: viewer.scene,
x: AxisOrientation.X,
font: '16px sans-serif',
labelOffset: 5,
minValue: 0,
maxValue: 100,
step: 10,
prefix: 'X:',
suffix: ' m',
decimalPlaces: 2
});
// 设置X轴标签的值
axisLabels.setLabels([0, 20, 40, 60, 80, 100]);
枚举类型,表示轴线或轴标签的方向。
AxisOrientation.X X轴方向。AxisOrientation.Y Y轴方向。AxisOrientation.Z Z轴方向。