최현영
var express = require('express')
, http = require('http')
, path = require('path');
var request = require('request');
var bodyParser = require('body-parser')
, cookieParser = require('cookie-parser')
, static = require('serve-static')
, errorHandler = require('errorhandler');
var expressSession = require('express-session');
var app = express();
app.set('port', process.env.PORT || 3000);
// body-parser를 이용해 application/x-www-form-urlencoded 파싱
app.use(bodyParser.urlencoded({ extended: false }))
// body-parser를 이용해 application/json 파싱
app.use(bodyParser.json())
// public 폴더를 static으로 오픈
app.use('/public', static(path.join(__dirname, 'public')));
// cookie-parser 설정
app.use(cookieParser());
// 세션 설정
app.use(expressSession({
secret:'my key',
resave:true,
saveUninitialized:true
}));
// 라우터 객체 참조
var router = express.Router();
router.route('/process/map').get(function(req, res){
console.log('process/map 호출됨');
});
app.use('/', router);
var url1 = 'http://data.ex.co.kr/openapi/odtraffic/trafficAmountByCongest';
var queryParams1 = '?' + encodeURIComponent('key') + '=4365330273'; /* Service Key*/
queryParams1 += '&' + encodeURIComponent('type') + '=' + encodeURIComponent('json'); /* */
request({
url: url1 + queryParams1,
method: 'GET'
}, function (error, response, body) {
console.log('Status', response.statusCode);
console.log('Headers', JSON.stringify(response.headers));
console.log('Reponse received', body);
var obj = JSON.parse(body);
console.log(obj);
console.log(obj.list[0])
});
var url2 = 'http://data.ex.co.kr/openapi/safeDriving/forecast';
var queryParams2 = '?' + encodeURIComponent('key') + '=4365330273'; /* Service Key*/
queryParams2 += '&' + encodeURIComponent('type') + '=' + encodeURIComponent('json'); /* */
request({
url: url2 + queryParams2,
method: 'GET'
}, function (error, response, body) {
console.log('Status', response.statusCode);
console.log('Headers', JSON.stringify(response.headers));
console.log('Reponse received', body);
var obj = JSON.parse(body);
console.log(obj);
console.log(obj.list[0])
});
var url3 = 'http://data.ex.co.kr/openapi/trafficapi/trafficAll';
var queryParams3 = '?' + encodeURIComponent('key') + '=4365330273'; /* Service Key*/
queryParams3 += '&' + encodeURIComponent('type') + '=' + encodeURIComponent('json'); /* */
request({
url: url3 + queryParams3,
method: 'GET'
}, function (error, response, body) {
console.log('Status', response.statusCode);
console.log('Headers', JSON.stringify(response.headers));
console.log('Reponse received', body);
var obj = JSON.parse(body);
console.log(obj);
console.log(obj.trafficAll[0]);
});
var url4 = 'http://data.ex.co.kr/openapi/trafficapi/trafficRegion';
var queryParams4 = '?' + encodeURIComponent('key') + '=4365330273'; /* Service Key*/
queryParams4 += '&' + encodeURIComponent('type') + '=' + encodeURIComponent('json'); /* */
request({
url: url4 + queryParams4,
method: 'GET'
}, function (error, response, body) {
console.log('Status', response.statusCode);
console.log('Headers', JSON.stringify(response.headers));
console.log('Reponse received', body);
var obj = JSON.parse(body);
console.log(obj);
console.log(obj.trafficRegion[0]);
});
var url5 = 'http://data.ex.co.kr/openapi/business/conveniServiceArea';
var queryParams5 = '?' + encodeURIComponent('key') + '=4365330273'; /* Service Key*/
queryParams5 += '&' + encodeURIComponent('type') + '=' + encodeURIComponent('json'); /* */
request({
url: url5 + queryParams5,
method: 'GET'
}, function (error, response, body) {
console.log('Status', response.statusCode);
console.log('Headers', JSON.stringify(response.headers));
console.log('Reponse received', body);
var obj = JSON.parse(body);
console.log(obj);
console.log(obj.list[0]);
});
// Express 서버 시작
http.createServer(app).listen(app.get('port'), function(){
console.log('서버가 시작되었습니다. 포트 : ' + app.get('port'));
});
{
"name": "whereur",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "ssh://git@khuhub.khu.ac.kr:12959/2019102236/WhereUR.git"
},
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.19.0",
"cookie-parser": "^1.4.5",
"crypto": "^1.0.1",
"errorhandler": "^1.5.1",
"express": "^4.17.1",
"express-error-handler": "^1.1.0",
"express-session": "^1.17.1",
"http": "0.0.1-security",
"mongoose": "^5.9.16",
"path": "^0.12.7",
"request": "^2.88.2"
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Kakao 지도 시작하기</title>
</head>
<body>
<form method="get" action="/process/map">
<div id="map" style="width:800px;height:800px;"></div>
<script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=b335546caf8f2178d70b550aee16f1ea"></script>
<script>
var container = document.getElementById('map');
var options = {
center: new kakao.maps.LatLng(37.243210, 127.077108),
level: 3
};
var map = new kakao.maps.Map(container, options);
map.addOverlayMapTypeId(kakao.maps.MapTypeId.TRAFFIC);
</script>
</form>
</body>
</html>
\ No newline at end of file