我如何知道 openlayers-3 中的多边形内有哪些线段和多边形?

how do i know what line segments and polygons are inside the polygon in openlayers-3?

我正在尝试创建一个具有 3 层的应用程序。

  1. 背景层 (OSM)
  2. 层 - 1(只有线)
  3. 图层 - 2(只有多边形)

我的图层 - 1 和图层 - 2 是不可见的,当我在背景图层中绘制多边形时,我只希望线条和多边形(来自图层 1 和图层 2)在我绘制的多边形内可见。

任何人都可以建议是否可以使用 OL3?

干杯

正如@Jonatas 所说,您必须开始,如果我们有时间和心情去做,我们必须在之后帮助您。所以消息是"HELP TO GET HELPED".

总之,今天心情不错,也有空闲时间。

所以对于你的情况,只要你想找回交叉路口,你就需要使用 JSTS topology suite. There is also the TURF.js 库来执行此类操作,但我不熟悉它。所以我会给出一个使用JSTS的解决方案。

  1. 声明您的线和多边形图层并指定一个带有 0 alpha 通道的样式,以便在地图上不可见。 (在提供的 fiddle 中,我将 0.2 用于 alpha 通道,因此为了测试目的,可以看到一点点)

  2. 创建一个 dragbox 交互以供用户绘制框

  3. Select 属于您的拖动框的两层特征

  4. 使用 JSTS 库查找线、多边形和绘图框的交点

  5. 创建一个具有完整可见性的新矢量图层并放置相交特征

这是你的fiddle