Showing
4 changed files
with
273 additions
and
1 deletions
| 1 | var express = require('express'); | 1 | var express = require('express'); |
| 2 | var app = express(); | 2 | var app = express(); |
| 3 | + | ||
| 4 | +app.set('view engine', 'ejs'); | ||
| 5 | + | ||
| 6 | +app.get('/quiz', function (req, res) { | ||
| 7 | + res.render('quiz'); | ||
| 8 | +}) | ||
| 9 | + | ||
| 3 | app.get('/', function (req, res) { | 10 | app.get('/', function (req, res) { |
| 4 | res.send('Hello World'); | 11 | res.send('Hello World'); |
| 5 | }) | 12 | }) |
| 6 | 13 | ||
| 7 | -var server = app.listen(3000, function () { | 14 | +var server = app.listen(23000, function () { |
| 8 | var host = server.address().address | 15 | var host = server.address().address |
| 9 | var port = server.address().port | 16 | var port = server.address().port |
| 10 | console.log("Example app listening at http://%s:%s", host, port) | 17 | console.log("Example app listening at http://%s:%s", host, port) | ... | ... |
| ... | @@ -13,11 +13,29 @@ | ... | @@ -13,11 +13,29 @@ |
| 13 | "negotiator": "0.6.2" | 13 | "negotiator": "0.6.2" |
| 14 | } | 14 | } |
| 15 | }, | 15 | }, |
| 16 | + "ansi-styles": { | ||
| 17 | + "version": "3.2.1", | ||
| 18 | + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||
| 19 | + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||
| 20 | + "requires": { | ||
| 21 | + "color-convert": "^1.9.0" | ||
| 22 | + } | ||
| 23 | + }, | ||
| 16 | "array-flatten": { | 24 | "array-flatten": { |
| 17 | "version": "1.1.1", | 25 | "version": "1.1.1", |
| 18 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", | 26 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", |
| 19 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" | 27 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" |
| 20 | }, | 28 | }, |
| 29 | + "async": { | ||
| 30 | + "version": "0.9.2", | ||
| 31 | + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", | ||
| 32 | + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" | ||
| 33 | + }, | ||
| 34 | + "balanced-match": { | ||
| 35 | + "version": "1.0.0", | ||
| 36 | + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", | ||
| 37 | + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" | ||
| 38 | + }, | ||
| 21 | "body-parser": { | 39 | "body-parser": { |
| 22 | "version": "1.19.0", | 40 | "version": "1.19.0", |
| 23 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", | 41 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", |
| ... | @@ -35,11 +53,48 @@ | ... | @@ -35,11 +53,48 @@ |
| 35 | "type-is": "~1.6.17" | 53 | "type-is": "~1.6.17" |
| 36 | } | 54 | } |
| 37 | }, | 55 | }, |
| 56 | + "brace-expansion": { | ||
| 57 | + "version": "1.1.11", | ||
| 58 | + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||
| 59 | + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||
| 60 | + "requires": { | ||
| 61 | + "balanced-match": "^1.0.0", | ||
| 62 | + "concat-map": "0.0.1" | ||
| 63 | + } | ||
| 64 | + }, | ||
| 38 | "bytes": { | 65 | "bytes": { |
| 39 | "version": "3.1.0", | 66 | "version": "3.1.0", |
| 40 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", | 67 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", |
| 41 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" | 68 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" |
| 42 | }, | 69 | }, |
| 70 | + "chalk": { | ||
| 71 | + "version": "2.4.2", | ||
| 72 | + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", | ||
| 73 | + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", | ||
| 74 | + "requires": { | ||
| 75 | + "ansi-styles": "^3.2.1", | ||
| 76 | + "escape-string-regexp": "^1.0.5", | ||
| 77 | + "supports-color": "^5.3.0" | ||
| 78 | + } | ||
| 79 | + }, | ||
| 80 | + "color-convert": { | ||
| 81 | + "version": "1.9.3", | ||
| 82 | + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", | ||
| 83 | + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", | ||
| 84 | + "requires": { | ||
| 85 | + "color-name": "1.1.3" | ||
| 86 | + } | ||
| 87 | + }, | ||
| 88 | + "color-name": { | ||
| 89 | + "version": "1.1.3", | ||
| 90 | + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", | ||
| 91 | + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" | ||
| 92 | + }, | ||
| 93 | + "concat-map": { | ||
| 94 | + "version": "0.0.1", | ||
| 95 | + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | ||
| 96 | + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" | ||
| 97 | + }, | ||
| 43 | "content-disposition": { | 98 | "content-disposition": { |
| 44 | "version": "0.5.3", | 99 | "version": "0.5.3", |
| 45 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", | 100 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", |
| ... | @@ -86,6 +141,14 @@ | ... | @@ -86,6 +141,14 @@ |
| 86 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", | 141 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", |
| 87 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" | 142 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" |
| 88 | }, | 143 | }, |
| 144 | + "ejs": { | ||
| 145 | + "version": "3.1.3", | ||
| 146 | + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.3.tgz", | ||
| 147 | + "integrity": "sha512-wmtrUGyfSC23GC/B1SMv2ogAUgbQEtDmTIhfqielrG5ExIM9TP4UoYdi90jLF1aTcsWCJNEO0UrgKzP0y3nTSg==", | ||
| 148 | + "requires": { | ||
| 149 | + "jake": "^10.6.1" | ||
| 150 | + } | ||
| 151 | + }, | ||
| 89 | "encodeurl": { | 152 | "encodeurl": { |
| 90 | "version": "1.0.2", | 153 | "version": "1.0.2", |
| 91 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", | 154 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", |
| ... | @@ -96,6 +159,11 @@ | ... | @@ -96,6 +159,11 @@ |
| 96 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", | 159 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", |
| 97 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" | 160 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" |
| 98 | }, | 161 | }, |
| 162 | + "escape-string-regexp": { | ||
| 163 | + "version": "1.0.5", | ||
| 164 | + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", | ||
| 165 | + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" | ||
| 166 | + }, | ||
| 99 | "etag": { | 167 | "etag": { |
| 100 | "version": "1.8.1", | 168 | "version": "1.8.1", |
| 101 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", | 169 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", |
| ... | @@ -138,6 +206,14 @@ | ... | @@ -138,6 +206,14 @@ |
| 138 | "vary": "~1.1.2" | 206 | "vary": "~1.1.2" |
| 139 | } | 207 | } |
| 140 | }, | 208 | }, |
| 209 | + "filelist": { | ||
| 210 | + "version": "1.0.1", | ||
| 211 | + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.1.tgz", | ||
| 212 | + "integrity": "sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==", | ||
| 213 | + "requires": { | ||
| 214 | + "minimatch": "^3.0.4" | ||
| 215 | + } | ||
| 216 | + }, | ||
| 141 | "finalhandler": { | 217 | "finalhandler": { |
| 142 | "version": "1.1.2", | 218 | "version": "1.1.2", |
| 143 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", | 219 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", |
| ... | @@ -162,6 +238,11 @@ | ... | @@ -162,6 +238,11 @@ |
| 162 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", | 238 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", |
| 163 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" | 239 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" |
| 164 | }, | 240 | }, |
| 241 | + "has-flag": { | ||
| 242 | + "version": "3.0.0", | ||
| 243 | + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||
| 244 | + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" | ||
| 245 | + }, | ||
| 165 | "http-errors": { | 246 | "http-errors": { |
| 166 | "version": "1.7.2", | 247 | "version": "1.7.2", |
| 167 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", | 248 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", |
| ... | @@ -192,6 +273,17 @@ | ... | @@ -192,6 +273,17 @@ |
| 192 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", | 273 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", |
| 193 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" | 274 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" |
| 194 | }, | 275 | }, |
| 276 | + "jake": { | ||
| 277 | + "version": "10.8.2", | ||
| 278 | + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", | ||
| 279 | + "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", | ||
| 280 | + "requires": { | ||
| 281 | + "async": "0.9.x", | ||
| 282 | + "chalk": "^2.4.2", | ||
| 283 | + "filelist": "^1.0.1", | ||
| 284 | + "minimatch": "^3.0.4" | ||
| 285 | + } | ||
| 286 | + }, | ||
| 195 | "media-typer": { | 287 | "media-typer": { |
| 196 | "version": "0.3.0", | 288 | "version": "0.3.0", |
| 197 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", | 289 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", |
| ... | @@ -225,6 +317,14 @@ | ... | @@ -225,6 +317,14 @@ |
| 225 | "mime-db": "1.44.0" | 317 | "mime-db": "1.44.0" |
| 226 | } | 318 | } |
| 227 | }, | 319 | }, |
| 320 | + "minimatch": { | ||
| 321 | + "version": "3.0.4", | ||
| 322 | + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", | ||
| 323 | + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", | ||
| 324 | + "requires": { | ||
| 325 | + "brace-expansion": "^1.1.7" | ||
| 326 | + } | ||
| 327 | + }, | ||
| 228 | "ms": { | 328 | "ms": { |
| 229 | "version": "2.0.0", | 329 | "version": "2.0.0", |
| 230 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | 330 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", |
| ... | @@ -341,6 +441,14 @@ | ... | @@ -341,6 +441,14 @@ |
| 341 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", | 441 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", |
| 342 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" | 442 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" |
| 343 | }, | 443 | }, |
| 444 | + "supports-color": { | ||
| 445 | + "version": "5.5.0", | ||
| 446 | + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", | ||
| 447 | + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", | ||
| 448 | + "requires": { | ||
| 449 | + "has-flag": "^3.0.0" | ||
| 450 | + } | ||
| 451 | + }, | ||
| 344 | "toidentifier": { | 452 | "toidentifier": { |
| 345 | "version": "1.0.0", | 453 | "version": "1.0.0", |
| 346 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", | 454 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", | ... | ... |
views/quiz.ejs
0 → 100644
| 1 | +<!DOCTYPE html> | ||
| 2 | +<html> | ||
| 3 | + | ||
| 4 | +<head> | ||
| 5 | + <meta charset="utf-8"> | ||
| 6 | + <title>로드뷰에 마커와 인포윈도우 올리기</title> | ||
| 7 | + <style> | ||
| 8 | + .screen_out { | ||
| 9 | + display: block; | ||
| 10 | + overflow: hidden; | ||
| 11 | + position: absolute; | ||
| 12 | + left: -9999px; | ||
| 13 | + width: 1px; | ||
| 14 | + height: 1px; | ||
| 15 | + font-size: 0; | ||
| 16 | + line-height: 0; | ||
| 17 | + text-indent: -9999px | ||
| 18 | + } | ||
| 19 | + | ||
| 20 | + .wrap_content { | ||
| 21 | + overflow: hidden; | ||
| 22 | + width: 1500px; | ||
| 23 | + height: 600px; | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + .wrap_map { | ||
| 27 | + width: 400px; | ||
| 28 | + height: 400px; | ||
| 29 | + float: left; | ||
| 30 | + } | ||
| 31 | + | ||
| 32 | + .wrap_roadview { | ||
| 33 | + width: 1100px; | ||
| 34 | + height: 100%; | ||
| 35 | + float: left; | ||
| 36 | + } | ||
| 37 | + </style> | ||
| 38 | +</head> | ||
| 39 | + | ||
| 40 | +<body> | ||
| 41 | + <div class="wrap_content"> | ||
| 42 | + <div class="wrap_roadview"> | ||
| 43 | + <div id="roadview" style="width:100%;height:100%"></div> <!-- 로드뷰를 표시할 div 입니다 --> | ||
| 44 | + </div> | ||
| 45 | + <div class="wrap_map"> | ||
| 46 | + <div id="map" style="width:100%;height:100%"></div> <!-- 지도를 표시할 div 입니다 --> | ||
| 47 | + </div> | ||
| 48 | + <button onclick="checkResult()">정답 확인</button> | ||
| 49 | + <div id=distance></div> | ||
| 50 | + </div> | ||
| 51 | + | ||
| 52 | + <script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=1c8aa0e80b11e6e96520d80aaeb85a4e"></script> | ||
| 53 | + <script> | ||
| 54 | + var mapContainer = document.getElementById('map'), // 지도를 표시할 div | ||
| 55 | + answerLocation = new kakao.maps.LatLng(33.450701, 126.570667), // 지도의 중심 좌표 | ||
| 56 | + mapOption = { | ||
| 57 | + center: answerLocation, // 지도의 중심 좌표 | ||
| 58 | + level: 4 // 지도의 확대 레벨 | ||
| 59 | + }; | ||
| 60 | + | ||
| 61 | + // 지도를 표시할 div와 지도 옵션으로 지도를 생성합니다 | ||
| 62 | + var map = new kakao.maps.Map(mapContainer, mapOption); | ||
| 63 | + | ||
| 64 | + var userLocation = null; | ||
| 65 | + | ||
| 66 | + // 지도를 클릭한 위치에 표출할 마커입니다 | ||
| 67 | + var marker = new kakao.maps.Marker({ | ||
| 68 | + // 지도 중심좌표에 마커를 생성합니다 | ||
| 69 | + position: map.getCenter() | ||
| 70 | + }); | ||
| 71 | + // 지도에 마커를 표시합니다 | ||
| 72 | + marker.setMap(map); | ||
| 73 | + | ||
| 74 | + // 지도에 클릭 이벤트를 등록합니다 | ||
| 75 | + // 지도를 클릭하면 마지막 파라미터로 넘어온 함수를 호출합니다 | ||
| 76 | + kakao.maps.event.addListener(map, 'click', function (mouseEvent) { | ||
| 77 | + | ||
| 78 | + // 클릭한 위도, 경도 정보를 가져옵니다 | ||
| 79 | + userLocation = mouseEvent.latLng; | ||
| 80 | + | ||
| 81 | + // 마커 위치를 클릭한 위치로 옮깁니다 | ||
| 82 | + marker.setPosition(userLocation); | ||
| 83 | + | ||
| 84 | + // var message = '클릭한 위치의 위도는 ' + userLocation.getLat() + ' 이고, '; | ||
| 85 | + // message += '경도는 ' + userLocation.getLng() + ' 입니다'; | ||
| 86 | + }); | ||
| 87 | + | ||
| 88 | + var rvContainer = document.getElementById('roadview'); // 로드뷰를 표시할 div | ||
| 89 | + var rv = new kakao.maps.Roadview(rvContainer); // 로드뷰 객체 생성 | ||
| 90 | + var rc = new kakao.maps.RoadviewClient(); // 좌표를 통한 로드뷰의 panoid를 추출하기 위한 로드뷰 help객체 생성 | ||
| 91 | + var rvResetValue = {} //로드뷰의 초기화 값을 저장할 변수 | ||
| 92 | + rc.getNearestPanoId(answerLocation, 50, function (panoId) { | ||
| 93 | + rv.setPanoId(panoId, answerLocation);//좌표에 근접한 panoId를 통해 로드뷰를 실행합니다. | ||
| 94 | + rvResetValue.panoId = panoId; | ||
| 95 | + }); | ||
| 96 | + | ||
| 97 | + // 로드뷰 초기화 이벤트 | ||
| 98 | + kakao.maps.event.addListener(rv, 'init', function () { | ||
| 99 | + | ||
| 100 | + }); | ||
| 101 | + | ||
| 102 | + //지도 이동 이벤트 핸들러 | ||
| 103 | + function moveKakaoMap(self) { | ||
| 104 | + | ||
| 105 | + var center = map.getCenter(), | ||
| 106 | + lat = center.getLat(), | ||
| 107 | + lng = center.getLng(); | ||
| 108 | + | ||
| 109 | + self.href = 'https://map.kakao.com/link/map/' + encodeURIComponent('스페이스 닷원') + ',' + lat + ',' + lng; //Kakao 지도로 보내는 링크 | ||
| 110 | + } | ||
| 111 | + | ||
| 112 | + //지도 초기화 이벤트 핸들러 | ||
| 113 | + function resetKakaoMap() { | ||
| 114 | + map.setCenter(answerLocation); //지도를 초기화 했던 값으로 다시 셋팅합니다. | ||
| 115 | + map.setLevel(mapOption.level); | ||
| 116 | + } | ||
| 117 | + | ||
| 118 | + //로드뷰 이동 이벤트 핸들러 | ||
| 119 | + function moveKakaoRoadview(self) { | ||
| 120 | + var panoId = rv.getPanoId(); //현 로드뷰의 panoId값을 가져옵니다. | ||
| 121 | + var viewpoint = rv.getViewpoint(); //현 로드뷰의 viewpoint(pan,tilt,zoom)값을 가져옵니다. | ||
| 122 | + self.href = 'https://map.kakao.com/?panoid=' + panoId + '&pan=' + viewpoint.pan + '&tilt=' + viewpoint.tilt + '&zoom=' + viewpoint.zoom; //Kakao 지도 로드뷰로 보내는 링크 | ||
| 123 | + } | ||
| 124 | + | ||
| 125 | + //로드뷰 초기화 이벤트 핸들러 | ||
| 126 | + function resetRoadview() { | ||
| 127 | + //초기화를 위해 저장해둔 변수를 통해 로드뷰를 초기상태로 돌립니다. | ||
| 128 | + rv.setViewpoint({ | ||
| 129 | + pan: rvResetValue.pan, tilt: rvResetValue.tilt, zoom: rvResetValue.zoom | ||
| 130 | + }); | ||
| 131 | + rv.setPanoId(rvResetValue.panoId); | ||
| 132 | + } | ||
| 133 | + | ||
| 134 | + function checkResult() { | ||
| 135 | + var linePath = [answerLocation, userLocation]; | ||
| 136 | + | ||
| 137 | + var distanceLine = new kakao.maps.Polyline({ | ||
| 138 | + path: linePath, // 선을 구성하는 좌표배열 입니다 | ||
| 139 | + strokeWeight: 5, // 선의 두께 입니다 | ||
| 140 | + strokeColor: '#FFAE00', // 선의 색깔입니다 | ||
| 141 | + strokeOpacity: 0.7, // 선의 불투명도 입니다 1에서 0 사이의 값이며 0에 가까울수록 투명합니다 | ||
| 142 | + strokeStyle: 'solid' // 선의 스타일입니다 | ||
| 143 | + }); | ||
| 144 | + | ||
| 145 | + distanceLine.setMap(map); | ||
| 146 | + | ||
| 147 | + var distance = Math.round(distanceLine.getLength()); | ||
| 148 | + var message = '거리: ' + distance + 'm' | ||
| 149 | + | ||
| 150 | + var resultDiv = document.getElementById('distance'); | ||
| 151 | + resultDiv.innerHTML = message; | ||
| 152 | + } | ||
| 153 | + </script> | ||
| 154 | +</body> | ||
| 155 | + | ||
| 156 | +</html> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
-
Please register or login to post a comment