gpt4 book ai didi

javascript - OpenLayers5 : hitTolerance doesn't seem to work with WMS layer

转载 作者:行者123 更新时间:2023-12-03 01:33:28 25 4
gpt4 key购买 nike

我是 OpenLayers 的新手,因为今天我刚刚尝试将我的 map 从 Leaflet 移植到 OL,因为 hitTolerance 正是我所寻找的。另外,我知道 v5 是相当新的,因此根据我的经验,文档并未完全更新。

我似乎无法让 hitTolerance 与 WMS 图层一起使用。

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

我也尝试过forEachFeatureAtPixel,但这并没有给我带来任何好处。 WMS图层有功能吗?

我已经尝试过TileLayer/TileWMSImageLayer/ImageWMS。两者的行为相同。即使使用 forEachLayerAtPixel,即使 hitTolerance100,我仍然必须非常精确地击中图层。

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

最佳答案

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

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

因此,对于 WMS 来说,命中容忍度是服务器设置,而不是客户端设置。

例如,这里是对应的doc对于地理服务器。

关于javascript - OpenLayers5 : hitTolerance doesn't seem to work with WMS layer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51189011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com