/**
* 지도 클릭 위치와 폴리곤 교차 부분 추출
*/
function onIntersectArea(e){
var lonLat = e.layer.map.getLonLatFromPixel({'x':e.x, 'y':e.y});
var point = new OpenLayers.Geometry.Point(lonLat.lon, lonLat.lat);
var features = [];
var empIdArr = new Array();
for(var i = 0; i < e.layer.features.length; i++){
features[i] = e.layer.features[i].geometry;
var isResult = point.intersects(features[i]);
var map = {};
if(isResult){
map['targetId'] = e.layer.features[i].attributes.TARGET_ID;
map['targetNm'] = e.layer.features[i].attributes.DEPT_NM;
if(commonHeatMapVals.heatMapData != null){
map['factVal'] = e.attributes[commonHeatMapVals.heatMapData.factColumns];
}
empIdArr.push(map);
}
}
//화면을 축소하여 클릭하는경우 생성된 point가 폴리곤의 경게에 물려서 정보를 못가져 오는경우가 있다.
//그런경우는 공간연산을 함에도 해당하는 정보들을 가지고 올 수 없으므로 그냥 선택한 데이터를 넣어준다.
var map = {};
if(empIdArr.length == 0){
map['targetId'] = e.layer.features[0].attributes.TARGET_ID;
map['targetNm'] = e.layer.features[0].attributes.DEPT_NM;
if(commonHeatMapVals.heatMapData != null){
map['factVal'] = e.attributes[commonHeatMapVals.heatMapData.factColumns];
}
empIdArr.push(map);
}
return empIdArr;
}