Cesium中级教程2 - 图层

Cesium教程详细介绍了如何使用ImageryProvider创建和管理图层,包括WMS、TMS、OpenStreetMap等服务。讲解了图层的顺序、混合、资源管理和跨域资源共享(CORS)问题,以及如何调整图层的亮度、对比度等属性。还提到了Cesium的内置图层服务和如何实现自定义图层服务。
摘要由CSDN通过智能技术生成

Cesium支持从几个标准服务绘制和添加高分辨率图像(地图)图层。图层可以按顺序排列,并混合在一起。每一层的亮度、对比度、伽玛、色调和饱和度可以动态地改变。本节教程介绍了图层的概念以及相关的Cesuim APIs。

快速入门

我们暂时忽略细节,直接编写代码来添加一些图像层。在Sandcastle中打开Hello World示例。此示例创建一个Viewer组件,默认情况下,该组件呈现Bing Maps图层。我们可以通过向Viewer构造函数提供附加参数来指定不同的基础图层。让我们使用来自Esri ArcGIS MapServer的图层:

var viewer = new Cesium.Viewer('cesiumContainer', {
    imageryProvider : new Cesium.ArcGisMapServerImageryProvider({
        url : '//services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer'
    }),
    baseLayerPicker : false
});

修改样例后,按F8来运行:

我们可以通过滑动鼠标滚轮放缩,来看到实际的图层流的变化。

接下来, 添加另一个图层: NASA Black Marble imagery 基于 Tile Map Service (TMS):

var layers = viewer.scene.imageryLayers;
var blackMarble = layers.addImageryProvider(new Cesium.createTileMapServiceImageryProvider({
    url : '//cesiumjs.org/tilesets/imagery/blackmarble',
    maximumLevel : 8,
    credit : 'Black Marble imagery courtesy NASA Earth Observatory'
}));

因为黑色大理石层是最后加上的一层,覆盖了整个地球,所以黑色大理石图层覆盖了 Esri图层。我们可以把黑色大理石图层移到底部layers.lower(blackMarble);,但是为了让我们能更好地理解这两层之间的关系,让我们把它和Esri图层混合:

blackMarble.alpha = 0.5; // 0.0 is transparent.  1.0 is opaque.

下一步,调高灯光的亮度:

blackMarble.brightness = 2.0; // > 1.0 increases brightness.  < 1.0 decreases.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值