一、创建服务器(看第一篇笔记)
二、加载建筑物
在Cesium中建筑物信息的加载需要自己添加数据到Cesium ion中然后使用的,为了测试Cesime封装了几个数据,我们已纽约的一个岛为例。
1、将视角定位在纽约上空
// 坐标设置在纽约,这样会有默认的3dTiles数据
var initialPosition = Cesium.Cartesian3.fromDegrees(-74.01881302800248, 40.69114333714821, 753);
var initialOrientation = new Cesium.HeadingPitchRoll.fromDegrees(21.27879878293835, -21.34390550872461, 0.0716951918898415);
viewer.scene.camera.setView({
destination: initialPosition,
orientation: initialOrientation,
endTransform: Cesium.Matrix4.IDENTITY
});
2、加载建筑物
/ 加载3DTiles数据,纽约进行封装了
var city = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({url:Cesium.IonResource.fromAssetId(5741)}))
3、更改建筑物样式
// 设置建筑物的样式
var heightStyle = new Cesium.Cesium3DTileStyle({
color:{
conditions:[
["${height} >= 300","rgba(45,0,75,0.5)"],
["${height} >= 200","rgb(102,71,151)"],
["${height} >= 100","rgb(170,162,204)"],
["${height} >= 50","rgb(224,226,238)"],
["${height} >= 25","rgb(252,230,200)"],
["${height} >= 10","rgb(248,176,87)"],
["${height} >= 5","rgb(198,106,11)"],
["true","rgb(102,71,151)"]
]
}
});
// 将默认样式改为自定义样式
city.style = heightStyle;