Javascript 检测多段线是否与多边形相交
我有一些多段线(坐标数组,表示路线) 我还有一个多边形(由4个坐标组成的矩形) 它们用于谷歌地图(API v3) -- 我需要知道这些多段线是否与多边形相交,如果是,多段线与哪个相交 我希望有一个函数可以将多边形对象和多段线数组发送到,这样它将返回相交多段线的列表 例如,可以这样称呼:Javascript 检测多段线是否与多边形相交,javascript,google-maps-api-3,polygon,polyline,intersect,Javascript,Google Maps Api 3,Polygon,Polyline,Intersect,我有一些多段线(坐标数组,表示路线) 我还有一个多边形(由4个坐标组成的矩形) 它们用于谷歌地图(API v3) -- 我需要知道这些多段线是否与多边形相交,如果是,多段线与哪个相交 我希望有一个函数可以将多边形对象和多段线数组发送到,这样它将返回相交多段线的列表 例如,可以这样称呼: var result = checkForIntersects(radiusPoly, polylines); 如果前两条多段线相交,则结果可能为“0,1”;如果没有多段线相交,则结果可能为“0,1” 希望它有
var result = checkForIntersects(radiusPoly, polylines);
如果前两条多段线相交,则结果可能为“0,1”;如果没有多段线相交,则结果可能为“0,1”
希望它有意义:-)
此处提供的多边形和多段线示例:
(更新2018-02-01:对不起,我刚刚注意到我的示例不再有效。但是坐标在那里。我想总比没有好。)从我所能告诉的来看,目前没有办法实现我所希望的 可以检测重叠多边形,但仅当其中一个点精确位于多边形内部时,才可以检测多段线 简言之:我找不到一种方法来检测在多边形两侧都有点的多段线是否准确地“接触”多边形 解决方法可能是将多段线的每个“支腿”分割成几条线(例如,256条线,取决于所需的分辨率),然后检查这些点中的每个点,以查看它们是否位于多边形内 然而,对于我所需要的,这是非常缓慢的,因为这将导致我需要单独检查数千个点 此外,它更像是一种黑客行为而不是一种解决方案,我不赞成将其应用于生产解决方案中