如何修改leaflet聚合图的层级和样式

leaflet中可以设置点聚合图来展示大量点聚合和效果,官方示例如下:http://iclient.supermap.io/examples/leaflet/editor.html#12_markerCluster
主要用于大量点展示。

一、存在的问题

由于图层不是leaflet原生类,可以修改的参数也比较有限,但是在实际应用中,会根据实际会对聚合图层有一些自己的要求,但是却无法修改,例如:
1、无法修改聚合后的标注颜色
2、无法修改达到多少数量后再改变颜色

二、解决办法

1、下载源码

SuperMap iClient 9D for Leaflet对聚合图层的js进行了代码压缩,修改起来十分不方便。建议从github上下载源码进行修改。链接:
https://github.com/Leaflet/Leaflet.markercluster
但是包却丢失了关键的leaflet.markercluster-src.js文件。导致所有聚合图层都报错。可以从
https://leaflet.github.io/Leaflet.markercluster/example/marker-clustering-custom.html
这个在线示例中将这个js拷贝到dist文件夹里。

在这里插入图片描述

2、针对问题对源码进行修改

通过在leaflet.markercluster-src.js搜索“large”,可以搜索到进行分段的相关代码。可见默认只对点数量聚合了三类,并且范围写死,100以上全部为红,导致数据量大展示效果十分不好。

找到相应的代码就是可以改了,改起来也十分简单,如果要修改数量范围直接修改数字即可,如果要新加颜色样式可以添加else if (childCount < 100) { c += ‘newname’;}并且在MarkerCluster.Default.css中添加新的样式

.marker-cluster-newname{
background-color: rgba(0, 0, 222, 0.6);
}
.marker-cluster-newname div {
background-color: rgba(0, 0, 222, 0.6);
}
在这里插入图片描述

3、引用新的js文件和css文件

将更改后的js文件和css文件引用到项目中,并且移除之前的引用即可。

文章转载出处:https://blog.csdn.net/weixin_42066016/article/details/93325596?tdsourcetag=s_pctim_aiomsg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值