cesium中图层由_layers存储
viewer.imageryLayers._layers
其中默认图层存在时数组中只有一个元素,默认为下图2的ion
添加其他图层可以追加在该数组之后
当前有个项目要求sample始终在basemap之上,这里需要一个简单的交换位置。
// 全局变量 用于存储底图源 和 底图层
let basemapSource = '';
let basemap = '';
function imageryBasemapLayers(layers) {
if(basemapSource == ''){
basemapSource = new Cesium.WebMapServiceImageryProvider({
// 这里是你的 geoserver服务点击查看图层的 url
url: 'http://localhost:8090/geoserver/sampleSystem/wms',
// 这里是自定义的图层名称
layers: layers,
parameters: {
service: 'WMS',
format: 'image/png',
transparent: true
}
});
basemap = viewer.imageryLayers.addImageryProvider(basemapSource);
if(viewer.imageryLayers._layers[1] == basemap){
return
}else{
let temp = viewer.imageryLayers._layers[1];
viewer.imageryLayers._layers[1] = viewer.imageryLayers._layers[2];
viewer.imageryLayers._layers[2] = temp;
}
}else{
viewer.imageryLayers.remove(basemap);
basemapSource= '';
basemap = '';
}
}
// 加载样本
let sampleSource = '';
let sample = '';
function imagerySampleLayers(layers) {
if(sampleSource == ''){
sampleSource = new Cesium.WebMapServiceImageryProvider({
// 这里是你的 geoserver服务点击查看图层的 url
url: 'http://localhost:8090/geoserver/sampleSystem/wms',
// 这里是自定义的图层名称
layers: layers,
parameters: {
service: 'WMS',
format: 'image/png',
transparent: true
}
});
sample = viewer.imageryLayers.addImageryProvider(sampleSource);
if(viewer.imageryLayers._layers[1] == sample){
return
}else if(viewer.imageryLayers._layers[2] == sample && viewer.imageryLayers._layers[1] == basemap){
return
}else{
let temp = viewer.imageryLayers._layers[1];
viewer.imageryLayers._layers[1] = viewer.imageryLayers._layers[2];
viewer.imageryLayers._layers[2] = temp;
}
}else{
viewer.imageryLayers.remove(sample);
sampleSource= '';
sample = '';
}
}
其中if用于判断位置