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

版权声明:本文为博主原创文章,欢迎转载,SuperMap技术问答社区 http://ask.supermap.com https://blog.csdn.net/supermapsupport/article/details/89448341

作者:为梦齐舞

本文同步更新于简书文章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

猜你喜欢

转载自blog.csdn.net/supermapsupport/article/details/89448341