Showing
2 changed files
with
69 additions
and
67 deletions
| ... | @@ -127,13 +127,25 @@ function typeforecast(typetext){ | ... | @@ -127,13 +127,25 @@ function typeforecast(typetext){ |
| 127 | else false; | 127 | else false; |
| 128 | } | 128 | } |
| 129 | 129 | ||
| 130 | +function isroadnumber(typetext){ | ||
| 131 | + if(typetext == '노선정보'){ | ||
| 132 | + return true; | ||
| 133 | + } | ||
| 134 | + else{ | ||
| 135 | + return false; | ||
| 136 | + } | ||
| 137 | +} | ||
| 138 | + | ||
| 139 | + | ||
| 140 | + | ||
| 130 | 141 | ||
| 131 | app.post('/hook', function (req, res) { | 142 | app.post('/hook', function (req, res) { |
| 132 | //console.log(jsonForforecast); | 143 | //console.log(jsonForforecast); |
| 133 | 144 | ||
| 134 | var isstart; | 145 | var isstart; |
| 135 | var isforecast; | 146 | var isforecast; |
| 136 | - var isselecttypeforecast; | 147 | + var isselecttypeforecast; |
| 148 | + var isfindroad; | ||
| 137 | var istypeforecast; | 149 | var istypeforecast; |
| 138 | var eventObj = req.body.events[0]; | 150 | var eventObj = req.body.events[0]; |
| 139 | var source = eventObj.source; | 151 | var source = eventObj.source; |
| ... | @@ -153,6 +165,12 @@ app.post('/hook', function (req, res) { | ... | @@ -153,6 +165,12 @@ app.post('/hook', function (req, res) { |
| 153 | helloworld(eventObj); | 165 | helloworld(eventObj); |
| 154 | } | 166 | } |
| 155 | 167 | ||
| 168 | + isfindroad = isroadnumber(message.text); | ||
| 169 | + if(isfindroad == true){ | ||
| 170 | + console.log("노선번호를 궁금해 합니다.") | ||
| 171 | + roadnumber(eventObj); | ||
| 172 | + } | ||
| 173 | + | ||
| 156 | isforecast = firstforecast(message.text); | 174 | isforecast = firstforecast(message.text); |
| 157 | if(isforecast){ | 175 | if(isforecast){ |
| 158 | if(message.text == '1'){ | 176 | if(message.text == '1'){ |
| ... | @@ -163,6 +181,10 @@ app.post('/hook', function (req, res) { | ... | @@ -163,6 +181,10 @@ app.post('/hook', function (req, res) { |
| 163 | console.log('[request Order] ', message); | 181 | console.log('[request Order] ', message); |
| 164 | viewhtml(eventObj); | 182 | viewhtml(eventObj); |
| 165 | } | 183 | } |
| 184 | + else if (message.text == '3'){ | ||
| 185 | + console.log('[request Order] ', message); | ||
| 186 | + //tieupselect(eventObj); | ||
| 187 | + } | ||
| 166 | } | 188 | } |
| 167 | 189 | ||
| 168 | isselecttypeforecast = selecttypeforecast(message.text); | 190 | isselecttypeforecast = selecttypeforecast(message.text); |
| ... | @@ -220,7 +242,7 @@ function helloworld(eventObj){ | ... | @@ -220,7 +242,7 @@ function helloworld(eventObj){ |
| 220 | }, | 242 | }, |
| 221 | { | 243 | { |
| 222 | "type":"text", | 244 | "type":"text", |
| 223 | - "text":"현재 교통 예보가 궁금하시다면 1번을, 실시간 교통혼잡 상황을 보실려면 2번을 눌러주세요" | 245 | + "text":"현재 교통 예보가 궁금하시다면 1번을, 실시간 교통혼잡 상황을 보실려면 2번을, 실시간 정체상황을 알고 싶다면 3번을 눌러주세요. 노선정보는 '노선정보'를 입력해주세요." |
| 224 | } | 246 | } |
| 225 | ] | 247 | ] |
| 226 | } | 248 | } |
| ... | @@ -241,11 +263,11 @@ function viewhtml(eventObj){ | ... | @@ -241,11 +263,11 @@ function viewhtml(eventObj){ |
| 241 | "messages":[ | 263 | "messages":[ |
| 242 | { | 264 | { |
| 243 | "type":"text", | 265 | "type":"text", |
| 244 | - "text":"실시간 교통상황 웹페이지로 안내합니다." | 266 | + "text":"실시간 전국 국도 및 고속국도 교통상황 웹페이지로 안내합니다." |
| 245 | }, | 267 | }, |
| 246 | { | 268 | { |
| 247 | "type":"text", | 269 | "type":"text", |
| 248 | - "text":"https://www.chyoss.tk:23023/public/maprealtime.html" | 270 | + "text":"http://www.chyoss.tk:24024/public/maprealtime.html" |
| 249 | } | 271 | } |
| 250 | ] | 272 | ] |
| 251 | } | 273 | } |
| ... | @@ -548,6 +570,42 @@ function normalforecasttoG(eventObj){ | ... | @@ -548,6 +570,42 @@ function normalforecasttoG(eventObj){ |
| 548 | 570 | ||
| 549 | } | 571 | } |
| 550 | 572 | ||
| 573 | +function roadnumber(eventObj){ | ||
| 574 | + request.post( | ||
| 575 | + { | ||
| 576 | + url: TARGET_URL, | ||
| 577 | + headers: { | ||
| 578 | + 'Authorization': `Bearer ${TOKEN}` | ||
| 579 | + }, | ||
| 580 | + json: { | ||
| 581 | + "replyToken":eventObj.replyToken, | ||
| 582 | + "messages":[ | ||
| 583 | + { | ||
| 584 | + "type":"text", | ||
| 585 | + "text":"고속도로 노선 번호는 다음과 같습니다." | ||
| 586 | + }, | ||
| 587 | + { | ||
| 588 | + "type":"text", | ||
| 589 | + "text":"경부 및 남북 구간: 1-경부선, 15-서해안선, 17-평택파주선, 25-호남 및 논산천안선, 27-순천완주선, 29-세종포천지선, 35-통영대전 및 중부선, 37-제2중부선, 45-중부내륙선, 55-중앙선, 65-동해선" | ||
| 590 | + }, | ||
| 591 | + { | ||
| 592 | + "type":"text", | ||
| 593 | + "text":"동서 구간 : 10-남해, 12-무안광주 및 광주대구선, 16-울산선, 20-새만금포항선, 30-당진영덕선, 32-아산청주선, 40-평택제천선, 50-영동선, 52-광주원주선, 60-서울양양선" | ||
| 594 | + }, | ||
| 595 | + { | ||
| 596 | + "type":"text", | ||
| 597 | + "text":"순환 및 경인 구간: 100-서울외각순환선, 300-대전남부선, 400-수도권제2순환, 600-부산외곽순환선, 110-제2 경인선, 120-경인선, 130-인천공항선" | ||
| 598 | + }, | ||
| 599 | + { | ||
| 600 | + "type":"text", | ||
| 601 | + "text":"지선 구간: 102-남해 제1지선, 104-남해 제2지선, 105-남해 제3지선, 151-서천공주선, 153-평택시흥선, 171-오산화성 및 용인서울선, 204-새만금포항지선2, 251-호남지선, 253-고참담양선, 301-상주영천선, 451-중부내륙지선, 551-중앙지선" | ||
| 602 | + } | ||
| 603 | + ] | ||
| 604 | + } | ||
| 605 | + },(error, response, body) => { | ||
| 606 | + console.log(body) | ||
| 607 | + }); | ||
| 608 | +} | ||
| 551 | 609 | ||
| 552 | // var url1 = 'http://data.ex.co.kr/openapi/odtraffic/trafficAmountByCongest'; | 610 | // var url1 = 'http://data.ex.co.kr/openapi/odtraffic/trafficAmountByCongest'; |
| 553 | // var queryParams1 = '?' + encodeURIComponent('key') + '=4365330273'; /* Service Key*/ | 611 | // var queryParams1 = '?' + encodeURIComponent('key') + '=4365330273'; /* Service Key*/ |
| ... | @@ -635,6 +693,13 @@ try { | ... | @@ -635,6 +693,13 @@ try { |
| 635 | HTTPS.createServer(option, app).listen(sslport, () => { | 693 | HTTPS.createServer(option, app).listen(sslport, () => { |
| 636 | console.log(`[HTTPS] Server is started on port ${sslport}`); | 694 | console.log(`[HTTPS] Server is started on port ${sslport}`); |
| 637 | }); | 695 | }); |
| 696 | + | ||
| 697 | + var server = app.listen(24024, function () { | ||
| 698 | + var host = server.address().address | ||
| 699 | + var port = server.address().port | ||
| 700 | + console.log("Example app listening at http://%s:%s", host, port) | ||
| 701 | + }); | ||
| 702 | + | ||
| 638 | } catch (error) { | 703 | } catch (error) { |
| 639 | console.log('[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.'); | 704 | console.log('[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.'); |
| 640 | console.log(error); | 705 | console.log(error); | ... | ... |
| ... | @@ -26,18 +26,6 @@ | ... | @@ -26,18 +26,6 @@ |
| 26 | var POPUP_LAYERS = []; | 26 | var POPUP_LAYERS = []; |
| 27 | var EPSG_4326 = new OpenLayers.Projection('EPSG:4326'); | 27 | var EPSG_4326 = new OpenLayers.Projection('EPSG:4326'); |
| 28 | var EPSG_900913 = new OpenLayers.Projection('EPSG:900913'); | 28 | var EPSG_900913 = new OpenLayers.Projection('EPSG:900913'); |
| 29 | - function getCORSURL(uri, type) { | ||
| 30 | - var yqlUri = 'http://query.yahooapis.com/v1/public/yql?q=' + | ||
| 31 | - encodeURIComponent('SELECT * FROM ' + type + ' where url="' + uri + '"'); | ||
| 32 | - if (type == 'html') { | ||
| 33 | - yqlUri += encodeURIComponent(' and xpath="/*"'); | ||
| 34 | - } else if (type == 'json') { | ||
| 35 | - yqlUri += "&callback=&format=json"; | ||
| 36 | - } else if (type == 'xml') { | ||
| 37 | - yqlUri += "&format=xml"; | ||
| 38 | - } | ||
| 39 | - return yqlUri; | ||
| 40 | - } | ||
| 41 | </script> | 29 | </script> |
| 42 | <script type="text/javascript" src="http://openapi.its.go.kr/javascript/openapi.ntic.js"></script> | 30 | <script type="text/javascript" src="http://openapi.its.go.kr/javascript/openapi.ntic.js"></script> |
| 43 | <script type="text/javascript"> | 31 | <script type="text/javascript"> |
| ... | @@ -79,58 +67,7 @@ | ... | @@ -79,58 +67,7 @@ |
| 79 | // 교통정보 종료 | 67 | // 교통정보 종료 |
| 80 | map.addLayers(NOPOP_LAYERS); | 68 | map.addLayers(NOPOP_LAYERS); |
| 81 | map.addLayers(POPUP_LAYERS); | 69 | map.addLayers(POPUP_LAYERS); |
| 82 | - | ||
| 83 | - | ||
| 84 | - | ||
| 85 | - // 아이콘 클릭시 팝업 설정 시작 | ||
| 86 | - var controlSelect = new OpenLayers.Control.SelectFeature(POPUP_LAYERS, { | ||
| 87 | - clickout:true, toggle:false, multiple:false, | ||
| 88 | - onSelect:function(feature){ | ||
| 89 | - var data = feature.data; | ||
| 90 | - var message =''; | ||
| 91 | - switch(feature.layer.id) { | ||
| 92 | - case 'weatherLayer': | ||
| 93 | - message += weather.getMessage(data); | ||
| 94 | - break; | ||
| 95 | - case 'constructionLayer': | ||
| 96 | - message += construction.getMessage(data); | ||
| 97 | - break; | ||
| 98 | - case 'accidentLayer': | ||
| 99 | - message += accident.getMessage(data); | ||
| 100 | - break; | ||
| 101 | - case 'cctvLayer': | ||
| 102 | - message += cctv.getMessage(data); | ||
| 103 | - break; | ||
| 104 | - case 'warningLayer': | ||
| 105 | - message += warning.getMessage(data); | ||
| 106 | - break; | ||
| 107 | - case 'tourLayer': | ||
| 108 | - message += tour.getMessage(data); | ||
| 109 | - break; | ||
| 110 | - default: | ||
| 111 | - return false; | ||
| 112 | - } | ||
| 113 | - var selectedFeature = feature; | ||
| 114 | - var popup = new OpenLayers.Popup.FramedCloud("popup", | ||
| 115 | - feature.geometry.getBounds().getCenterLonLat(), null, | ||
| 116 | - message, null, true, function(e){controlSelect.unselect(selectedFeature);}); | ||
| 117 | - popup.minSize = new OpenLayers.Size(200,200); | ||
| 118 | - popup.maxSize = new OpenLayers.Size(400,400); | ||
| 119 | - feature.popup = popup; | ||
| 120 | - map.addPopup(popup); | ||
| 121 | - }, | ||
| 122 | - onUnselect:function(feature){ | ||
| 123 | - map.removePopup(feature.popup); | ||
| 124 | - feature.popup.destroy(); | ||
| 125 | - feature.popup = null; | ||
| 126 | - } | ||
| 127 | - }); | ||
| 128 | - map.addControls([controlSelect]); | ||
| 129 | - controlSelect.activate(); | ||
| 130 | - // 아이콘 클릭시 팝업 설정 종료 | ||
| 131 | } | 70 | } |
| 132 | </script> | 71 | </script> |
| 133 | </body> | 72 | </body> |
| 134 | </html> | 73 | </html> |
| 135 | - | ||
| 136 | - --> | ... | ... |
-
Please register or login to post a comment