我有一些折线(一个坐标数组,代表一条路线)
我也有一个多边形(一个由4个坐标组成的矩形)
它们用于Google地图(API v3)。
-
我需要知道这些多边形线是否与多边形相交,如果是,那么折线是否相交?
我希望有一个函数,我可以发送多边形对象和折线数组,因此它将返回一个相交折线列表。
例如被称为:
var result = checkForIntersects(radiusPoly, polylines);
如果前两条折线相交,结果可能为“0,1”,如果没有相交,则结果为“”。
希望有道理: - )
此处提供的样本多边形和折线: JSfiddle (更新2018-02-01:对不起,我刚注意到我的例子不再有效。但坐标就在那里。我想,总比没有好。)
答案 0 :(得分:0)
据我所知,目前无法实现我所希望的目标。
可以检测到重叠多边形,但只有在其中一个点确实位于多边形内时才能检测到多边形。
简而言之:我无法找到一种方法来检测多边形两侧有多少点的折线,是否真的“触摸”#34;多边形。
解决方法本来可以采取每条腿"折线,分成几行(例如256,取决于你需要的分辨率),并检查每个点,看看它们是否在多边形内。
然而,这对于我所需要的东西来说要慢得多,因为它会导致我们单独检查数千个点。
此外,它更像是一个黑客攻击而不是一个解决方案,而且我不赞成在生产解决方案中使用它。