2014-02-20 71 views
2

我有一些折线(坐标的数组,表示一个路径)检测是否折线相交多边形

我也有一个多边形(从4个坐标由rectanble)

它们在谷歌地图使用( API v3)。

-

我需要知道,如果任何theese折线相交的多边形,如果是这样,至极折线(S)相交?

我希望能发送多边形对象和多段线数组的功能,所以它会返回一个相交的多段线列表。

例如被称为像:

var result = checkForIntersects(radiusPoly, polylines); 

其结果可能是“0,1”如果前两个折线相交,或“”如果没有相交。

希望这是有道理:-)

样品多边形和折线可以在这里找到: JSfiddle (更新2018年2月1日:对不起,我只注意到我的例子不再工作,但是坐标在那里。我想是好的。)

回答

0

从我所知道的,目前没有办法实现我所希望的。

重叠的多边形可以被检测到,但多边形只有在其中一个点符合地在多边形内时才会被检测到。

简而言之:我无法找到一种方法来检测多边形任一侧上是否有点的多段线正在“触摸”多边形。

解决方法本来可以将多段线的每条“腿”分成几行(例如根据您需要的分辨率分成256行)并检查每个点,看它们是否在多边形。

然而,这对我所需要的要慢很多,因为它会导致我需要单独检查许多数千个点。

此外它更像是一种解决方案,而且我不赞成解决生产问题。