/*
* 影像图层主类
* @Author: jianlei wang
* @Date: 2024-02-04 15:03:56
* @Last Modified by: jianlei wang
* @Last Modified time: 2024-10-30 17:06:24
*/
import {
addTdtWmts,
removeImageryLayer,
addGeoserverWmts,
addMapboxServer,
} from '../../utils/layers/Imagery'
/**
* 影像图层主类
* @class
*/
class Imagery {
/**
* 构造函数
* @param viewer 地图场景对象
*/
constructor(viewer) {
this._viewer = viewer
}
/**
* 加载天地图影像
* @param {String} type 地图类型:img-影像,vec-矢量,cva-矢量注记,cia-影像注记
* @param {String} token 天地图token
* @returns {ImageryLayer} 影像对象,ImageryLayer类对象,参考Cesium
*/
addTdt(type, token) {
const imagery = addTdtWmts(this._viewer, type, token)
return imagery
}
/**
* 加载geoserver发布的影像,目前仅支持wmts
* @param {String} type 服务类型:wmts-WMTS数据,wms-WMS数据
* @param {GeoserverWmtsOptions} options 图层参数
* @returns {ImageryLayer} 影像对象,ImageryLayer类对象,参考Cesium
*/
addGeoserver(type, options) {
let imagery
switch (type) {
case 'wmts':
imagery = addGeoserverWmts(this._viewer, options)
break
default:
break
}
return imagery
}
/**
* 加载Mapbox发布的地图服务
* @param {MapboxOption} options
*/
addMapbox(options) {
const imagery = addMapboxServer(this._viewer, options)
return imagery
}
/**
* 移除影像图层
* @param {ImageryLayer} layer 影像图层对象
*/
remove(layer) {
removeImageryLayer(this._viewer, layer)
}
}
export default Imagery