Source: ext/layer/EasyVectorLayer.js

import * as maptalks from '../../libs/maptalks'
import EasyLayer from './EasyLayer'

class EasyVectorLayer extends EasyLayer {
    /**
     * 矢量图层类
     * @constructor
     * @param {String} id 图层id
     * @param {Geom|Array<Geom>} geometries
     * @param {Object} options 图层配置项
     */
    constructor(id, geometries = null, options = null) {
        super()
        this.id = id
        const geomList = []
        if (geometries !== null) {
            if (!Array.isArray(geometries)) {
                geometries = [geometries]
            }
            geometries.forEach(e => {
                this._geometries.push(e)
                geomList.push(e._geometry)
            })
        }
        this.layer = new maptalks.VectorLayer(id, geomList, options)
    }

    /**
     * 清除所有图形
     * @returns {EasyVectorLayer}
     */
    clear() {
        this.layer.clear()
        this._geometries = []
        return this
    }
}

export default EasyVectorLayer