首页 / OpenLayers / 使用示例
符号与标签避让
密集点位同时显示符号和文字,开启 declutter 后重叠的标签自动隐藏,关闭后全部绘制、允许压盖。
源码与运行效果
说明
图层选项 declutter: true 打开避让,样式里的
declutterMode 决定每个图形参与避让的方式:
'declutter' 表示与其他图形抢占空间,'obstacle'
只占位不隐藏自己,'none' 不参与。符号与文字都设为
declutter,密集处只保留优先级高的标签。
declutter 是图层构造参数,运行中修改需要重建图层;
示例在复选框变化时移除旧图层、按新参数新建一个,要素数据沿用同一组。
| 操作 | 结果 |
|---|---|
| 取消勾选「启用避让」 | 标签全部出现,相互压盖 |
| 重新勾选 | 重叠处只保留一个标签,画面变干净 |
| 放大地图 | 点位拉开后,被隐藏的标签重新出现 |
避让按要素绘制顺序决定优先级,重要点位可以先加入数据源,或把它放在单独的图层里。