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

时间:2015-12-01 08:39:58

标签: openlayers-3

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

  1. 背景图层(OSM)
  2. Layer - 1(只有Line)
  3. 图层 - 2(仅具有多边形)
  4. 我的图层-1和图层-2是不可见的,当我在背景图层中绘制多边形时,我只想要在我绘制的多边形内部看到线条和多边形(来自第1层和第2层)。

    有人可以建议使用OL3吗?

    干杯

1 个答案:

答案 0 :(得分:2)

作为@Jonatas sais,你必须开始,如果我们有时间和心情去做,我们必须在事后帮助你。所以消息是“帮助获得帮助”。

无论如何,今天我心情很好,我有空余时间。

因此,对于您的情况,只要您想要回到十字路口,就需要使用JSTS topology套件。此类操作还有TURF.js库,但我不熟悉它。所以我将使用JSTS提供解决方案。

  1. 声明线条和多边形图层并使用0 alpha chanel指定样式,以便在地图上不可见。 (在提供的小提琴中,我已经使用0.2作为alpha chanel,所以对于测试目的而言可以稍微看一点)

  2. 创建dragbox互动,供您用户绘制框

  3. 从拖放箱中的两个图层中选择要素

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

  5. 创建一个具有完全可见性的新矢量图层并放置相交的要素

  6. 这是您的fiddle