首页 / OpenLayers / 使用示例
矢量命中检测
判断光标下有没有要素,容差决定小目标的命中难度。
源码与运行效果
说明
命中检测用 map.forEachFeatureAtPixel,配合 hitTolerance 放宽像素容差,适合点要素和小面要素。
官方示例跑在 WebGL 图层上,命中由图层自己上报。这里用普通矢量图层,检测 API 与参数完全一致,悬停高亮通过换样式实现。
要点
layerFilter可把检测限制在指定图层。evt.dragging为真时跳过,拖动中不刷悬停。- 容差单位是屏幕像素,不同缩放下感知一致。
悬停样式频繁创建对象会拖慢渲染,缓存一份样式再改文字即可。