Explorar o código

update statistic & web-rtc info

junggilpark hai 2 meses
pai
achega
1102024c17

+ 1 - 1
src/main/java/egovframework/com/its/web/server/controller/NoticeController.java

@@ -60,7 +60,7 @@ public class NoticeController {
     @RequestMapping(value = "/notice/getFile.do", method = RequestMethod.GET, produces = "application/json; charset=UTF8")
     @ResponseBody
     public ResultVO getFile(HttpServletRequest request, HttpServletResponse response, @RequestParam Map<String, Object> paramMap, @Value("${attach_path}") String attachFilePath) {
-        return this.noticeService.attatchedFileDownload(request, response, paramMap, attachFilePath);
+        return this.noticeService.attatchedFileDownload(paramMap, attachFilePath);
     }
 
     @RequestMapping(value = "/notice/getNoticeList.do", method = RequestMethod.POST)

+ 9 - 8
src/main/java/egovframework/com/its/web/server/service/NoticeService.java

@@ -130,23 +130,18 @@ public class NoticeService{
 
     /**
      * 첨부 파일 다운로드
-     * @param request 리퀘스트
-     * @param response 리스폰스
      * @param paramMap 파라미터
      */
-    public ResultVO attatchedFileDownload(HttpServletRequest request, HttpServletResponse response, Map<String, Object> paramMap, String ATTATCH_FILE_PATH){
+    public ResultVO attatchedFileDownload(Map<String, Object> paramMap, String ATTATCH_FILE_PATH){
         File uploadFileHome = new File(ATTATCH_FILE_PATH);
         String fileName     = paramMap.get("fileName").toString();
         String fileId       = paramMap.get("fileId").toString();
         String filteredName = "";
         String base64 = null;
-//        byte[] bytes = null;
 
         String msg = "파일 다운로드가 정상적으로 처리되었습니다.";
         String result = "S";
-        if (fileName != null && !"".equals(fileName)) {
-            filteredName = fileName.replaceAll("(\r\n|\r|\n|\n\r|&|/)", "");
-        }
+
 
         File downloadFile = new File(uploadFileHome, fileId);
         int fileSize = (int)downloadFile.length();
@@ -164,11 +159,17 @@ public class NoticeService{
         }
         else {
             log.error("파일이 존재하지 않습니다. fileId : {}, fileName : {}", fileId, fileName);
-//            throw new NotFoundException("파일이 존재하지 않습니다. fileId : " + fileId + ", fileName : "+ fileName);
             msg = "파일이 존재하지 않습니다. 파일명 : "+ fileName;
             result = "F";
         }
 
+        if (paramMap.get("boardNo") != null && result.equals("S")) {
+            HashMap<String, String> updateMap = new HashMap<>();
+            updateMap.put("boardNo", (String)paramMap.get("boardNo"));
+            updateMap.put("boardId", "2");
+            this.updateNoticeReadCount(updateMap);
+        }
+
         ResultVO resultVo = new ResultVO();
         resultVo.setResult(result);
         resultVo.setMsg(msg);

+ 4 - 1
src/main/webapp/WEB-INF/jsp/egovframework/admin/status.jsp

@@ -174,6 +174,9 @@
 	const toMonth = $('#to-month');
 	const toDay   = $('#to-day');
 	const chart   = $('#highcharts');
+	const colors = ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b',
+		'#e377c2', '#7f7f7f', '#bcbd22', '#17becf', '#aec7e8', '#ffbb78',
+		'#98df8a', '#ff9896', '#c5b0d5', '#c49c94' ];
 
 	/**
 	 * 년도 날짜에 따른 월, 일 범위값 설정
@@ -310,7 +313,7 @@
 								str += '<td style="text-align:center">'+cnt+'</td>';
 							}
 						});
-						series.push({name: title , data: statsinarr.splice(0, xAxis.length)});
+						series.push({name: title , data: statsinarr.splice(0, xAxis.length), color : colors[idx]});
 						str += '</tr>';
 					});
 

+ 3 - 3
src/main/webapp/WEB-INF/jsp/egovframework/main/main.jsp

@@ -48,9 +48,9 @@
 
 <%--<%@ include file="/WEB-INF/jsp/egovframework/include/daumApiKey.jsp" %>--%>
 <script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=${key}"></script>
-<script src="/js/main.js"   type="text/javascript"></script>
-<script src="/js/common.js" type="text/javascript"></script>
-<script src="/js/traffic.js" type="text/javascript"></script>
+<script src="/js/main.js?v=20250526"   type="text/javascript"></script>
+<script src="/js/common.js?v=20250526" type="text/javascript"></script>
+<script src="/js/traffic.js?v=20250526" type="text/javascript"></script>
 
 <script type="text/javascript">
     init();

+ 6 - 3
src/main/webapp/WEB-INF/jsp/egovframework/statistics/connStat.jsp

@@ -37,9 +37,7 @@
 							</c:forEach>
 						</select>
 						<div class="to-box" style="display: none">
-							&nbsp;
 							~
-							&nbsp;
 							<select title="검색 종료 년도" id="to-year" onchange="selectDateChanger(true, true)">
 								<c:forEach begin="${thisYear-5}" end="${thisYear}" varStatus="status"><option value="<fmt:formatNumber pattern="00" value="${status.current}"/>" <c:if test="${status.current == thisYear}">selected</c:if>>${status.current}년</option>
 								</c:forEach>
@@ -164,6 +162,9 @@
 	const toYear = $('#to-year');
 	const toMonth = $('#to-month');
 	const toDay  = $('#to-day');
+	const colors = ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b',
+		'#e377c2', '#7f7f7f', '#bcbd22', '#17becf', '#aec7e8', '#ffbb78',
+		'#98df8a', '#ff9896', '#c5b0d5', '#c49c94' ];
 
 	/**
 	 * 년도 날짜에 따른 월, 일 범위값 설정
@@ -296,7 +297,7 @@
 								str += '<td style="text-align:center">'+cnt+'</td>';
 							}
 						});
-						series.push({name: title , data: statsinarr.splice(0, xAxis.length)});
+						series.push({name: title , data: statsinarr.splice(0, xAxis.length), color : colors[idx]});
 						str += '</tr>';
 					});
 
@@ -662,7 +663,9 @@
 		});
 	}
 
+
 	function drawCharts(title, xAxis, xTitle, yTitle, series, legendTitle, date) {
+
 		Highcharts.chart('highcharts', {
 			chart: {
 				type: 'line',

+ 51 - 14
src/main/webapp/WEB-INF/jsp/egovframework/statistics/info.jsp

@@ -144,8 +144,8 @@
     <!-- // 좌측목록 지도 영역 -->
     <!-- 서브 지도 영역 -->
     <article class="mapArea statistics">
-        <div id="statistics_map">
-        </div>
+        <div id="statistics_map"></div>
+        <img class="legend-img" alt="소통등급" src="/common/images/trafficStatus.png">
         <div class="move-up" onclick="move(this)"></div>
         <div class="mapContent statistics">
             <div class="check-text">※ 속도와 통행시간 확인 후 이용하시기 바랍니다.</div>
@@ -181,8 +181,6 @@
     <!-- // 서브 지도 영역 -->
 </section>
 <script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=${key}"></script>
-<script src="/js/xlsx-0.18.12.min.js"></script>
-<script src="/js/fileSaver-1.3.8.min.js"></script>
 <script type="text/javascript">
     let _statLimit = ${statLimit};
     let atrdList = '${atrdNmList}';
@@ -223,14 +221,16 @@
         $('.mapContent.statistics').toggleClass('on');
         $('#statistics_map').toggleClass('on');
         $(el).toggleClass('on');
+        $('.legend-img').toggleClass('on');
     }
 
     function optionChange(el) {
         const value = $(el).val();
         totMoveEvent('list-box', 'selected-ixr');
         if (value) {
-            $('label[for="ixr_'+value+'"]').click();
-            $('label[for="ixr_'+value+'"]').dblclick();
+            const label = $('label[for="ixr_'+value+'"]');
+            label.click();
+            label.dblclick();
         }
     }
 
@@ -279,13 +279,15 @@
     kakao.maps.event.addListener(_Map, 'zoom_changed', function () {
         // 지도의 현재 레벨을 얻어옵니다
         _Level = _Map.getLevel();
+        // drawRoadMap();
         drawRoadMap();
     });
 
     kakao.maps.event.addListener(_Map, 'dragend', function () {
+        // drawRoadMap();
+        console.log('test2');
         drawRoadMap();
     });
-
     getAtrdInfo();
 
     /**
@@ -315,7 +317,7 @@
                 }
             },
             complete: function () {
-                drawRoadMap()
+                drawRoadMap();
             },
             error: function (request, status, error) {
             },
@@ -353,11 +355,40 @@
             this.x_crdn_min   = obj.x_crdn_min;
             this.x_crdn_max   = obj.x_crdn_max;
             this.road_ord     = obj.road_ord;
+            this.cmtr_grad_cd = obj.cmtr_grad_cd;
             this.obj = obj;
             this.polyline = null;
             this.polylineBack = null;
             this.content = null;
             this.marker = null;
+            this.colors = {
+                LTC0 : {
+                    text : '정보없음',
+                    color : '#888888',
+                },
+                LTC1 : {
+                    text: '소통원할',
+                    color: '#00981e'
+                },
+                LTC2 : {
+                    text: '지체',
+                    color: '#fead0e'
+                },
+                LTC3 :  {
+                    text: '정체',
+                    color :'#ff0000'
+                },
+                null :  {
+                    text : '정보없음',
+                    color : '#888888',
+                },
+                '' :  {
+                    text : '정보없음',
+                    color : '#888888',
+                },
+            };
+            this.trvl_hh = obj.trvl_hh;
+            this.sped = obj.sped;
             this.makeMarkers();
             this.isClick = false;
         }
@@ -366,12 +397,11 @@
             let xCrdnArr = this.x_crdn.split(',');
             let yCrdnArr = this.y_crdn.split(',');
             let linePath = [];
-
             for (let ii = 0; ii < xCrdnArr.length; ii++) {
                 linePath.push(new daum.maps.LatLng(yCrdnArr[ii], xCrdnArr[ii]));
             }
-
-            const cmtrGradColor = '#00981e';
+            // const cmtrGradColor = this.colors[this.cmtr_grad_cd];
+            const cmtrGradColor = this.colors[this.cmtr_grad_cd].color;
             let strokeWeight = 3;
             let strokeWeightBack = 5;
             let size = 48;
@@ -420,11 +450,12 @@
             if (sectLngt && !isNaN(Number(sectLngt))) {
                 sectLngt = sectLngt.toString().replace(/\B(?<!\.\d*)(?=(\d{3})+(?!\d))/g, ",");
             }
-            this.content = '<div class="mapPop traffic_LTC0">'
-                            + '<div class="head"><span class="title">' + obj.road_nm + '</span></div>'
+            this.content = '<div class="mapPop traffic_' + this.cmtr_grad_cd + '">'
+                            + '<div class="head"><span class="title">' + obj.road_nm + '</span><span class="traff'
+                            + 'ic">' + this.colors[this.cmtr_grad_cd].text + '</span></div>'
                             + '<div class="cont"><dl>'
                             + '<dt>[ ' + obj.strt_nm_node + ' ] 부터<br/>[ ' + obj.end_nm_node + ' ] 까지</dt>'
-                            + '<dd>구간거리 : ' + sectLngt + ' m</dd>'
+                            + '<dd>소요시간 : 약 ' + obj.trvl_hh + ' 분<br/>평균속도 : ' + obj.sped + ' km/h<br>구간거리 : ' + sectLngt + ' m</dd>'
                             + '</dl></div>';
 
             daum.maps.event.addListener(this.polyline, 'mouseover', function (mouseEvent) {
@@ -515,6 +546,7 @@
 
         _beforeLevel = level;
         const currentMarkerArr = _atrdMap.get(level).get("markerObj");
+
         currentMarkerArr.forEach((marker)=>{
             marker.showHide(_Map);
         });
@@ -560,6 +592,7 @@
             const atrd = _AtrdId[ii];
             const atrd5 = _atrdMap.get(5).get(atrd);
             const atrd6 = _atrdMap.get(6).get(atrd);
+
             for (let jj = 0; jj < atrd5.length; jj++) {
                 const polyObj = atrd5[jj];
                 bounds.extend(new daum.maps.LatLng(polyObj.y_crdn_min, polyObj.x_crdn_min));
@@ -570,6 +603,10 @@
         }
 
         _Map.setBounds(bounds);
+        const level = getAtrdLevel();
+        const deleteLevel = level === 5 ? 6 : 5;
+        _atrdMap.get(deleteLevel).get(_AtrdId[0])[0].marker.setMap(null);
+        _atrdMap.get(deleteLevel).get(_AtrdId[1])[0].marker.setMap(null);
     }
 
     function excelDown(){

+ 1 - 1
src/main/webapp/WEB-INF/jsp/egovframework/tiles/empty.jsp

@@ -10,7 +10,7 @@
 <%--    <link rel="stylesheet" type="text/css" href="/css/video-js.min.css" />--%>
     <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
     <link rel="stylesheet" type="text/css" href="/common/css/Exsting_style.css" />
-    <script type="text/javascript" src="/js/common.js?v=20250401"></script>
+    <script type="text/javascript" src="/js/common.js?v=20250526"></script>
     <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
     <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
     <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>

+ 5 - 5
src/main/webapp/WEB-INF/jsp/egovframework/tiles/template.jsp

@@ -20,13 +20,13 @@
     <title>평택시 교통정보센터 - ${subTitle}</title>
 
     <link href="/common/bootstrap-5.1.3-dist/css/bootstrap.min.css" rel="stylesheet">
-    <link rel="stylesheet" type="text/css" href="/common/css/reset.css?v=20250430" />
-    <link rel="stylesheet" type="text/css" href="/common/css/layout.css?v=20250430" />
-    <link rel="stylesheet" type="text/css" href="/common/css/contents.css?v=20250430" />
-    <link rel="stylesheet" type="text/css" href="/common/css/Exsting_style.css?v=20250430">
+    <link rel="stylesheet" type="text/css" href="/common/css/reset.css?v=20250526" />
+    <link rel="stylesheet" type="text/css" href="/common/css/layout.css?v=20250526" />
+    <link rel="stylesheet" type="text/css" href="/common/css/contents.css?v=20250526" />
+    <link rel="stylesheet" type="text/css" href="/common/css/Exsting_style.css?v=20250526">
     <link rel="stylesheet" type="text/css" href="/common/css/jquery-ui-1.13.2.min.css">
     <script type="text/javascript"  src="/js/jquery-3.7.0.min.js"></script>
-    <script type="text/javascript" src="/js/common.js?v=20250428"></script>
+    <script type="text/javascript" src="/js/common.js?v=20250526"></script>
     <script src="/js/jquery-ui-1.13.2.min.js"></script>
 </head>
 <body>

+ 3 - 3
src/main/webapp/WEB-INF/jsp/egovframework/traffic/cctv.jsp

@@ -34,9 +34,9 @@
 
 <%--<%@ include file="/WEB-INF/jsp/egovframework/include/daumApiKey.jsp" %>--%>
 <script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=${key}"></script>
-<script src="/js/main.js" type="text/javascript"></script>
-<script src="/js/common.js" type="text/javascript"></script>
-<script src="/js/traffic.js" type="text/javascript"></script>
+<script src="/js/main.js?v=20250526" type="text/javascript"></script>
+<script src="/js/common.js?v=20250526" type="text/javascript"></script>
+<script src="/js/traffic.js?v=20250526" type="text/javascript"></script>
 <script type="text/javascript">
 	getCctvCtlr();
 	setInterval(getVertexArr, 1000 * 60 * 5);

+ 5 - 5
src/main/webapp/WEB-INF/jsp/egovframework/traffic/cctvPopup.jsp

@@ -23,14 +23,14 @@
     <!-- Bootstrap CSS -->
 
     <link href="/common/bootstrap-5.1.3-dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
-    <link rel="stylesheet" type="text/css" href="/common/css/reset.css?v=20250430" />
-    <link rel="stylesheet" type="text/css" href="/common/css/layout.css?v=20250430" />
-    <link rel="stylesheet" type="text/css" href="/common/css/contents.css?v=20250430" />
-    <link rel="stylesheet" type="text/css" href="/common/css/Exsting_style.css?v=20250430">
+    <link rel="stylesheet" type="text/css" href="/common/css/reset.css?v=20250526" />
+    <link rel="stylesheet" type="text/css" href="/common/css/layout.css?v=20250528" />
+    <link rel="stylesheet" type="text/css" href="/common/css/contents.css?v=20250526" />
+    <link rel="stylesheet" type="text/css" href="/common/css/Exsting_style.css?v=20250526">
     <link rel="stylesheet" type="text/css" href="/common/css/jquery-ui-1.13.2.min.css">
     <script src="/js/jquery-3.7.0.min.js"></script>
     <script src="/js/jquery-ui-1.13.2.min.js"></script>
-    <script type="text/javascript" src="/js/common.js?v=20250430"></script>
+    <script type="text/javascript" src="/js/common.js?v=20250526"></script>
 <%--    <script src="/js/HiVeWebRtcPlayer/webrtcadapter.js"></script>--%>
 <%--    <script src="/js/HiVeWebRtcPlayer/HiVeWebRtcPlayer.js"></script>--%>
     <script type="text/javascript" src="/js/js_sdk/adapter.js"></script>

+ 4 - 4
src/main/webapp/WEB-INF/jsp/egovframework/traffic/cctvPopupM.jsp

@@ -23,10 +23,10 @@
     <!-- Bootstrap CSS -->
 
     <link href="/common/bootstrap-5.1.3-dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
-    <link rel="stylesheet" type="text/css" href="/common/css/reset.css" />
-    <link rel="stylesheet" type="text/css" href="/common/css/layout.css" />
-    <link rel="stylesheet" type="text/css" href="/common/css/contents.css" />
-    <link rel="stylesheet" type="text/css" href="/common/css/Exsting_style.css">
+    <link rel="stylesheet" type="text/css" href="/common/css/reset.css?v=20250528" />
+    <link rel="stylesheet" type="text/css" href="/common/css/layout.css?v=20250528" />
+    <link rel="stylesheet" type="text/css" href="/common/css/contents.css?v=20250528" />
+    <link rel="stylesheet" type="text/css" href="/common/css/Exsting_style.cs?v=20250528s">
     <link rel="stylesheet" type="text/css" href="/common/css/jquery-ui-1.13.2.min.css">
     <script src="/js/jquery-3.7.0.min.js"></script>
     <script src="/js/jquery-ui-1.13.2.min.js"></script>

+ 3 - 3
src/main/webapp/WEB-INF/jsp/egovframework/traffic/incd.jsp

@@ -35,9 +35,9 @@
 
 <%--<%@ include file="/WEB-INF/jsp/egovframework/include/daumApiKey.jsp" %>--%>
 <script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=${key}"></script>
-<script src="/js/main.js" type="text/javascript"></script>
-<script src="/js/common.js" type="text/javascript"></script>
-<script src="/js/traffic.js" type="text/javascript"></script>
+<script src="/js/main.js?v=20250526" type="text/javascript"></script>
+<script src="/js/common.js?v=20250526" type="text/javascript"></script>
+<script src="/js/traffic.js?v=20250526" type="text/javascript"></script>
 <script type="text/javascript">
 	// getIncdOcrr();
 	setInterval(getVertexArr, 1000 * 60 * 5);

+ 3 - 3
src/main/webapp/WEB-INF/jsp/egovframework/traffic/realtime.jsp

@@ -108,9 +108,9 @@
 
 <%--<%@ include file="/WEB-INF/jsp/egovframework/include/daumApiKey.jsp" %>--%>
 <script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=${key}"></script>
-<script src="/js/main.js" type="text/javascript"></script>
-<script src="/js/common.js" type="text/javascript"></script>
-<script src="/js/traffic.js" type="text/javascript"></script>
+<script src="/js/main.js?v=20250526" type="text/javascript"></script>
+<script src="/js/common.js?v=20250526" type="text/javascript"></script>
+<script src="/js/traffic.js?v=20250526" type="text/javascript"></script>
 <script type="text/javascript">
     _TrafficFlag = false;
     setInterval(getVertexArr, 1000 * 60 * 5);

+ 3 - 3
src/main/webapp/WEB-INF/jsp/egovframework/traffic/vms.jsp

@@ -35,9 +35,9 @@
 
 <%--<%@ include file="/WEB-INF/jsp/egovframework/include/daumApiKey.jsp" %>--%>
 <script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=${key}"></script>
-<script src="/js/main.js" type="text/javascript"></script>
-<script src="/js/common.js" type="text/javascript"></script>
-<script src="/js/traffic.js" type="text/javascript"></script>
+<script src="/js/main.js?v=20250526" type="text/javascript"></script>
+<script src="/js/common.js?v=20250526" type="text/javascript"></script>
+<script src="/js/traffic.js?v=20250526" type="text/javascript"></script>
 <script type="text/javascript">
 	getVmsCtlr();
 	setInterval(getVertexArr, 1000 * 60 * 5);

+ 12 - 0
src/main/webapp/common/css/layout.css

@@ -63,6 +63,13 @@ header {
   z-index: 999;
 }
 
+.statistics .legend-img {
+  bottom: 314px; right: 46px;
+}
+
+.statistics .legend-img.on {
+  top: 121px;
+}
 .top-tab>div {
   position: relative;
   width: calc(100% - 20px);
@@ -297,6 +304,11 @@ footer a {
   .mapArea.statistics{
     height: calc(100% - 297px);
   }
+
+
+  .statistics .legend-img {
+    display: none;
+  }
   .main-container {
     flex-direction: column;
     height: 100%;

+ 1 - 3
src/main/webapp/js/common.js

@@ -332,6 +332,7 @@ _CctvCtlrObj = function (obj) {
     kakao.maps.event.addListener(this.cctvMarker, 'click', ()=>cctvClickEvt(this));
 
     function cctvClickEvt(obj) {
+        console.log(obj);
         let cctvList = $('#cctvList');
         if (_cctvPopupObj && _popUp) {
             _cctvPopupObj.click = false;
@@ -2040,7 +2041,6 @@ function fileDownload(fileId, fileName, boardNo) {
         },
         method : "GET",
         success : (req)=> {
-            // console.log(req);
             if (!req) {
                 alert("파일 다운로드 중 오류가 발생하였습니다.");
             }
@@ -2048,7 +2048,6 @@ function fileDownload(fileId, fileName, boardNo) {
                 alert(req.msg);
             }
             else {
-                // const url = window.URL.createObjectURL("");
                 if (!req.files) {
                     return alert("파일 정보를 불러오지 못했습니다.");
                 }
@@ -2062,7 +2061,6 @@ function fileDownload(fileId, fileName, boardNo) {
         },
         error : (error)=>{
             alert("파일 다운로드 중 오류가 발생하였습니다.");
-            // console.log(error);
         }
     })
 }

+ 10 - 18
src/main/webapp/js/traffic.js

@@ -190,18 +190,14 @@ function showAtrdTrfInfo() {
 	            }
 	            _FwdLineArr.push(el);
 	        } else if (_AtrdId[1] == el.atrd_id) { // 끝라인
-	            el
-	                .polylineBack
-	                .setOptions({
-	                    //strokeColor : '#FF0000' red
-	                    strokeColor: '#000000', //black
-	                    zIndex: 3
-	                });
+	            el.polylineBack.setOptions({
+                    strokeColor: '#000000', //black
+                    zIndex: 3
+                });
 	
-	            el
-	                .polyline
-	                .setOptions({zIndex: 4});
-	            if ($('#mapOfLetters').length > 0) { //소통정보메뉴 문자데이터..
+	            el.polyline.setOptions({zIndex: 4});
+
+                if ($('#mapOfLetters').length > 0) { //소통정보메뉴 문자데이터..
 	                lettersStr += '<tr><td><a href="javascript:void(0)" title="방향:' + el.drct_cd + ',도로:' + el.atrd_nm +
 	                        ',속도:' + el.sped + 'km/h"><' + el.drct_cd + '>&nbsp;[' + el.atrd_nm + ']&nbsp;&' +
 	                        'nbsp;&nbsp;&nbsp;&nbsp;<strong>' + el.sped + ' km/h </strong></a></td><td><a h' +
@@ -340,16 +336,12 @@ function sideListShow(content) {
 
 /*CCTV 정보*/
 
-function showCctvInfo(id,nm) {
-	$('#selectCctv').text(nm+' 지도 CCTV 정보');
+function showCctvInfo(id) {
     _CctvCtlrArr.some(function (el) {
-        if (el.cctv_mngm_nmbr === id) {
+        if (el.cctv_mngm_nmbr.toString() === id.toString()) {
             _Map.panTo(new daum.maps.LatLng(el.y_crdn, el.x_crdn));
-            //setTimeout(function () {
-                el.cctvClickEvt(el);
 
-                
-           // }, 100 * 5);
+            el.cctvClickEvt(el);
             return true;
         }
     });