教学:
https://blog.csdn.net/weixin_45782925/article/details/123269490
Cesium三维地球上添加点、线、面、文字、图标(图片)、模型等标绘
链接: 其他博主链接
// 创建一个点实体
var entity = new Cesium.Entity({
name: 'Sample Point',
position: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
point: {
pixelSize: 10,
color: Cesium.Color.RED
}
});
// 将点实体添加到场景中
viewer.entities.add(entity);
var entity= viewer.entities.add({
name: 'Sample Point',
position: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
point: {
color: new Cesium.Color(1.0, 1.0, 0.0, 0.3), // 设置点内部为黄色的半透明
outlineColor: Cesium.Color.YELLOW, //设置外边为黄色
outlineWidth: 4,
pixelSize: 16,
},
label: {
font: "16px sans-serif",
// text: "航点",
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
pixelOffset: new Cesium.Cartesian2(0, -10) // 文字偏移
},
})
上述两种 大致一样, 打印log entity 输出的实体对象应该是一样的
// 创建一个线实体对象
var lineEntity = new Cesium.Entity({
name: 'Sample Line',
polyline: {
positions: Cesium.Cartesian3.fromDegreesArray([
-75.59777, 40.03883,
-80.23456, 45.67890
]),
width: 2,
material: Cesium.Color.RED
}
});
// 将线实体对象添加到场景中
viewer.entities.add(lineEntity);
// 创建一个 Label 实体对象
var labelEntity = new Cesium.Entity({
name: 'Sample Label',
position: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
label: {
text: 'Hello, World!',
fillColor: Cesium.Color.YELLOW,
showBackground: true,
backgroundColor: Cesium.Color.BLACK
}
});
// 将 Label 实体对象添加到场景中
viewer.entities.add(labelEntity);
var polygonEntity = new Cesium.Entity({
name: 'Sample Polygon',
polygon: {
hierarchy: Cesium.Cartesian3.fromDegreesArray([
-115.0, 37.0,
-115.0, 32.0,
-107.0, 33.0,
-102.0, 31.0,
-102.0, 35.0
]),
material: Cesium.Color.RED.withAlpha(0.5)
}
});
// 将面实体对象添加到场景中
viewer.entities.add(polygonEntity);
var entity = new Cesium.Entity({
name: 't8',
show: true,
position: Cesium.Cartesian3.fromDegrees(114, 39, height),
model: {
uri: "./imagery/model/wrji.glb",
scale: 3
},
orientation:orientation,
description: `
这是entity的属性信息,entity的description里面可以写一段html
苹果园dog
`
});
viewer.entities.add(entity);
//通过id 获取实体
const entity = viewer.entities,getById('point')
let viewer = window.viewer;
viewer.entities.remove(this.vehicleEntity);
this.vehicleEntity = null;
viewer.entities.removeById("polyline"); // 已知实体的id为polyline
// 获取所有实体的数组
var entities = viewer.entities.values;
for (let index = 0; index < entities.length; index++) {
const entity = entities[index];
if (entity.id && entity.id.indexOf('polygon')!==-1) {
viewer.entities.remove(entity)
i--; //移除时,
viewer.scene.requestRender();
}
}
viewer.eviewer.entities.removeAll()
在这里插入代码片
let material=
Cesium.Color.fromCssColorString('rgba(0,255,0,0.8)');
经纬度变换博客: link