如何解决如何最好地处理 OpenLayers 移动设备上的指针移动和点击事件?
从 here 可以看出,pointermove
事件无法在 iOS Safari 上使用,这是我的目标用户最常用的浏览器。在 OpenLayers 地图上,我想在悬停在特定图层的功能上时显示工具提示。它在带有 pointermove
的桌面上运行良好,但是为移动设备包含类似行为的最佳做法是什么?在我朝错误的方向做太多事情之前,我需要一些指导
- 我是否应该同时收听
click
或singleclick
事件以包括手机? - 如果是这样,我是否应该只添加两个侦听器并引用同一个回调?
- 如果是这样,我是否应该检查哪个设备触发了事件,以避免(可能?)奇怪的行为?
- 我不确定移动设备对点击的容忍度:我是否应该使用
hitTolerance
的forEachFeatureAtPixel
选项,然后我是否需要以编程方式确保我获得最接近的功能到点击的像素,而不是容差范围内的一些随机像素?
感谢您的帮助:)
解决方法
现在所有主流浏览器都原生支持 Pointer 事件,并且移除了 Openlayers Pointer polyfill since v6.4。如果您的目标是不支持指针事件的旧浏览器,您现在需要在您的应用程序中包含指针事件 polyfill(elm-pep 或 pepjs)。然后,您可以在所有平台上使用 pointermove
事件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。