/**
* 判断一个点是否在多边形内部
* @param posArray 多边形坐标集合
* @param point 测试点坐标
* 返回true为真,false为假
* */
function insidePolygon(posArray, point){
var x = point[0], y = point[1];
var inside = false;
for (var i = 0, j = posArray.length - 1; i < posArray.length; j = i++) {
var xi = posArray[i].x, yi = posArray[i].y;
var xj = posArray[j].x, yj = posArray[j].y;
var intersect = ((yi > y) != (yj > y))
&& (x < (xj - xi) * (y - yi) / (yj - yi) + xi);
if (intersect) inside = !inside;
}
return inside;
}