SuperMap iClient3D for WebGL教程(影像篇)-ImageryLayerCollection

本文详细介绍Cesium中ImageryLayerCollection的使用方法,包括获取、添加、判断、获取图层、改变图层顺序及删除图层。并通过具体实例展示如何使用ImageryLayerCollection创建星光闪闪的地图效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者:为梦齐舞

本文同步更新于简书文章https://www.jianshu.com/p/2d5f3e4070a6

上文中我们介绍了如何使用ImageryProvider,本章继续介绍ImageryLayerCollection。
ImageryLayerCollection是三维场景中管理影像的集合,主要用于对影像类图层进行管理。里面包含了场景中渲染的所有影像图层,也就是ImageryLayer。
一、如何获取ImageryLayerCollection
1、可以通过viewer.imageryLayers获取。
2、可以通过viewer.scene.imageryLayers获取。
二、常用方法
1、添加的方法,可以通过add和addImageryProvider方法进行添加影像图层。
2、判断图层是否存在,可以通过contains方法进行判断,不存在则返回false。
3、获取图层的方法,get和indexOf,先通过indexOf获取索引值,然后通过get获取ImageryProvider。
4、改变图层顺序的方法lower(下移一层)和raise(上移一层);lowerToBottom(移到最底层)和raiseToTop(移到最上层)
5、删除图层的方法,remove和removeAll。
6、瓦片选择pickImageryLayerFeatures,这个功能一般来说用的比较少,支持的数据类型也很少,例如,OpenStreetMap、Mapbox、Bing Maps等地图都不支持这个操作,需要ImageryProvider支持pickFeatures才会有结果,否则返回为undefined,例如ArcGisMapServerImageryProvider需要设置enablePickFeatures为true。
三、综合使用,使用两个图层制作一幅星光闪闪的地图,我们使用MapBox和SingleTileImageryProvider进行叠加

viewer = new Cesium.Viewer('cesiumContainer');
				var blackLayer= viewer.imageryLayers.addImageryProvider(new Cesium.SingleTileImageryProvider({
					url:'./img/BlackMarble_2016_3kmg1.jpg',
					
				}));
				var mapbox = new Cesium.MapboxImageryProvider({
					url: "https://api.mapbox.com/v4/",
					mapId: "mapbox.dark",
					accessToken: "mapbox密钥",
				});
				viewer.imageryLayers.addImageryProvider(mapbox);
				blackLayer.alpha =0.3;
				blackLayer.brightness=5;
				blackLayer.transperantBackColor=Cesium.Color.BLACK;
				blackLayer.transperantBackColorTolerance=0; 
				viewer.imageryLayers.raiseToTop(blackLayer);//移动图层至顶层

灯光mapbox

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值