//键盘漫游 // function controlStart(){ // CesiumControl.create(this.viewer); // CesiumControl.init(); // } // function controlEnd(){ // CesiumControl.endControl(); // } //图层控制 var layerModel = { layers: [{ 'type': 'baseMap', 'index':0, 'lists': [], 'upLayer': null, 'downLayer': null, 'selectLayer': null }, { 'type': 'terrain', 'index':1, 'lists': [], 'upLayer': null, 'downLayer': null, 'selectLayer': null }, { 'type': 'model', 'index':2, 'lists': [], 'upLayer': null, 'downLayer': null, 'selectLayer': null }, { 'type': 'project', 'index':3, 'lists': [], 'upLayer': null, 'downLayer': null, 'selectLayer': null }], isSelectableLayer: function (typeIndex, layer) { return this.layers[typeIndex].lists.indexOf(layer) >= 0; // return this.baseLayers.indexOf(layer) >= 0; }, raise: function (typeIndex, layer, index) { // imageryLayers.raise(layer);//basemap的rise layerModel.layers[typeIndex].upLayer = layer; layerModel.layers[typeIndex].downLayer = layerModel.layers[typeIndex].lists[Math.max(0, index - 1)]; // updateLayerList(); window.setTimeout(function () { layerModel.layers[typeIndex].upLayer = layerModel.layers[typeIndex].downLayer = null; }, 10); }, lower: function (typeIndex,layer, index) { // imageryLayers.lower(layer); layerModel.layers[typeIndex].upLayer = layerModel.layers[typeIndex].layers[ Math.min(layerModel.layers[typeIndex].lists.length - 1, index + 1) ]; layerModel.layers[typeIndex].downLayer = layer; // updateLayerList(); window.setTimeout(function () { layerModel.layers[typeIndex].upLayer = layerModel.layers[typeIndex].downLayer = null; }, 10); }, canRaise: function (typeIndex,layerIndex) { return layerIndex > 0; }, canLower: function (typeIndex,layerIndex) { return layerIndex >= 0 && layerIndex < layerModel.layers[typeIndex].lists.length - 1; }, hasType:function(type){ for(let i in layerModel.layers){ let layer = layerModel.layers[i]; if(layer.type == type){ return layer.index; } } return -1; }, createLayer: function(type){ if(layerModel.hasType(type)==-1){ var layer = { 'type': type, 'index':layerModel.layers.length, 'lists': [], 'upLayer': null, 'downLayer': null, 'selectLayer': null }; layerModel.layers.push(layer); return true; } return false; }, find:function(node,indexes){ if(indexes.length>1){ return layerModel.find(node.list[indexes[0]],indexes.slice(1)); }else{ return node.list[indexes[0]]; } }, changeListStatus:function(node){ if(node.list!=null&&node.list!=undefined){ for(let i in node){ this.changeListStatus(node[i].list); } }else{ node.model.show = !node.model.show; } }, changeStatus:function(indexes){ let listindex = indexes[0]; if(listindex>2){ let node = layerModel.lists[listindex]; } } };