計算一個點是否在多邊形里 JavaScript實現

oofw5751 8年前發布 | 4K 次閱讀 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;  
}  
 本文由用戶 oofw5751 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!