经纬志
首页 / OpenLayers / 使用示例

符号与标签避让

密集点位同时显示符号和文字,开启 declutter 后重叠的标签自动隐藏,关闭后全部绘制、允许压盖。

OpenLayers 10.3.1 · 对应官方 declutter-group.html · 更新 2026-10-27
源码与运行效果
运行效果

说明

图层选项 declutter: true 打开避让,样式里的 declutterMode 决定每个图形参与避让的方式: 'declutter' 表示与其他图形抢占空间,'obstacle' 只占位不隐藏自己,'none' 不参与。符号与文字都设为 declutter,密集处只保留优先级高的标签。

declutter 是图层构造参数,运行中修改需要重建图层; 示例在复选框变化时移除旧图层、按新参数新建一个,要素数据沿用同一组。

操作结果
取消勾选「启用避让」标签全部出现,相互压盖
重新勾选重叠处只保留一个标签,画面变干净
放大地图点位拉开后,被隐藏的标签重新出现

避让按要素绘制顺序决定优先级,重要点位可以先加入数据源,或把它放在单独的图层里。