import OverlayLayer from './OverlayLayer'
import { defaultValue } from '../../../util'
import { Zondy } from '../../../base'
import { LayerType, LoadStatus } from '../../../base/enum'
/**
* MapV图层
* @class MapVLayer
* @moduleEX LayerModule
* @extends VectorTileLayer
* @param {Object} options 构造参数
* @param {Object} [options.mapVOptions] mapV的构造参数
*/
class MapVLayer extends OverlayLayer {
constructor(options) {
super(options)
options = defaultValue(options, {})
/**
* mapV的构造参数
* @member {Object} MapVLayer.prototype.mapVOptions
*/
this.mapVOptions = defaultValue(options.mapVOptions, {})
/**
* 图层类型
* @member {String} MapVLayer.prototype.type
*/
this.type = LayerType.mapv
/**
* MapV的元数据
* @member {Object} MapVLayer.prototype.data
*/
this.data = defaultValue(options.data, {})
}
/**
* 从igs获取图层信息
*/
load() {
return new Promise((resolve) => {
this.loadStatus = LoadStatus.loaded
this.loaded = true
resolve(this)
})
}
/**
* 将图层转为json对象
* @return {Object} josn对象
* */
toJSON() {
const json = {
mapVOptions: this.mapVOptions,
data: this.data
}
return JSON.parse(JSON.stringify(json))
}
/**
* 克隆并返回一个新图层
* @return {MapVLayer} 新的图层对象
* */
clone() {
return new MapVLayer(this.toJSON())
}
}
Zondy.Layer.MapVLayer = MapVLayer
export default MapVLayer