Image Added
행정동 기준 경계 데이터가 추가되면서, 법정동 데이터와 함께 조회될 경우 경계가 중복 표시될 수 있습니다. 자세한 내용은 [i-AUD] GeoMap 컴포넌트 (지도, 맵) 사용 가이드 의 "지리 데이터 최신화 안내" 를 참고하시기 바랍니다. ✔ 해결 방법 1) Source 보고서 재적용 해당 이슈를 반영하여 Source 보고서가 수정되었습니다. → Source 보고서를 최신 버전으로 재다운로드 후 적용하시기 바랍니다. 2) 직접 수정 기존 보고서를 유지해야 하는 경우, 아래와 같이 수정이 필요합니다. - Server Script > @VARIABLES
VS_GID_DIV_TYPE 변수 설정 로직 추가
- Server Script > @MAP_QUERY
- 법정동 / 행정동 경계 데이터를 구분하여 조회하도록 수정
| 변경 전 | 변경 후 |
|---|
| 코드 블럭 |
|---|
| // 선택 항목의 하위 보기
var langSQL = "\n , CASE WHEN T2.LABEL IS NULL THEN T1.LABEL --DEFUALT NAME"
+ "\n ELSE T2.LABEL -- KOREAN NAME"
+ "\n END AS LABEL";
if(VS_GID_3){
sql = " SELECT T1.GID_0 AS GID_0 "
+ "\n , T1.GID_1 AS GID_1 "
+ "\n , T1.GID_2 AS GID_2 "
+ "\n , T1.GID_3 AS GID_3 "
+ "\n , T1.GID_4 AS GID_4 "
+ "\n , '' AS GID_5 "
+ "\n , T1.NAME AS NAME "
+ "\n , T1.PROPERTY AS PROPERTY "
+ langSQL
+ "\n , T1.GEO AS GEO "
+ "\n , 4 AS LEVEL_VALUE "
+ "\n , T1.MIN_X AS MIN_X "
+ "\n , T1.MIN_Y AS MIN_Y "
+ "\n , T1.MAX_X AS MAX_X "
+ "\n , T1.MAX_Y AS MAX_Y "
+ "\n FROM MAP_GEO_4 T1 "
+ "\n LEFT JOIN MAP_GEO_LANGUAGE T2 "
+ "\n ON T1.GID_4 = T2.GID_CODE "
+ "\n WHERE GID_0 IN(:VS_GID_0) "
+ "\n AND GID_1 IN(:VS_GID_1) "
+ "\n AND GID_2 IN(:VS_GID_2) "
+ "\n AND GID_3 IN(:VS_GID_3) ";
}else if(VS_GID_2){
sql = " SELECT T1.GID_0 AS GID_0 "
+ "\n , T1.GID_1 AS GID_1 "
+ "\n , T1.GID_2 AS GID_2 "
+ "\n , T1.GID_3 AS GID_3 "
+ "\n , '' AS GID_4 "
+ "\n , '' AS GID_5 "
+ "\n , T1.NAME AS NAME "
+ "\n , T1.PROPERTY AS PROPERTY "
+ langSQL
+ "\n , T1.GEO AS GEO "
+ "\n , 3 AS LEVEL_VALUE "
+ "\n , T1.MIN_X AS MIN_X "
+ "\n , T1.MIN_Y AS MIN_Y "
+ "\n , T1.MAX_X AS MAX_X "
+ "\n , T1.MAX_Y AS MAX_Y "
+ "\n FROM MAP_GEO_3 T1 "
+ "\n LEFT JOIN MAP_GEO_LANGUAGE T2 "
+ "\n ON T1.GID_3 = T2.GID_CODE "
+ "\n WHERE GID_0 IN(:VS_GID_0) "
+ "\n AND GID_1 IN(:VS_GID_1) "
+ "\n AND GID_2 IN(:VS_GID_2) "; |
|
| 코드 블럭 |
|---|
| var DIV_TYPE = {
"B": "법정동",
"H": "행정동",
};
if(util.IsNullOrEmpty(VS_GID_DIV_TYPE)) VS_GID_DIV_TYPE = DIV_TYPE["B"]; //하위 호환성을 위해, VS_DIVISION_TYPE이 없을 경우 법정동으로 조회합니다.
Matrix.WriteLog("[GeoMap] Source Server Script: 찐찐찐 @VARIABLES VS_GID_DIV_TYPE::"+VS_GID_DIV_TYPE);
// 선택 항목의 하위 보기
var langSQL = "\n , CASE WHEN T2.LABEL IS NULL THEN T1.LABEL --DEFUALT NAME"
+ "\n ELSE T2.LABEL -- KOREAN NAME"
+ "\n END AS LABEL";
if(VS_GID_3){
sql = " SELECT T1.GID_0 AS GID_0 "
+ "\n , T1.GID_1 AS GID_1 "
+ "\n , T1.GID_2 AS GID_2 "
+ "\n , T1.GID_3 AS GID_3 "
+ "\n , T1.GID_4 AS GID_4 "
+ "\n , '' AS GID_5 "
+ "\n , T1.NAME AS NAME "
+ "\n , T1.PROPERTY AS PROPERTY "
+ langSQL
+ "\n , T1.GEO AS GEO "
+ "\n , 4 AS LEVEL_VALUE "
+ "\n , T1.MIN_X AS MIN_X "
+ "\n , T1.MIN_Y AS MIN_Y "
+ "\n , T1.MAX_X AS MAX_X "
+ "\n , T1.MAX_Y AS MAX_Y "
+ "\n FROM MAP_GEO_4 T1 "
+ "\n LEFT JOIN MAP_GEO_LANGUAGE T2 "
+ "\n ON T1.GID_4 = T2.GID_CODE "
+ "\n WHERE GID_0 IN(:VS_GID_0) "
+ "\n AND GID_1 IN(:VS_GID_1) "
+ "\n AND GID_2 IN(:VS_GID_2) "
+ "\n AND GID_3 IN(:VS_GID_3) ";
if(VS_GID_DIV_TYPE == DIV_TYPE["B"]){ //법정동 코드 조회
sql += "\n AND GID_4 NOT LIKE '%H' ";
}else { //행정동 코드 조회
sql += "\n AND GID_4 LIKE '%H' ";
}
}else if(VS_GID_2){
sql = " SELECT T1.GID_0 AS GID_0 "
+ "\n , T1.GID_1 AS GID_1 "
+ "\n , T1.GID_2 AS GID_2 "
+ "\n , T1.GID_3 AS GID_3 "
+ "\n , '' AS GID_4 "
+ "\n , '' AS GID_5 "
+ "\n , T1.NAME AS NAME "
+ "\n , T1.PROPERTY AS PROPERTY "
+ langSQL
+ "\n , T1.GEO AS GEO "
+ "\n , 3 AS LEVEL_VALUE "
+ "\n , T1.MIN_X AS MIN_X "
+ "\n , T1.MIN_Y AS MIN_Y "
+ "\n , T1.MAX_X AS MAX_X "
+ "\n , T1.MAX_Y AS MAX_Y "
+ "\n FROM MAP_GEO_3 T1 "
+ "\n LEFT JOIN MAP_GEO_LANGUAGE T2 "
+ "\n ON T1.GID_3 = T2.GID_CODE "
+ "\n WHERE GID_0 IN(:VS_GID_0) "
+ "\n AND GID_1 IN(:VS_GID_1) "
+ "\n AND GID_2 IN(:VS_GID_2) ";
if(VS_GID_DIV_TYPE == DIV_TYPE["B"]){ //법정동 코드 조회
sql += "\n AND GID_3 NOT LIKE '%H' ";
}else { //행정동 코드 조회
sql += "\n AND GID_3 LIKE '%H' ";
} |
|
📌 참고 |