Source: ext/layer/EasyClusterLayer.js

import EasyLayer from './EasyLayer'
import {ClusterLayer} from '../../libs/maptalks/clustermap/maptalks.markercluster.es';

/**
 * 热力图层类
 * @class EasyHeatmapLayer
 */
class EasyClusterLayer extends EasyLayer {

    /**
     * 构造函数
     * @constructor
     * @param {String} id 图层id
     * @param {Array} data
     * @param {Object} options 图层配置项
     */
    constructor(id, data, options) {
        super()
        this.id = id
        this._data = this.getMarker(data)
        this.layer = new ClusterLayer(id, this._data, options)
    }

    getMarker(arrMarker) {
        console.log(arrMarker)
        let arr = []
        if (arrMarker && arrMarker.length > 0) {
            for (let i = arrMarker.length - 1; i >= 0; i--) {
                console.log(arrMarker[i])
                arr.push(arrMarker[i]._geometry)
            }
        }
        return arr
    }

    /**
     * 配置图层
     * @param key
     * @param value
     */
    config(key, value) {
        this.layer.config(key, value)
    }

    /**
     * 将数据转化为json字符串
     * @returns {Strign} json字符串
     */
    toJSON() {
        return this.layer.toJSON()
    }
}

export default EasyClusterLayer