【问题标题】:openlayers-3 - select with multiple layersopenlayers-3 - 选择多个图层
【发布时间】:2015-04-27 08:12:17
【问题描述】:

我正在使用 GeoServer 后端开发基于 ol3 的映射工具。我将不得不在其中发布许多 GeoJSON 基础矢量图层和 WMS 栅格图块,但对从中进行选择有点困惑。在示例中,对于一个矢量或 WMS 层(ol.interaction.Select 和 map.on('singleclick'...))确实有很好的解决方案,但无法找到更复杂情况的解决方案。我的问题:

如果您有多个矢量图层,使用 ol.interaction.Select,有没有办法为每个选定的特征确定它们来自哪里(它们属于哪一层)?我必须根据它们的类型对它们进行样式设置并提供有关它们的信息(这不是我的情况,但是例如,如果您选择道路或城市,请做其他事情)。现在,在将它们加载到 ServerVector 源之前,我将属性附加到每个特性,因此当它们选择时,我可以确定如何处理它们。无需详细说明:我有一个可行的解决方案这个问题,但想知道,是否有任何其他(官方首选)方法可以做到这一点?

另一个:如果地图也有矢量和栅格图层,我该怎么办?我希望它对用户透明:他们单击并获取信息,代码决定如何执行此操作。有什么解决办法吗?也许 ol.interaction.Select 和地图的“单击”事件在一起? (向量的交互和 WMS 层的交互?)

提前致谢, 巴拉兹埃格纳

【问题讨论】:

    标签: vector raster openlayers-3


    【解决方案1】:

    您可以在地图上添加点击事件

    所以我们得到像素然后

    我们在地图上调用forEachLayerAtPixel 在回调中获取图层

    【讨论】:

    • 感谢您的回答。目前,我使用一个“getinfo 函数存储”,它存储用于显示每个层的特征信息的函数,这将完全适合这个解决方案。非常感谢,我真的不知道我在搜索文档时怎么错过了这个功能......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多