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

标签避让

二十个相邻地块各带名称,开启标签避让后重叠标注被隐藏,取消后全部铺开。

OpenLayers 10.3.1 · 更新 2026-10-28
源码与运行效果
运行效果

说明

矢量图层的 declutter 选项让渲染器在同一帧内为文字和图标做碰撞检测。样式函数复用同一个 ol.style.Text 实例,只替换文字内容;overflow: true 允许文字超出几何范围,便于观察密集区域的取舍。复选框调用 setDeclutter() 即时切换。

操作结果
勾选「标签避让」重叠标注被隐藏,只保留可读的一部分
取消勾选所有地块名称同时绘制,文字互相压盖
缩放到街道级避让结果随分辨率和标注尺寸重新计算

避让的优先级由要素顺序和样式决定;把重要标注放在单独的矢量图层并设置更高的 zIndex,可保证它们优先显示。