import Zondy from './Zondy'
import { defaultValue, getGUID } from '../util'
/**
* IGS地图服务图层
* @class WMTSStyle
* @classdesc IGS地图图层
* @param {Object} options 构造参数
* @param {String} [options.description = undefined] 样式描述
* @param {String} [options.id = getGUID()] WMTS样式id
* @param {String} [options.isDefault = false] 是否为默认样式
* @param {WMTSLayer} [options.title = undefined] 样式标题
*/
class WMTSStyle {
constructor(options) {
options = defaultValue(options, {})
/**
* 样式描述
* @member {String} WMTSStyle.prototype.description
*/
this.description = defaultValue(options.description, undefined)
/**
* WMTS样式id
* @member {String} WMTSStyle.prototype.id
*/
this.id = defaultValue(options.id, getGUID())
/**
* 是否为默认样式
* @member {Boolean} WMTSStyle.prototype.isDefault
*/
this.isDefault = defaultValue(options.isDefault, false)
/**
* 样式标题
* @member {WMTSLayer} WMTSStyle.prototype.title
*/
this.title = defaultValue(options.title, undefined)
}
/**
* @function WMTSStyle.prototype.fromJSON
* @description 将JSON格式的WMTS样式参数转换为JS对象
* @param {Object} json WMTS样式的实例化JSON
*/
fromJSON(json) {
json = defaultValue(json, {})
this.description = defaultValue(json.description, undefined)
this.id = defaultValue(json.id, getGUID())
this.isDefault = defaultValue(json.isDefault, false)
this.title = defaultValue(json.title, undefined)
}
/**
* @function WMTSStyle.prototype.toJSON
* @description 将JS对象转换为JSON格式
* @returns {Object} WMTS样式的实例化JSON
*/
toJSON() {
return {
description: this.description,
id: this.id,
isDefault: this.isDefault,
title: this.title
}
}
/**
* 克隆WMTS样式对象
* @return {WMTSStyle} 克隆后的WMTS样式对象
*/
clone() {
return new WMTSStyle(this.toJSON())
}
}
Zondy.WMTSStyle = WMTSStyle
export default WMTSStyle