计算一个点是否在多边形里 JavaScript实现详解编程语言

[JavaScript]代码    

/**  
 * 计算一个点是否在多边形里  
 * @param {Object} pt 标注点  
 * @param {Object} poly 多边形数组  
 */   
function isInsidePolygon(pt, poly){   
    for (var c = false, i = -1, l = poly.length, j = l - 1; ++i < l; j = i)    
        ((poly[i].lat <= pt.lat && pt.lat < poly[j].lat) || (poly[j].lat <= pt.lat && pt.lat < poly[i].lat)) &&   
        (pt.lng < (poly[j].lng - poly[i].lng) * (pt.lat - poly[i].lat) / (poly[j].lat - poly[i].lat) + poly[i].lng) &&   
        (c = !c);   
    return c;   
}  

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/8760.html

(0)
上一篇 2021年7月18日 22:20
下一篇 2021年7月18日 22:20

相关推荐

发表回复

登录后才能评论