首页 / OpenLayers / 使用示例
标签避让
二十个相邻地块各带名称,开启标签避让后重叠标注被隐藏,取消后全部铺开。
源码与运行效果
说明
矢量图层的 declutter 选项让渲染器在同一帧内为文字和图标做碰撞检测。样式函数复用同一个 ol.style.Text 实例,只替换文字内容;overflow: true 允许文字超出几何范围,便于观察密集区域的取舍。复选框调用 setDeclutter() 即时切换。
| 操作 | 结果 |
|---|---|
| 勾选「标签避让」 | 重叠标注被隐藏,只保留可读的一部分 |
| 取消勾选 | 所有地块名称同时绘制,文字互相压盖 |
| 缩放到街道级 | 避让结果随分辨率和标注尺寸重新计算 |
避让的优先级由要素顺序和样式决定;把重要标注放在单独的矢量图层并设置更高的 zIndex,可保证它们优先显示。