Checks whether a point is inside a polygon.
Adapted from: [http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html]
[UPDATED CODE AND HELP CAN BE FOUND HERE: Point Inside a Polygon]
//+ Jonas Raoni Soares Silva //@ http://jsfromhell.com/classes/is-point-in-poly [v1.0] function isPointInPoly(poly, pt){ for(var c = false, i = -1, l = poly.length, j = l - 1; ++i < l; j = i) ((poly[i].y <= pt.y && pt.y < poly[j].y) || (poly[j].y <= pt.y && pt.y < poly[i].y)) && (pt.x < (poly[j].x - poly[i].x) * (pt.y - poly[i].y) / (poly[j].y - poly[i].y) + poly[i].x) && (c = !c); return c; }
Example
<script type="text/javascript"> //<![CDATA[ points = [ {x: 0, y: 0}, {x: 0, y: 50}, {x: 50, y: 10}, {x: -50, y: -10}, {x: 0, y: -50}, {x: 0, y: 0} ]; alert(isPointInPoly(points, {x: 10, y: 10}) ? "In" : "Out"); //]]> </script>