|
@@ -50,8 +50,7 @@ export default {
|
|
// children: [],
|
|
// children: [],
|
|
// },
|
|
// },
|
|
contextData: null,
|
|
contextData: null,
|
|
- S3MList:[],
|
|
|
|
-
|
|
|
|
|
|
+ S3MList: [],
|
|
};
|
|
};
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
@@ -77,10 +76,6 @@ export default {
|
|
favorite(data) {
|
|
favorite(data) {
|
|
console.log(data);
|
|
console.log(data);
|
|
},
|
|
},
|
|
- checkboxChange(obj, checked, a) {
|
|
|
|
- obj.checked = checked;
|
|
|
|
- this.handleCheckChange(obj, checked);
|
|
|
|
- },
|
|
|
|
visibleChange(obj, visible, a) {
|
|
visibleChange(obj, visible, a) {
|
|
console.log(obj, visible, a);
|
|
console.log(obj, visible, a);
|
|
switch (obj.type) {
|
|
switch (obj.type) {
|
|
@@ -192,6 +187,7 @@ export default {
|
|
skipLevelOfDetail: true,
|
|
skipLevelOfDetail: true,
|
|
});
|
|
});
|
|
this.sceneLayers[obj.title] = tileset;
|
|
this.sceneLayers[obj.title] = tileset;
|
|
|
|
+ store.setSceneLayersList(this.sceneLayers);
|
|
let thisLayer = viewer.scene.primitives.add(tileset);
|
|
let thisLayer = viewer.scene.primitives.add(tileset);
|
|
viewer.flyTo(thisLayer);
|
|
viewer.flyTo(thisLayer);
|
|
},
|
|
},
|
|
@@ -223,8 +219,9 @@ export default {
|
|
keyWord: "SmID",
|
|
keyWord: "SmID",
|
|
});
|
|
});
|
|
}
|
|
}
|
|
- store.state.S3MList.push(layers[0])
|
|
|
|
- store.state.tempLatData=layers[0]
|
|
|
|
|
|
+ store.state.S3MList.push(layers[0]);
|
|
|
|
+ store.state.tempLatData = layers[0];
|
|
|
|
+ store.setSceneLayersList(this_.sceneLayers);
|
|
// for (var i = 0; i < layers.length; i++) {
|
|
// for (var i = 0; i < layers.length; i++) {
|
|
// let style = new Cesium.Style3D();
|
|
// let style = new Cesium.Style3D();
|
|
// style.bottomAltitude = window.modelBottomAltitude; //底部高度
|
|
// style.bottomAltitude = window.modelBottomAltitude; //底部高度
|
|
@@ -255,149 +252,144 @@ export default {
|
|
// 复选框改变
|
|
// 复选框改变
|
|
handleCheckChange(obj, checked) {
|
|
handleCheckChange(obj, checked) {
|
|
// console.log(obj, checked ,);
|
|
// console.log(obj, checked ,);
|
|
- if (typeof checked == "boolean") {
|
|
|
|
- obj.checked = checked;
|
|
|
|
- } else {
|
|
|
|
- obj.checked = !obj.checked;
|
|
|
|
- }
|
|
|
|
if (obj.children && obj.children.length > 0) {
|
|
if (obj.children && obj.children.length > 0) {
|
|
for (let i = 0; i < obj.children.length; i++) {
|
|
for (let i = 0; i < obj.children.length; i++) {
|
|
this.handleCheckChange(obj.children[i], checked);
|
|
this.handleCheckChange(obj.children[i], checked);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
- let imageryLayers = viewer.imageryLayers;
|
|
|
|
- if (obj.checked) {
|
|
|
|
- obj.trans = 100;
|
|
|
|
- obj.visible = true;
|
|
|
|
- this.addlayerdata.push(obj);
|
|
|
|
- switch (obj.type) {
|
|
|
|
- case "S3M": //场景
|
|
|
|
- let s = viewer.scene.open(obj.url);
|
|
|
|
- this.vectorlayerlist.push(obj);
|
|
|
|
- this.promiseWhen([s], undefined, obj);
|
|
|
|
- // store.setModelLayerList(this.vectorlayerlist);
|
|
|
|
- // console.log(store.state.modellayerlist,'vvvvv');
|
|
|
|
- // store.state.S3MList.push(obj)
|
|
|
|
- break;
|
|
|
|
- case "S3MDATA": //scp
|
|
|
|
- viewer.scene.addS3MTilesLayerByScp(obj.url, {
|
|
|
|
|
|
+ this.checkedChange(obj);
|
|
|
|
+ }
|
|
|
|
+ store.setVectorLayerList(this.vectorlayerlist);
|
|
|
|
+ store.setModelLayerList(this.modellayerlist);
|
|
|
|
+ },
|
|
|
|
+ checkedChange(obj) {
|
|
|
|
+ let imageryLayers = viewer.imageryLayers;
|
|
|
|
+ if (obj.checked) {
|
|
|
|
+ obj.trans = 100;
|
|
|
|
+ obj.visible = true;
|
|
|
|
+ this.addlayerdata.push(obj);
|
|
|
|
+ switch (obj.type) {
|
|
|
|
+ case "S3M": //场景
|
|
|
|
+ let s = viewer.scene.open(obj.url);
|
|
|
|
+ this.vectorlayerlist.push(obj);
|
|
|
|
+ this.promiseWhen([s], undefined, obj);
|
|
|
|
+ // store.setModelLayerList(this.vectorlayerlist);
|
|
|
|
+ // console.log(store.state.modellayerlist,'vvvvv');
|
|
|
|
+ // store.state.S3MList.push(obj)
|
|
|
|
+ break;
|
|
|
|
+ case "S3MDATA": //scp
|
|
|
|
+ viewer.scene.addS3MTilesLayerByScp(obj.url, {
|
|
|
|
+ name: obj.title,
|
|
|
|
+ });
|
|
|
|
+ break;
|
|
|
|
+ case "3DTiles": //tileset
|
|
|
|
+ this.add3DTiles(obj);
|
|
|
|
+ this.vectorlayerlist.push(obj);
|
|
|
|
+ break;
|
|
|
|
+ case "IMG": //影像
|
|
|
|
+ let layer = viewer.imageryLayers.addImageryProvider(
|
|
|
|
+ new Cesium.SuperMapImageryProvider({
|
|
|
|
+ url: obj.url,
|
|
name: obj.title,
|
|
name: obj.title,
|
|
- });
|
|
|
|
- break;
|
|
|
|
- case "3DTiles": //tileset
|
|
|
|
- this.add3DTiles(obj);
|
|
|
|
- this.vectorlayerlist.push(obj);
|
|
|
|
- break;
|
|
|
|
- case "IMG": //影像
|
|
|
|
- let layer = viewer.imageryLayers.addImageryProvider(
|
|
|
|
- new Cesium.SuperMapImageryProvider({
|
|
|
|
- url: obj.url,
|
|
|
|
- name: obj.title,
|
|
|
|
- })
|
|
|
|
- );
|
|
|
|
- this.layerparams[obj.id] = layer;
|
|
|
|
- // viewer.flyTo(layer);
|
|
|
|
- break;
|
|
|
|
- case "Vector": //矢量
|
|
|
|
- let layer2 = viewer.imageryLayers.addImageryProvider(
|
|
|
|
- new Cesium.SuperMapImageryProvider({
|
|
|
|
- url: obj.url,
|
|
|
|
- name: obj.title,
|
|
|
|
- })
|
|
|
|
- );
|
|
|
|
- this.vectorlayerlist.push(obj);
|
|
|
|
- this.layerparams[obj.id] = layer2;
|
|
|
|
- // viewer.flyTo(layer2);
|
|
|
|
- break;
|
|
|
|
- case "Terrain": //地形
|
|
|
|
- this.addTerrain(obj.url);
|
|
|
|
- break;
|
|
|
|
- default:
|
|
|
|
- null;
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- for (let i = 0; i < this.addlayerdata.length; i++) {
|
|
|
|
- if (this.addlayerdata[i].title == obj.title) {
|
|
|
|
- this.addlayerdata.splice(i, 1);
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
|
|
+ })
|
|
|
|
+ );
|
|
|
|
+ this.layerparams[obj.id] = layer;
|
|
|
|
+ // viewer.flyTo(layer);
|
|
|
|
+ break;
|
|
|
|
+ case "Vector": //矢量
|
|
|
|
+ let layer2 = viewer.imageryLayers.addImageryProvider(
|
|
|
|
+ new Cesium.SuperMapImageryProvider({
|
|
|
|
+ url: obj.url,
|
|
|
|
+ name: obj.title,
|
|
|
|
+ })
|
|
|
|
+ );
|
|
|
|
+ this.vectorlayerlist.push(obj);
|
|
|
|
+ this.layerparams[obj.id] = layer2;
|
|
|
|
+ // viewer.flyTo(layer2);
|
|
|
|
+ break;
|
|
|
|
+ case "Terrain": //地形
|
|
|
|
+ this.addTerrain(obj.url);
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ null;
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ for (let i = 0; i < this.addlayerdata.length; i++) {
|
|
|
|
+ if (this.addlayerdata[i].title == obj.title) {
|
|
|
|
+ this.addlayerdata.splice(i, 1);
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
- for (let i = 0; i < this.vectorlayerlist.length; i++) {
|
|
|
|
- if (this.vectorlayerlist[i].title == obj.title) {
|
|
|
|
- this.vectorlayerlist.splice(i, 1);
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
|
+ for (let i = 0; i < this.vectorlayerlist.length; i++) {
|
|
|
|
+ if (this.vectorlayerlist[i].title == obj.title) {
|
|
|
|
+ this.vectorlayerlist.splice(i, 1);
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
- for (let i = 0; i < this.modellayerlist.length; i++) {
|
|
|
|
- if (this.modellayerlist[i].title == obj.title) {
|
|
|
|
- this.modellayerlist.splice(i, 1);
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
|
+ for (let i = 0; i < this.modellayerlist.length; i++) {
|
|
|
|
+ if (this.modellayerlist[i].title == obj.title) {
|
|
|
|
+ this.modellayerlist.splice(i, 1);
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
- delete this.layerparams[obj.id];
|
|
|
|
- switch (obj.type) {
|
|
|
|
- case "S3M": //场景
|
|
|
|
- if (this.sceneLayers[obj.title]) {
|
|
|
|
- for (let i = 0; i < this.sceneLayers[obj.title].length; i++) {
|
|
|
|
- if (this.sceneLayers[obj.title][i].length > 0) {
|
|
|
|
- for (
|
|
|
|
- let u = 0;
|
|
|
|
- u < this.sceneLayers[obj.title][i].length;
|
|
|
|
- u++
|
|
|
|
- ) {
|
|
|
|
- viewer.scene.layers.remove(
|
|
|
|
- this.sceneLayers[obj.title][i][u]._name
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
|
|
+ }
|
|
|
|
+ delete this.layerparams[obj.id];
|
|
|
|
+ switch (obj.type) {
|
|
|
|
+ case "S3M": //场景
|
|
|
|
+ if (this.sceneLayers[obj.title]) {
|
|
|
|
+ for (let i = 0; i < this.sceneLayers[obj.title].length; i++) {
|
|
|
|
+ if (this.sceneLayers[obj.title][i].length > 0) {
|
|
|
|
+ for (
|
|
|
|
+ let u = 0;
|
|
|
|
+ u < this.sceneLayers[obj.title][i].length;
|
|
|
|
+ u++
|
|
|
|
+ ) {
|
|
viewer.scene.layers.remove(
|
|
viewer.scene.layers.remove(
|
|
- this.sceneLayers[obj.title][i]._name
|
|
|
|
|
|
+ this.sceneLayers[obj.title][i][u]._name
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
+ } else {
|
|
|
|
+ viewer.scene.layers.remove(
|
|
|
|
+ this.sceneLayers[obj.title][i]._name
|
|
|
|
+ );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- break;
|
|
|
|
- case "S3MDATA": //scp
|
|
|
|
- viewer.scene.layers.remove(obj.title);
|
|
|
|
- break;
|
|
|
|
- case "3DTiles": //tileset
|
|
|
|
- viewer.scene.primitives.remove(this.sceneLayers[obj.title]);
|
|
|
|
- break;
|
|
|
|
- case "IMG": //影像
|
|
|
|
- for (let i = 0; i < imageryLayers._layers.length; i++) {
|
|
|
|
- let element = imageryLayers._layers[i];
|
|
|
|
- if (element._imageryProvider._name == obj.title) {
|
|
|
|
- imageryLayers.remove(element);
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ case "S3MDATA": //scp
|
|
|
|
+ viewer.scene.layers.remove(obj.title);
|
|
|
|
+ break;
|
|
|
|
+ case "3DTiles": //tileset
|
|
|
|
+ viewer.scene.primitives.remove(this.sceneLayers[obj.title]);
|
|
|
|
+ break;
|
|
|
|
+ case "IMG": //影像
|
|
|
|
+ for (let i = 0; i < imageryLayers._layers.length; i++) {
|
|
|
|
+ let element = imageryLayers._layers[i];
|
|
|
|
+ if (element._imageryProvider._name == obj.title) {
|
|
|
|
+ imageryLayers.remove(element);
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
- break;
|
|
|
|
- case "Vector": //矢量
|
|
|
|
- for (let i = 0; i < imageryLayers._layers.length; i++) {
|
|
|
|
- let element = imageryLayers._layers[i];
|
|
|
|
- if (element._imageryProvider._name == obj.title) {
|
|
|
|
- imageryLayers.remove(element);
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ case "Vector": //矢量
|
|
|
|
+ for (let i = 0; i < imageryLayers._layers.length; i++) {
|
|
|
|
+ let element = imageryLayers._layers[i];
|
|
|
|
+ if (element._imageryProvider._name == obj.title) {
|
|
|
|
+ imageryLayers.remove(element);
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
- break;
|
|
|
|
- case "Terrain": //地形
|
|
|
|
- viewer.scene.terrainProvider =
|
|
|
|
- new Cesium.EllipsoidTerrainProvider({});
|
|
|
|
- break;
|
|
|
|
- default:
|
|
|
|
- null;
|
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ case "Terrain": //地形
|
|
|
|
+ viewer.scene.terrainProvider = new Cesium.EllipsoidTerrainProvider(
|
|
|
|
+ {}
|
|
|
|
+ );
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ null;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- store.setVectorLayerList(this.vectorlayerlist);
|
|
|
|
- store.setModelLayerList(this.modellayerlist);
|
|
|
|
},
|
|
},
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
//图层定位
|
|
//图层定位
|
|
location(obj) {
|
|
location(obj) {
|
|
let imageryLayers = viewer.imageryLayers;
|
|
let imageryLayers = viewer.imageryLayers;
|
|
@@ -497,10 +489,10 @@ export default {
|
|
},
|
|
},
|
|
|
|
|
|
mounted() {
|
|
mounted() {
|
|
|
|
+ this.bus.$on("checkedChange", this.checkedChange);
|
|
},
|
|
},
|
|
|
|
|
|
- watch: {
|
|
|
|
- },
|
|
|
|
|
|
+ watch: {},
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
|
|
|