学习cesium,关于图层界面的切换
程序员文章站
2022-04-12 11:33:04
最近学习cesium的3D引擎,有关图层切换的例子比较少,在官网上看见了一些例子加以自己的理解。投机了一种近似于图层切换的效果。 这种图层切换每次点击按钮时,会把其他的数据和实体给删除。然后再创建或加载一个新的 闲话不多说我们直接上代码 ......
最近学习cesium的3d引擎,有关图层切换的例子比较少,在官网上看见了一些例子加以自己的理解。投机了一种近似于图层切换的效果。
这种图层切换每次点击按钮时,会把其他的数据和实体给删除。然后再创建或加载一个新的
闲话不多说我们直接上代码
sandcastle.addtoolbarbutton('basic styling', function() {
viewer.datasources.add(cesium.geojsondatasource.load(url, {
stroke: cesium.color.hotpink,
fill: cesium.color.pink.withalpha(0.5),
strokewidth: 3
}));
});
sandcastle.addtoolbarbutton('按钮',function() {
var position = cesium.cartesian3.fromdegrees(116.39053344726561,39.89604077881996, 0.0);
var hpr = new cesium.headingpitchroll(cesium.math.toradians(135), 0.0, 0.0);
var orientation = cesium.transforms.headingpitchrollquaternion(position, hpr);
var model = viewer.entities.add({
id:'01',
position : position,
orientation : orientation,
model : {
uri : url,
minimumpixelsize : 128,
maximumscale : 20000
}
});
},"toolbar");
sandcastle.reset = function() {
viewer.datasources.removeall();
viewer.entities.removebyid('01')//根据id删除entity
//设置相机为home为起点
viewer.camera.lookat(cesium.cartesian3.fromdegrees(116.39053344726561,39.89604077881996, 2631.082799425431), new cesium.cartesian3(0.0, -4790.0, 3930.0));
viewer.camera.lookattransform(cesium.matrix4.identity);
};
//sandcastle_end
sandcastle.finishedloading();
上一篇: 深拷贝浅拷贝