74 lines
2.3 KiB
JavaScript
74 lines
2.3 KiB
JavaScript
|
/**
|
|||
|
* @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}
|