Showing
10 changed files
with
102 additions
and
61 deletions
api/Foods.js
deleted
100644 → 0
File mode changed
1 | -var map; | ||
2 | var pos; | 1 | var pos; |
3 | var infowindow; | 2 | var infowindow; |
4 | var service; | 3 | var service; |
5 | -var result_food = []; | ||
6 | -var result_entertainment = []; | ||
7 | -var result_room = []; | ||
8 | 4 | ||
9 | -export { pos as posiiton }; | 5 | +var result_entertainment = [] |
10 | -export { result_food as foodList }; | 6 | +var result_food = [] |
11 | -export { result_entertainment as entList }; | 7 | +var result_room = [] |
12 | -export { result_room as roomList }; | ||
13 | 8 | ||
14 | function initMap() { | 9 | function initMap() { |
15 | - map = new google.maps.Map(document.getElementById('map'), { | ||
16 | - center: {lat: -34.397, lng: 150.644}, | ||
17 | - zoom: 17 | ||
18 | - }); | ||
19 | - infowindow = new google.maps.InfoWindow(); | ||
20 | - | ||
21 | - | ||
22 | // Try HTML5 geolocation. | 10 | // Try HTML5 geolocation. |
23 | if (navigator.geolocation) { | 11 | if (navigator.geolocation) { |
24 | navigator.geolocation.getCurrentPosition(function(position) { | 12 | navigator.geolocation.getCurrentPosition(function(position) { |
... | @@ -27,22 +15,22 @@ function initMap() { | ... | @@ -27,22 +15,22 @@ function initMap() { |
27 | lng: position.coords.longitude | 15 | lng: position.coords.longitude |
28 | }; | 16 | }; |
29 | 17 | ||
18 | + var map = new google.maps.Map(document.getElementById('map'), { | ||
19 | + center: pos, | ||
20 | + zoom: 17 | ||
21 | + }); | ||
22 | + infowindow = new google.maps.InfoWindow(); | ||
23 | + | ||
30 | map.setCenter(pos); | 24 | map.setCenter(pos); |
31 | 25 | ||
32 | service = new google.maps.places.PlacesService(map); | 26 | service = new google.maps.places.PlacesService(map); |
33 | 27 | ||
34 | - service.nearbySearch({ | ||
35 | - location: pos, | ||
36 | - radius: 500, | ||
37 | - type: ['bakery'] | ||
38 | - }, callback_foods); | ||
39 | - | ||
40 | searchPlace('bar','food'); | 28 | searchPlace('bar','food'); |
41 | searchPlace('cafe','food'); | 29 | searchPlace('cafe','food'); |
42 | searchPlace('meal_delivery','food'); | 30 | searchPlace('meal_delivery','food'); |
43 | searchPlace('meal_takeaway','food'); | 31 | searchPlace('meal_takeaway','food'); |
44 | searchPlace('restaurant','food'); | 32 | searchPlace('restaurant','food'); |
45 | - | 33 | + searchPlace('bakery','food'); |
46 | 34 | ||
47 | searchPlace('department_store','entertainment'); | 35 | searchPlace('department_store','entertainment'); |
48 | searchPlace('movie_theater','entertainment'); | 36 | searchPlace('movie_theater','entertainment'); |
... | @@ -52,6 +40,17 @@ function initMap() { | ... | @@ -52,6 +40,17 @@ function initMap() { |
52 | searchPlace('zoo','entertainment'); | 40 | searchPlace('zoo','entertainment'); |
53 | 41 | ||
54 | searchPlace('lodging','room'); | 42 | searchPlace('lodging','room'); |
43 | + | ||
44 | + // put data to db | ||
45 | + for (var i = 0; i < results_food.length; i++) { | ||
46 | + putDataToDB(results_food[i], 'food') | ||
47 | + } | ||
48 | + for (var i = 0; i < results_entertainment.length; i++) { | ||
49 | + putDataToDB(results_entertainment[i], 'entertainment') | ||
50 | + } | ||
51 | + for (var i = 0; i < results_room.length; i++) { | ||
52 | + putDataToDB(results_room[i], 'room') | ||
53 | + } | ||
55 | }); | 54 | }); |
56 | } | 55 | } |
57 | } | 56 | } |
... | @@ -62,21 +61,21 @@ function searchPlace(str, placeType) { | ... | @@ -62,21 +61,21 @@ function searchPlace(str, placeType) { |
62 | service.nearbySearch({ | 61 | service.nearbySearch({ |
63 | location: pos, | 62 | location: pos, |
64 | radius: 500, | 63 | radius: 500, |
65 | - type: ['meal_takeaway'] | 64 | + type: [str] |
66 | }, callback_foods); | 65 | }, callback_foods); |
67 | break; | 66 | break; |
68 | case 'entertainment': | 67 | case 'entertainment': |
69 | service.nearbySearch({ | 68 | service.nearbySearch({ |
70 | location: pos, | 69 | location: pos, |
71 | radius: 500, | 70 | radius: 500, |
72 | - type: [str.toString()] | 71 | + type: [str] |
73 | }, callback_entertainment); | 72 | }, callback_entertainment); |
74 | break; | 73 | break; |
75 | case 'room': | 74 | case 'room': |
76 | service.nearbySearch({ | 75 | service.nearbySearch({ |
77 | location: pos, | 76 | location: pos, |
78 | radius: 500, | 77 | radius: 500, |
79 | - type: ['lodging'] | 78 | + type: [str] |
80 | }, callback_rooms); | 79 | }, callback_rooms); |
81 | break; | 80 | break; |
82 | default: | 81 | default: |
... | @@ -112,8 +111,6 @@ function callback_rooms(results, status) { | ... | @@ -112,8 +111,6 @@ function callback_rooms(results, status) { |
112 | } | 111 | } |
113 | } | 112 | } |
114 | 113 | ||
115 | - | ||
116 | - | ||
117 | function createMarker_foods(place) { | 114 | function createMarker_foods(place) { |
118 | var marker = new google.maps.Marker({ | 115 | var marker = new google.maps.Marker({ |
119 | map: map, | 116 | map: map, |
... | @@ -155,3 +152,78 @@ function createMarker_rooms(place) { | ... | @@ -155,3 +152,78 @@ function createMarker_rooms(place) { |
155 | infowindow.open(map, this); | 152 | infowindow.open(map, this); |
156 | }); | 153 | }); |
157 | } | 154 | } |
155 | + | ||
156 | +function putDataToDB(result, category1) { | ||
157 | + const id = result; | ||
158 | + const place_id =result; | ||
159 | + const name = result; | ||
160 | + const address = result; | ||
161 | + let category_big = category1 | ||
162 | + const category_small = result; | ||
163 | + const image = result; | ||
164 | + const rating = result; | ||
165 | + const lng = result; | ||
166 | + const lat =result; | ||
167 | + | ||
168 | + const QueryCheck = () => { | ||
169 | + if (!id || !place_id || !name || !address || !category_big || !category_small || !image || !rating || !lng || !lat) { | ||
170 | + return Promise.reject({ | ||
171 | + message: 'Query Error' | ||
172 | + }) | ||
173 | + } | ||
174 | + return Promise.resolve() | ||
175 | + } | ||
176 | + | ||
177 | + // 2. SQL Start | ||
178 | + const SQLStart = async (pool) => { | ||
179 | + try { | ||
180 | + let data = await pool.query('INSERT INTO PLACE(ID, PLACE_ID, NAME, ADDRESS, CATEGORY_BIG, CATEGORY_SMALL, IMAGE, RATING, LNG, LAT) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);', [id, place_id, name, address, category_big, category_small, image, rating, lng, lat]) | ||
181 | + return Promise.resolve(pool) | ||
182 | + } catch(err) { | ||
183 | + return Promise.reject(err) | ||
184 | + } | ||
185 | + } | ||
186 | + // 3. Response | ||
187 | + const Response = (rows) => { | ||
188 | + return res.status(200).json(rows) | ||
189 | + } | ||
190 | + | ||
191 | + // 1. Query Check | ||
192 | + const FindQueryCheck = () => { | ||
193 | + if (!keyword) { | ||
194 | + return Promise.reject({ | ||
195 | + message: 'Query Error' | ||
196 | + }) | ||
197 | + } | ||
198 | + else return pool | ||
199 | + } | ||
200 | + | ||
201 | + // 2. SQL Start | ||
202 | + const FindSQLStart = (pool) => { | ||
203 | + return pool.query(`SELECT * FROM PLACE WHERE ID LIKE '%${id}%') | ||
204 | + } | ||
205 | + | ||
206 | + // 3. Response | ||
207 | + const FindResponse = (rows) => { | ||
208 | + return res.status(200).json(rows) | ||
209 | + } | ||
210 | + | ||
211 | + if([] == FindQueryCheck() | ||
212 | + .then(FindSQLStart) | ||
213 | + .then(FindResponse) | ||
214 | + .catch(err => { | ||
215 | + if (err) { | ||
216 | + return res.status(500).json(err.message || err) | ||
217 | + } | ||
218 | + })) | ||
219 | + { | ||
220 | + QueryCheck() | ||
221 | + .then(SQLStart) | ||
222 | + .then(Response) | ||
223 | + .catch(err => { | ||
224 | + if (err) { | ||
225 | + return res.status(500).json(err.message || err) | ||
226 | + } | ||
227 | + }) | ||
228 | + } | ||
229 | +} | ... | ... |
1 | var express = require('express'); | 1 | var express = require('express'); |
2 | -var path = require('path'); | 2 | +var router = require('./routes'); |
3 | -var cookieParser = require('cookie-parser'); | ||
4 | -var logger = require('morgan'); | ||
5 | - | ||
6 | -var indexRouter = require('./routes/index'); | ||
7 | -var usersRouter = require('./routes/users'); | ||
8 | - | ||
9 | var app = express(); | 3 | var app = express(); |
10 | 4 | ||
11 | -app.use(logger('dev')); | 5 | +app.use('/', router); |
12 | -app.use(express.json()); | ||
13 | -app.use(express.urlencoded({ extended: false })); | ||
14 | -app.use(cookieParser()); | ||
15 | -app.use(express.static(path.join(__dirname, 'public'))); | ||
16 | - | ||
17 | -app.use('/', indexRouter); | ||
18 | -app.use('/users', usersRouter); | ||
19 | 6 | ||
20 | var server = app.listen(3000); | 7 | var server = app.listen(3000); | ... | ... |
main.js
deleted
100644 → 0
1 | -console.log("Hello World!"); | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -95,7 +95,7 @@ | ... | @@ -95,7 +95,7 @@ |
95 | </ul> | 95 | </ul> |
96 | 96 | ||
97 | <div id="content-wrapper"> | 97 | <div id="content-wrapper"> |
98 | - <script type="text/javascript" src="js/getPlaceList.js"></script> | 98 | + <script type="text/javascript" src="/../api/getPlaceList.js"></script> |
99 | <div id="map"></div> | 99 | <div id="map"></div> |
100 | <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDg4CkUEEt_96n1ork1nL5t4E_SpdKrgMI&libraries=places&callback=initMap" async defer></script> | 100 | <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDg4CkUEEt_96n1ork1nL5t4E_SpdKrgMI&libraries=places&callback=initMap" async defer></script> |
101 | <!-- Sticky Footer --> | 101 | <!-- Sticky Footer --> | ... | ... |
public/js/showEnt.js
deleted
100644 → 0
1 | -import entList from 'getPlaceList' |
public/js/showFood.js
deleted
100644 → 0
public/js/showRoom.js
deleted
100644 → 0
1 | -import roomList from 'getPlaceList' |
... | @@ -6,8 +6,4 @@ router.get('/', function(req, res, next) { | ... | @@ -6,8 +6,4 @@ router.get('/', function(req, res, next) { |
6 | res.render('index', { title: 'Express' }); | 6 | res.render('index', { title: 'Express' }); |
7 | }); | 7 | }); |
8 | 8 | ||
9 | -router.get('/Foods', function(req, res, next) { | ||
10 | - res.render('Foods', { title: 'Express' }); | ||
11 | -}); | ||
12 | - | ||
13 | module.exports = router; | 9 | module.exports = router; | ... | ... |
-
Please register or login to post a comment