cesium的模型加载,广告标记,画线,画面,画体,画栅栏

加载模型

let positions =  Cesium.Cartesian3.fromDegrees(0,0,0);//定义模型位置
let orientations =  Cesium.Transforms.headingPitchRollQuaternion(positions, new Cesium.HeadingPitchRoll(1.5,0,0);//定义模型角度朝向
this.viewer.entities.add({
	id: 'A1',
	name: 'sw',
	position: positions  ,
	orientation: orientations ,
	model: {
		uri: "mode/sw/sw.gltf",//模型位置
		scale: 1,
		show: true,
		color: Cesium.Color.WHITE.withAlpha(2),
		clampToGround: true,//贴地
	}
}])

广告标记

information() {//点位提示点
	let positions =  Cesium.Cartesian3.fromDegrees(0,0,0);//定义模型位置
	let orientations =  Cesium.Transforms.headingPitchRollQuaternion(positions, new Cesium.HeadingPitchRoll(1.5,0,0);//定义模型角度朝向
	this.cameralist.forEach((val) => {
		this.viewer.entities.add({
			id: val.id,
			show: true,
			position:positions ,//初始位置   高度val.position[2]
			billboard:orientations ,
			label: {
				text: "点位",//label显示名称
				font: "normal 25px MicroSoft YaHei",//字体大小
				fillColor: Cesium.Color.BROWN  ,//颜色
				scaleByDistance: new Cesium.NearFarScalar(0, 1, 5000, 0.0),
				pixelOffset: new Cesium.Cartesian2(0,-30),//label高度
			},
			billboard: {
				image: "img/camera.png",
				scale: 0.7,
				scaleByDistance: new Cesium.NearFarScalar(0, 1, 5000, 0.0),//设置根据相机距离放缩
			},
		})
	});
}

画线

let	linePositions = []
linePositions.push(new Cesium.Cartesian3.fromDegrees(0,0,0);
linePositions.push(new Cesium.Cartesian3.fromDegrees(0,0,1);
linePositions.push(new Cesium.Cartesian3.fromDegrees(0,0,2);
this.viewer.entities.add({
	id: 'id',
	show:true,
	polyline: {
		positions: linePositions,
		width:  50,//宽度
		material:  new Cesium.Color.fromCssColorString('#cccccc') //颜色
	}
})

画面

var position =  Cesium.Cartesian3.fromDegrees(0,0,0);//定义模型位置
var orientation =  Cesium.Transforms.headingPitchRollQuaternion(position, new Cesium.HeadingPitchRoll(0, 0, 0));//定义模型角度朝向
this.viewer.entities.add({
	id: id,
	show:true,
	position: position,//初始位置
	orientation:orientation,
	plane: {
		plane: new Cesium.Plane(Cesium.Cartesian3.UNIT_Z, 0.0),//以Z轴为法线
        dimensions: new Cesium.Cartesian2(50, 20),//长宽
        material:Cesium.Color.fromCssColorString("#FFFFFF").withAlpha(0.5),//面的颜色 及透明度
		outlineColor:Cesium.Color.fromCssColorString("#000000").withAlpha(0.5),//描边颜色及透明度
		outline:true,
		}
})

画体

this.viewer.entities.add({
	id:  id,
	show:true,
	position: Cesium.Cartesian3.fromDegrees(0,0,0),//初始位置
	orientation: Cesium.Transforms.headingPitchRollQuaternion(Cesium.Cartesian3.fromDegrees(0,0,0), new Cesium.HeadingPitchRoll(0, 0, 0)),//朝向和翻滚角度
	box: {
		dimensions: new Cesium.Cartesian3(10, 5,6),//长宽高
		material: Cesium.Color.fromCssColorString("#CCCCCC").withAlpha(0.5),//颜色及透明度
		outline: true,//描边
			outlineColor:Cesium.Color.fromCssColorString("#FFFFFF").withAlpha(0.3),//描边颜色及透明度
		}
})

画栅栏

this.viewer.entities.add({
	id:  id,
	show:true,
	wall: {
		positions: Cesium.Cartesian3.fromDegreesArrayHeights([ 
		0,0,1,
		0,1,1,
		0,2,1
		]),//注:经度,维度,高度 为一组
		outline: true,//描边
		material:Cesium.Color.fromCssColorString("#ffffff").withAlpha(0.6),//颜色及透明度
		outlineColor:Cesium.Color.fromCssColorString("#ffffff").withAlpha(1),//描边颜色及透明度
	},
})

删除指定模型

let getByIdBox = this.viewer.entities.getById("dom");//dom为模型的id
this.viewer.entities.remove(getByIdBox)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值