Showing
4 changed files
with
77 additions
and
6 deletions
... | @@ -5,6 +5,7 @@ require('dotenv').config(); | ... | @@ -5,6 +5,7 @@ require('dotenv').config(); |
5 | 5 | ||
6 | /* GET home page. */ | 6 | /* GET home page. */ |
7 | let SIGUN_CODE; | 7 | let SIGUN_CODE; |
8 | +let GYEONGI_API_KEY = process.env.GYEONGGI_APIKEY; | ||
8 | let user_latitude; | 9 | let user_latitude; |
9 | let user_logitude; | 10 | let user_logitude; |
10 | let sigun = [{ | 11 | let sigun = [{ |
... | @@ -180,7 +181,6 @@ router.post('/', function(req, res) { | ... | @@ -180,7 +181,6 @@ router.post('/', function(req, res) { |
180 | router.get('/food', function(req, res) { | 181 | router.get('/food', function(req, res) { |
181 | 182 | ||
182 | // 맛집 리스트 조회 | 183 | // 맛집 리스트 조회 |
183 | - let GYEONGI_API_KEY = process.env.GYEONGGI_APIKEY; | ||
184 | let sigun_cd = SIGUN_CODE; | 184 | let sigun_cd = SIGUN_CODE; |
185 | let url = 'https://openapi.gg.go.kr/PlaceThatDoATasteyFoodSt'; | 185 | let url = 'https://openapi.gg.go.kr/PlaceThatDoATasteyFoodSt'; |
186 | let fastfood_url = 'https://openapi.gg.go.kr/Genrestrtfastfood' | 186 | let fastfood_url = 'https://openapi.gg.go.kr/Genrestrtfastfood' |
... | @@ -193,7 +193,7 @@ router.get('/food', function(req, res) { | ... | @@ -193,7 +193,7 @@ router.get('/food', function(req, res) { |
193 | if (!err && res.statusCode == 200) { | 193 | if (!err && res.statusCode == 200) { |
194 | let food_result = JSON.parse(body); | 194 | let food_result = JSON.parse(body); |
195 | // console.log('food_result', food_result.PlaceThatDoATasteyFoodSt[1]); | 195 | // console.log('food_result', food_result.PlaceThatDoATasteyFoodSt[1]); |
196 | - let store_names = [] | 196 | + let store_names = []; |
197 | for (let i = 0; i < food_result.PlaceThatDoATasteyFoodSt[1].row.length; i++) { | 197 | for (let i = 0; i < food_result.PlaceThatDoATasteyFoodSt[1].row.length; i++) { |
198 | // 상호명, 음식명, 전화번호, 도로명주소(REFINE_ROADNM_ADDR), 지번 주소(REFINE_LOTNO_ADDR) | 198 | // 상호명, 음식명, 전화번호, 도로명주소(REFINE_ROADNM_ADDR), 지번 주소(REFINE_LOTNO_ADDR) |
199 | store_name = food_result.PlaceThatDoATasteyFoodSt[1].row[i]; | 199 | store_name = food_result.PlaceThatDoATasteyFoodSt[1].row[i]; |
... | @@ -211,12 +211,13 @@ router.get('/food', function(req, res) { | ... | @@ -211,12 +211,13 @@ router.get('/food', function(req, res) { |
211 | let fast_store_names = [] | 211 | let fast_store_names = [] |
212 | for (let i = 0; i < fast_food_result.Genrestrtfastfood[1].row.length; i++) { | 212 | for (let i = 0; i < fast_food_result.Genrestrtfastfood[1].row.length; i++) { |
213 | fast_store_name = fast_food_result.Genrestrtfastfood[1].row[i]; | 213 | fast_store_name = fast_food_result.Genrestrtfastfood[1].row[i]; |
214 | + // 폐업인 지점 제외 | ||
214 | if (fast_store_name['BSN_STATE_NM'] != '폐업') { | 215 | if (fast_store_name['BSN_STATE_NM'] != '폐업') { |
215 | console.log('fast_store_name', fast_store_name); | 216 | console.log('fast_store_name', fast_store_name); |
216 | fast_store_names.push(fast_store_name); | 217 | fast_store_names.push(fast_store_name); |
217 | } | 218 | } |
218 | } | 219 | } |
219 | - res.render('result', { store_names: store_names, fast_store_names: fast_store_names }); | 220 | + res.render('food_result', { store_names: store_names, fast_store_names: fast_store_names }); |
220 | } | 221 | } |
221 | 222 | ||
222 | }) | 223 | }) |
... | @@ -225,7 +226,44 @@ router.get('/food', function(req, res) { | ... | @@ -225,7 +226,44 @@ router.get('/food', function(req, res) { |
225 | }); | 226 | }); |
226 | }); | 227 | }); |
227 | router.get('/school', function(req, res) { | 228 | router.get('/school', function(req, res) { |
228 | - res.send('This is school'); | 229 | + |
230 | + let library_url = 'https://openapi.gg.go.kr/Tbggibllbrm'; | ||
231 | + let institute_url = 'https://openapi.gg.go.kr/TninsttInstutM'; | ||
232 | + let qs = `?KEY=${GYEONGI_API_KEY}&SIGUN_CD=${SIGUN_CODE}&Type=json`; | ||
233 | + | ||
234 | + request({ | ||
235 | + url: library_url + qs, | ||
236 | + method: 'GET' | ||
237 | + }, function(err, response, body) { | ||
238 | + if (!err && res.statusCode == 200) { | ||
239 | + let library_result = JSON.parse(body); | ||
240 | + console.log(library_result); | ||
241 | + let library_names = []; | ||
242 | + for (let i = 0; i < library_result.Tbggibllbrm[1].row.length; i++) { | ||
243 | + // 상호명, 음식명, 전화번호, 도로명주소(REFINE_ROADNM_ADDR), 지번 주소(REFINE_LOTNO_ADDR) | ||
244 | + library_name = library_result.Tbggibllbrm[1].row[i]; | ||
245 | + console.log('library_name', library_name); | ||
246 | + library_names.push(library_name); | ||
247 | + } | ||
248 | + request({ | ||
249 | + url: institute_url + qs, | ||
250 | + method: 'GET' | ||
251 | + }, function(err, response, body) { | ||
252 | + if (!err && res.statusCode == 200) { | ||
253 | + let institute_result = JSON.parse(body); | ||
254 | + console.log(institute_result); | ||
255 | + let institute_names = []; | ||
256 | + for (let i = 0; i < institute_result.TninsttInstutM[1].row.length; i++) { | ||
257 | + // 상호명, 음식명, 전화번호, 도로명주소(REFINE_ROADNM_ADDR), 지번 주소(REFINE_LOTNO_ADDR) | ||
258 | + institute_name = institute_result.TninsttInstutM[1].row[i]; | ||
259 | + console.log('institute_name', institute_name); | ||
260 | + institute_names.push(institute_name); | ||
261 | + } | ||
262 | + res.render('school_result', { library_names: library_names, institute_names: institute_names }); | ||
263 | + } | ||
264 | + }) | ||
265 | + } | ||
266 | + }) | ||
229 | }); | 267 | }); |
230 | router.get('/park', function(req, res) { | 268 | router.get('/park', function(req, res) { |
231 | let GYEONGI_API_KEY = process.env.GYEONGGI_APIKEY; | 269 | let GYEONGI_API_KEY = process.env.GYEONGGI_APIKEY; | ... | ... |
... | @@ -36,7 +36,7 @@ | ... | @@ -36,7 +36,7 @@ |
36 | <img src="/img/school.jpg" class="card-img-top" alt="..."> | 36 | <img src="/img/school.jpg" class="card-img-top" alt="..."> |
37 | <div class="card-body"> | 37 | <div class="card-body"> |
38 | <h5 class="card-title">학군</h5> | 38 | <h5 class="card-title">학군</h5> |
39 | - <p class="card-text">주변 학교, 학원 환경</p> | 39 | + <p class="card-text">주변 학원 및 도서관 현황</p> |
40 | <a href="/category/school" class="btn btn-primary">검사!</a> | 40 | <a href="/category/school" class="btn btn-primary">검사!</a> |
41 | </div> | 41 | </div> |
42 | </div> | 42 | </div> | ... | ... |
views/school_result.ejs
0 → 100644
1 | +<!DOCTYPE html> | ||
2 | +<html lang="ko"> | ||
3 | + | ||
4 | +<head> | ||
5 | + <meta charset="UTF-8"> | ||
6 | + <title>✍️ 결과 페이지</title> | ||
7 | +</head> | ||
8 | + | ||
9 | +<body> | ||
10 | + <h1>📚 도서관 현황 </h1> | ||
11 | + <%for (var i =0; i <library_names.length; i++){%> | ||
12 | + <li> | ||
13 | + <%=library_names[i].LIBRRY_NM%> | ||
14 | + </li> | ||
15 | + | ||
16 | + <%}%> | ||
17 | + <h3>총 도서관 개수 : | ||
18 | + <%=library_names.length%> | ||
19 | + </h3> | ||
20 | + <h1>📒 학원 현황 </h1> | ||
21 | + <%for (var i =0; i <institute_names.length; i++){%> | ||
22 | + <li> | ||
23 | + <%=institute_names[i].FACLT_NM%> | ||
24 | + </li> | ||
25 | + | ||
26 | + <%}%> | ||
27 | + <h3>학원 및 교습소 개수 : | ||
28 | + <%=institute_names.length%> | ||
29 | + </h3> | ||
30 | + | ||
31 | +</body> | ||
32 | + | ||
33 | +</html> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
-
Please register or login to post a comment