Browse Source

fix: 去除多余的文件引入

sy-water-data-board-ui
chenhaojie 1 year ago
parent
commit
9cfb882b34
  1. 10
      src/views/aiSupervision/waterSetting/runScene/layerTree/index.js
  2. 131
      src/views/aiSupervision/waterSetting/runScene/layerTree/supermapImageryLayer.js

10
src/views/aiSupervision/waterSetting/runScene/layerTree/index.js

@ -1,4 +1,3 @@
import SuperMapImageryLayer from './supermapImageryLayer';
const createXyzLayer = (data) =>
new sycim.XyzLayer(data.id, {
...data,
@ -151,13 +150,6 @@ function zoomToS3MLayer(data) {
}
}
// 超图影像图层定位
function zoomToSuperMapImageryLayer(data) {
if (supermapLayer[data.id]) {
supermapLayer[data.id].zoomToLayer();
}
}
// 图层缩放响应动作
const zoomToLayerActions = {
'011100': zoomToLayerByType,
@ -230,7 +222,7 @@ export function removeLayer(layerData) {
} else {
window.viewer.removeLayer({
id,
type: SyCim.LayerType[type]
type: sycim.LayerType[type]
});
}
}

131
src/views/aiSupervision/waterSetting/runScene/layerTree/supermapImageryLayer.js

@ -1,131 +0,0 @@
import axios from 'axios';
class SuperMapImageryLayer {
constructor(url, options) {
this.viewer = options.viewer;
this.options = options || {};
this.layerUrl = url;
this.layerName = '';
this.layerInfo = null;
this.layerProvider = null;
this.scales84 = [];
this.scalesweb = [];
this._delegate = null;
this.loadData();
}
loadData() {
this.scales84 = [
3.38032714321e-9, 6.76065428641e-9, 1.352130857282e-8, 2.704261714564e-8, 5.408523429128e-8, 1.0817046858257e-7,
2.1634093716514e-7, 4.3268187433028e-7, 8.6536374866056e-7, 1.73072749732112e-6, 3.46145499464224e-6,
6.92290998928448e-6, 1.3845819978568952e-5, 2.7691639957137904e-5, 5.538327991427581e-5, 1.1076655982855162e-4,
2.2153311965710323e-4, 4.4306623931420646e-4, 8.861324786284129e-4, 0.0017722649572568258, 0.0035445299145136517,
0.007089059829027303
];
this.scalesweb = [
1.6901635716e-9, 3.38032714321e-9, 6.76065428641e-9, 1.352130857282e-8, 2.704261714564e-8, 5.408523429128e-8,
1.0817046858257e-7, 2.1634093716514e-7, 4.3268187433028e-7, 8.6536374866056e-7, 1.73072749732112e-6,
3.46145499464224e-6, 6.92290998928448e-6, 1.3845819978568952e-5, 2.7691639957137904e-5, 5.538327991427581e-5,
1.1076655982855162e-4, 2.2153311965710323e-4, 4.4306623931420646e-4, 8.861324786284129e-4, 0.0017722649572568258,
0.0035445299145136517, 0.007089059829027303
];
axios
.get(`${this.layerUrl}.json`)
.then((res) => {
if (res.status !== 200) return;
const result = res.data;
this.layerName = this.options.name || result.name;
this.layerInfo = result;
const rectangle = sycim.Rectangle.fromDegrees(-180, -90, 180, 90);
const epsgcode = result.prjCoordSys.epsgCode;
let tilingScheme = '';
let minlevel = 0;
let maxlevel = 22;
let originx = 0;
let originy = 0;
if (epsgcode === 4326) {
tilingScheme = new sycim.GeographicTilingScheme({
numberOfLevelZeroTilesX: 2,
numberOfLevelZeroTilesY: 1
});
originx = -180;
originy = 90;
if (this.options.minimumLevel !== undefined) {
minlevel = this.options.minimumLevel;
} else {
minlevel = 0;
}
if (this.options.maximumLevel !== undefined) {
maxlevel = this.options.maximumLevel;
} else {
maxlevel = 22;
}
}
if (epsgcode === 3857) {
tilingScheme = new sycim.WebMercatorTilingScheme();
originx = -20037508.34;
originy = 20037508.34;
if (this.options.minimumLevel !== undefined) {
console.log('not undefined');
minlevel = this.options.minimumLevel;
} else {
minlevel = 0;
}
if (this.options.maximumLevel !== undefined) {
maxlevel = this.options.maximumLevel;
} else {
maxlevel = 22;
}
}
this.layerProvider = new sycim.Cesium.UrlTemplateImageryProvider({
url:
this.layerUrl +
"/tileImage.png?transparent=true&cacheEnabled=true&width=256&height=256&x={x}&y={y}&scale={scale}&redirect=false&overlapDisplayed=false&origin={'x':" +
originx +
",'y':" +
originy +
'}',
rectangle: rectangle,
minimumLevel: minlevel || 0,
maximumLevel: maxlevel || 22,
tilingScheme: tilingScheme,
customTags: {
scale: function (imageryProvider, x, y, level) {
if (epsgcode === 4326) {
return this.scales84[level];
}
if (epsgcode === 3857) {
return this.scalesweb[level];
}
},
scales84: this.scales84,
scalesweb: this.scalesweb // Add the missing property "scalesweb"
}
});
this._delegate = viewer.imageryLayers.addImageryProvider(this.layerProvider);
})
.catch((err) => {
console.log(err);
});
}
zoomToLayer() {
if (!this._delegate) return;
const { left, bottom, right, top } = this.layerInfo.bounds;
this.viewer.camera.flyTo({
destination: sycim.Rectangle.fromDegrees(left, bottom, right, top)
});
}
show() {
if (!this._delegate) return;
this._delegate.show = true;
}
hide() {
if (!this._delegate) return;
this._delegate.show = false;
}
}
export default SuperMapImageryLayer;
Loading…
Cancel
Save