类名 common/document/layer/ogc/WMSSubLayer.js
import {defaultValue, toJSON} from '../../../util'
import SubLayer from '../baseLayer/SubLayer'
import { Extent, SpatialReference } from '../../../base/geometry'

/**
 * WMS子图层
 * @class WMSSubLayer
 * @moduleEX LayerModule
 * @classdesc IGS地图图层
 * @extends SubLayer
 * @param {Object} options 构造参数
 * @param {String} [options.name] 图层名称
 * @param {String} [options.description] 图层描述
 * @param {Boolean} [options.queryable] 是否参与查询
 * @param {Array<SpatialReference>} [options.spatialReferences = []] 图层坐标系列表
 * @param {SpatialReference} [options.spatialReference] 图层坐标系
 * @param {Extent} [options.extent] 图层范围
 */
class WMSSubLayer extends SubLayer {
  constructor(options) {
    super(options)
    /**
     * 图层名称
     * @readonly
     * @member {String} WMSSubLayer.prototype.name
     */
    this.name = defaultValue(options.name, undefined)
    /**
     * 图层描述
     * @readonly
     * @member {String} WMSSubLayer.prototype.description
     */
    this.description = defaultValue(options.abstract, undefined)
    /**
     * 是否参与查询
     * @readonly
     * @member {Boolean} WMSSubLayer.prototype.queryable
     */
    this.queryable = defaultValue(options.queryable, true)
    /**
     * 图层坐标系列表
     * @readonly
     * @member {Array<SpatialReference>} WMSSubLayer.prototype.spatialReferences
     */
    this.spatialReferences = defaultValue(options.spatialReferences, [])
    /**
     * 图层坐标系
     * @readonly
     * @member {SpatialReference} WMSSubLayer.prototype.spatialReference
     */
    this.spatialReference = defaultValue(options.spatialReference, undefined)
    /**
     * 图层范围
     * @readonly
     * @member {Extent} WMSSubLayer.prototype.extent
     */
    this.extent = defaultValue(options.extent, undefined)
  }

  /**
   * 将图层转为json对象
   * @return {Object} josn对象
   * */
  toJSON() {
    const _json = super.toJSON()
    _json.spatialReference = toJSON(this.spatialReference, SpatialReference)
    _json.name = this.name
    _json.extent = toJSON(this.extent, Extent)

    const _spatialReferences = []
    for (let i = 0; i < this.spatialReferences.length; i++) {
      _spatialReferences.push(
        toJSON(this.spatialReferences[i], SpatialReference)
      )
    }
    _json.spatialReferences = _spatialReferences

    return _json
  }

  /**
   * 克隆图层对象
   * @return {WMSSubLayer} 克隆后的图层对象
   */
  clone() {
    return new WMSSubLayer(this.toJSON())
  }
}

export default WMSSubLayer
构造函数
成员变量
方法
事件