SimplePolylineGeometry
是 CesiumJS 中的一种几何对象,用于绘制简单的折线。
var positions = [
Cesium.Cartesian3.fromDegrees(lon1, lat1),
Cesium.Cartesian3.fromDegrees(lon2, lat2),
//...
];
var geometry = new Cesium.SimplePolylineGeometry({
positions: positions,
width: 2.0,
});
以上代码创建了一个简单的折线,其坐标点分别为 lon1, lat1
和 lon2, lat2
。其中,width
属性用于指定折线的宽度,单位为像素。其他参数详见下文。
new Cesium.SimplePolylineGeometry(options)
使用 options
参数创建一个 SimplePolylineGeometry
对象。
options
: 一个对象,包含以下属性:
positions
: 必需,折线的位置数组。width
: 可选,折线的宽度。默认值为 1.0。vertexFormat
:可选,折线的顶点格式。默认值为 Cesium.VertexFormat.DEFAULT
。var viewer = new Cesium.Viewer("cesiumContainer");
var positions = [
Cesium.Cartesian3.fromDegrees(116.41, 39.91),
Cesium.Cartesian3.fromDegrees(117.20, 39.12),
Cesium.Cartesian3.fromDegrees(118.20, 39.32),
Cesium.Cartesian3.fromDegrees(118.41, 40.91),
Cesium.Cartesian3.fromDegrees(116.41, 40.91),
];
var geometry = new Cesium.SimplePolylineGeometry({
positions: positions,
width: 5.0,
});
var material = Cesium.Material.fromType("Color");
material.uniforms.color = new Cesium.Color(1.0, 1.0, 0.0, 1.0);
var primitive = new Cesium.Primitive({
geometryInstances: new Cesium.GeometryInstance({
geometry: geometry,
attributes: {
color: Cesium.ColorGeometryInstanceAttribute.fromColor(
new Cesium.Color(1.0, 1.0, 1.0, 1.0)
),
},
}),
appearance: new Cesium.PolylineMaterialAppearance({
material: material,
translucent: false,
dashLength: 16.0,
gapLength: 2.0,
}),
});
viewer.scene.primitives.add(primitive);
以上代码在 CesiumJS 地图上绘制了一个五角星形的折线,使用 SimplePolylineGeometry
对象创建折线的几何体,使用 PolylineMaterialAppearance
对象设置折线的颜色和样式。结果如下图所示: