openlayers-3 - 选择多个图层

时间:2015-04-27 08:12:18

标签: vector raster openlayers-3

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

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

另一个:如果地图还有矢量和栅格图层,我该怎么办?我希望它对用户来说是透明的:他们点击并获取信息,然后由代码决定如何执行此操作。这有什么解决方案吗?也许ol.interaction.Select和地图的'singleclick'事件在一起? (向量的交互和WMS层的后者?)

提前致谢, Balazs Eigner

1 个答案:

答案 0 :(得分:0)

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

所以我们得到像素然后

我们在回调中的地图上调用forEachLayerAtPixel我们得到图层