繁体   English   中英

OpenLayers5:hitTolerance似乎不适用于WMS层

[英]OpenLayers5: hitTolerance doesn't seem to work with WMS layer

我是OpenLayers的新手,我今天才尝试将我的地图从Leaflet移植到OL,因为hitTolerance正是我想要的。 另外,我了解v5是相当新的,因此根据我的经验,这些文档并未完全更新。

我似乎无法获得hitTolerance来处理WMS图层。

我知道,从v5开始,您现在可以在forEachLayerAtPixel指定hitTolerance ,但是我仍然必须非常准确地击中该图层,才能被forEachLayerAtPixel

我也尝试了forEachFeatureAtPixel ,但是从没有给过我任何东西。 WMS图层是否具有功能?

我已经尝试了TileLayer/TileWMSImageLayer/ImageWMS 两者的行为相同。 即使在hitTolerance100 forEachLayerAtPixel也使用hitTolerance ,我仍然必须非常精确才能命中图层。

难道我做错了什么? 我不知道这是否是错误,或者hitTolerance根本不适用于WMS图层。 任何帮助,将不胜感激。 谢谢。

hitTolerance适用于矢量数据。 OL获取您的点击坐标并搜索附近的特征。

在处理WMS时,OL不了解这些功能,而只是显示图像。 它只是将点击坐标发送到地图服务器,后者可能会或可能不会对其应用缓冲区,并返回找到的要素信息。

因此,对于WMS,命中公差是服务器设置,而不是客户端设置。

例如,这是Geoserver的相应文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM