概述
虽然Openlayers4会有自带的聚类效果,但是有些时候是不能满足我们的业务场景的,本文结合一些业务场景,讲讲地图中的聚类展示。
需求
在级别比较小的时候聚类展示数据,当级别大于一定的级别的时候讲地图可视域内的所有点不做聚类全部展示出来。
效果
小级别
放大地图
固定级别全部展示
实现
在实现的时候,自己写了一个很简单的扩展myclusterlayer,代码如下:
说明:
1、传递参数
map: ol的map对象;
clusterField: 如果是基于属性做聚类的话可设置此参数;
zooms: 只用到了最后一个级别,当地图大于最大最后一个值的时候,全部展示;
distance:屏幕上的聚类距离;
data:聚类的数据;
style:样式(组)或者样式函数
2、核心方法
_clusterTest:判断是否满足聚类的条件,满足则执行_add2CluserData,不满足则执行_clusterCreate;
_showCluster:展示聚类结果;
调用代码如下:
技术博客
CSDN:http://blog.csdn.NET/gisshixisheng
在线教程
https://edu.csdn.net/course/detail/799
https://edu.csdn.net/course/detail/7471
联系方式
“GIS讲堂”知识星球开通了,在星球,我将提供一对一的问答服务,你问我答,期待与你相见。
知识星球二维码
领取专属 10元无门槛券
私享最新 技术干货