繁体   English   中英

openlayers-3-多层选择

[英]openlayers-3 - select with multiple layers

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

如果您有多个矢量层 ,可以使用ol.interaction.Select来确定每个选定要素的来源(它们属于哪一层)? 我必须对它们进行样式设置并根据其类型显示有关它们的信息(这不是我的情况,但是例如,如果您选择道路或城市,则要做其他事情)。 现在,我将属性附加到每个功能,然后再将其加载到ServerVector源,因此,当选择它们时,我可以确定如何处理它们。 无需赘述:我有一个可以解决此问题的可行解决方案,但想知道是否还有其他(官方首选)方法可以做到这一点?

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

在此先感谢Balazs Eigner

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

所以我们得到像素,然后

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

暂无
暂无

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

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