/** * @name: index * @author: Administrator * @date: 2023-11-20 19:00 * @description:index * @update: 2023-11-20 19:00 */ import BaseLayer from "../index"; import { setSplitDirection, setActiveId } from '../../../../../Global/SplitScreen' class ArcgisLayer extends BaseLayer { constructor(sdk, options = {}) { super(sdk, options); } get type() { return "layer" } async createArcGis(url) { let imageryProvider if (Number(Cesium.VERSION.split('.')[1]) >= 107) { imageryProvider = await Cesium.ArcGisMapServerImageryProvider.fromUrl(url); } else { imageryProvider = new Cesium.ArcGisMapServerImageryProvider({ url }); } if (this.options.hasOwnProperty("layer_index")) { this.entity = this.sdk.viewer.imageryLayers.addImageryProvider(imageryProvider, this.options.layer_index) } else { this.entity = this.sdk.viewer.imageryLayers.addImageryProvider(imageryProvider,) } for (let i = 0; i < this.sdk.viewer.imageryLayers._layers.length; i++) { if (this.sdk.viewer.imageryLayers._layers[i]._imageryProvider && this.sdk.viewer.imageryLayers._layers[i]._imageryProvider._type && (this.sdk.viewer.imageryLayers._layers[i]._imageryProvider._type === 'flw' || this.sdk.viewer.imageryLayers._layers[i]._imageryProvider._type === 'jww')) { let layer = this.sdk.viewer.imageryLayers._layers[i] this.sdk.viewer.imageryLayers.raiseToTop(layer) } } this.show = this.options.show this.alpha = this.options.alpha this.brightness = this.options.brightness if(this.options.show) { setSplitDirection(0, this.options.id) } } } class ArcgisWXImagery extends ArcgisLayer { constructor(sdk, options) { super(sdk, options); this.createArcGis("https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer") } } class ArcgisBLUEImagery extends ArcgisLayer { constructor(sdk, options) { super(sdk, options); this.createArcGis("https://map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetPurplishBlue/MapServer") } } class ArcgisLWImagery extends ArcgisLayer { constructor(sdk, options) { super(sdk, options); this.createArcGis("https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer") } } export {ArcgisWXImagery, ArcgisBLUEImagery, ArcgisLWImagery}