海量点标记 MassMarks清空重建实现 筛选 点标记

高德地图massMarks参考手册,可以查看所有API

1.如果只有一个筛选条件时可以在建立massMark时分开图层建立,筛选时只需要使用massMark.show()或massMark.hide()实现图层的显示和隐藏。

2.如果有多个筛选条件,可以massMark.clear()清空图层,使用筛选条件判断将原list使用filter生成新的数组filterList,将filterList再重新创建图层添加到地图上

listFilter() {
            this.filterList = this.list.filter((e) => {
                let bool = true
                if (this.highRisk || this.middleRisk || this.lowRisk) {
                    if (e中该条件吻合 && 页面取消显示该条件了) {
                        bool = false //页面不需要显示该条数据了,不需要返回到filterList
                    } else if (e.riskStatus === '2' && !this.middleRisk) {
                        bool = false
                    } else if (e.riskStatus === '3' && !this.lowRisk) {
                        bool = false
                    } else if (e.riskStatus === '4') {
                        bool = false
                    }
                }
                if (!this.normal && e.isRunning == 0) {//第二个筛选条件
                        bool = false
                } else if (!this.offline && e.isRunning == 2) {
                        bool = false
                } else if (!this.abnormal && e.isRunning == 1) {
                        bool = false
                }
               
                return bool
            })
        },