`r`n
经纬志
`r`n
`r`n
首页 / OpenLayers / 使用示例
`r`n

命中容差

把点击命中范围从精确像素放宽到十几像素,小目标也点得中。

OpenLayers 10.3.1 · 更新 2026-10-27
`r`n
源码与运行效果
运行效果
`r`n

说明

map.forEachFeatureAtPixel(pixel, callback, { hitTolerance }) 中的容差以屏幕像素为单位,目标越小、触控越粗,就越需要放宽。 示例把八个密集点位放在同一片区域,用滑块对比不同容差。

点击位置会画一个红点作为参照,状态栏给出命中的是哪一个点位; 容差为 0 时,必须点中图标的绘制像素才会命中。

操作结果
容差 0 时点图标边缘多数情况判定为未命中
容差 16 时点两个图标之间命中较近的那个点位
点击空白处红点出现,状态栏显示未命中

容差放宽后相邻要素可能同时进入命中范围,回调返回的是第一个匹配项;需要列出全部时用 getFeaturesAtPixel。

`r`n
`r`n