Showing
6 changed files
with
71 additions
and
9 deletions
| ... | @@ -431,6 +431,11 @@ | ... | @@ -431,6 +431,11 @@ |
| 431 | } | 431 | } |
| 432 | } | 432 | } |
| 433 | }, | 433 | }, |
| 434 | + "jquery": { | ||
| 435 | + "version": "3.6.0", | ||
| 436 | + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", | ||
| 437 | + "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" | ||
| 438 | + }, | ||
| 434 | "js-tokens": { | 439 | "js-tokens": { |
| 435 | "version": "4.0.0", | 440 | "version": "4.0.0", |
| 436 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", | 441 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", | ... | ... |
| ... | @@ -5,7 +5,7 @@ | ... | @@ -5,7 +5,7 @@ |
| 5 | "scripts": { | 5 | "scripts": { |
| 6 | "build": "rollup -c", | 6 | "build": "rollup -c", |
| 7 | "dev": "rollup -c -w", | 7 | "dev": "rollup -c -w", |
| 8 | - "start": "sirv public --no-clear" | 8 | + "start": "sirv public --no-clear --host 0.0.0.0" |
| 9 | }, | 9 | }, |
| 10 | "devDependencies": { | 10 | "devDependencies": { |
| 11 | "@rollup/plugin-commonjs": "^17.0.0", | 11 | "@rollup/plugin-commonjs": "^17.0.0", |
| ... | @@ -19,6 +19,7 @@ | ... | @@ -19,6 +19,7 @@ |
| 19 | }, | 19 | }, |
| 20 | "dependencies": { | 20 | "dependencies": { |
| 21 | "engine.io-parser": "^5.0.1", | 21 | "engine.io-parser": "^5.0.1", |
| 22 | + "jquery": "^3.6.0", | ||
| 22 | "sirv-cli": "^1.0.0" | 23 | "sirv-cli": "^1.0.0" |
| 23 | } | 24 | } |
| 24 | } | 25 | } | ... | ... |
| ... | @@ -10,6 +10,7 @@ | ... | @@ -10,6 +10,7 @@ |
| 10 | <link rel='stylesheet' href='/global.css'> | 10 | <link rel='stylesheet' href='/global.css'> |
| 11 | <link rel='stylesheet' href='/build/bundle.css'> | 11 | <link rel='stylesheet' href='/build/bundle.css'> |
| 12 | 12 | ||
| 13 | + <script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=046d27f1430524731d3ec6870f0c8923"></script> | ||
| 13 | <script defer src='/build/bundle.js'></script> | 14 | <script defer src='/build/bundle.js'></script> |
| 14 | </head> | 15 | </head> |
| 15 | 16 | ... | ... |
| 1 | <style> | 1 | <style> |
| 2 | - #chat_bg { | 2 | + #map_bg { |
| 3 | box-sizing: border-box; | 3 | box-sizing: border-box; |
| 4 | + justify-content: center; | ||
| 4 | display: flex; | 5 | display: flex; |
| 5 | height: 100vh; | 6 | height: 100vh; |
| 6 | background-color:#edeff2; | 7 | background-color:#edeff2; |
| 7 | } | 8 | } |
| 9 | + | ||
| 10 | + #map { | ||
| 11 | + box-sizing: border-box; | ||
| 12 | + display: flex; | ||
| 13 | + height: 90vh; | ||
| 14 | + width: 80vw; | ||
| 15 | + background-color:#edeff2; | ||
| 16 | + } | ||
| 8 | </style> | 17 | </style> |
| 9 | 18 | ||
| 10 | <script> | 19 | <script> |
| 11 | - | 20 | + import jQuery from 'jquery'; |
| 21 | + | ||
| 22 | + var url = "http://api.visitkorea.or.kr/openapi/service/rest/KorService/areaBasedList?ServiceKey=2lFkvQJYgzOOhwUKiUt8aZVNpd1PpBOf%2FfMNW17cl25DE0GUEDddeR9iGnuSUpggjUoIUgamfhcvnKQ3eH1dAw%3D%3D&contentTypeId=15&areaCode=&sigunguCode=&cat1=&cat2=&cat3=&listYN=Y&MobileOS=ETC&MobileApp=TourAPI3.0_Guide&arrange=A&numOfRows=12&pageNo=1&_type=json"; | ||
| 23 | + var {kakao} = window; | ||
| 24 | + | ||
| 25 | + var url = "http://api.visitkorea.or.kr/openapi/service/rest/KorService/areaBasedList?ServiceKey=2lFkvQJYgzOOhwUKiUt8aZVNpd1PpBOf%2FfMNW17cl25DE0GUEDddeR9iGnuSUpggjUoIUgamfhcvnKQ3eH1dAw%3D%3D&contentTypeId=15&areaCode=&sigunguCode=&cat1=&cat2=&cat3=&listYN=Y&MobileOS=ETC&MobileApp=TourAPI3.0_Guide&arrange=A&numOfRows=12&pageNo=1&_type=json"; | ||
| 26 | + jQuery.getJSON(url,function(data){ | ||
| 27 | + console.log(data); | ||
| 28 | + var mapContainer = document.getElementById('map'), // 지도를 표시할 div | ||
| 29 | + mapOption = { | ||
| 30 | + center: new kakao.maps.LatLng(36.46682, 127.37865), // 지도의 중심좌표 | ||
| 31 | + level: 12, // 지도의 확대 레벨 | ||
| 32 | + mapTypeId : kakao.maps.MapTypeId.ROADMAP // 지도종류 | ||
| 33 | + }; | ||
| 34 | + | ||
| 35 | + var markers= []; | ||
| 36 | + // 지도를 생성한다 | ||
| 37 | + var map = new kakao.maps.Map(mapContainer, mapOption); | ||
| 38 | + for(var i = 0; i<data.response.body.items.item.length;i++){ | ||
| 39 | + // 지도에 마커를 생성하고 표시한다 | ||
| 40 | + var marker = new kakao.maps.Marker({ | ||
| 41 | + position: new kakao.maps.LatLng(data.response.body.items.item[i].mapy, data.response.body.items.item[i].mapx), // 마커의 좌표 | ||
| 42 | + map: map // 마커를 표시할 지도 객체 | ||
| 43 | + }); | ||
| 44 | + markers.push(marker); | ||
| 45 | + // 마커 위에 표시할 인포윈도우를 생성한다 | ||
| 46 | + | ||
| 47 | + }; | ||
| 48 | + | ||
| 49 | + for(var i = 0; i<9;i++) { // 왜 9까지 밖에 안되누 ㅠㅠ | ||
| 50 | + var infowindow = new kakao.maps.InfoWindow({ | ||
| 51 | + content : '<div style="padding:5px;">'+data.response.body.items.item[i].title+'</div>' // 인포윈도우에 표시할 내용 | ||
| 52 | + }); | ||
| 53 | + infowindow.open(map, markers[i]); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + // 마우스 휠과 모바일 터치를 이용한 지도 확대, 축소를 막는다 | ||
| 57 | + map.setZoomable(false); | ||
| 58 | + | ||
| 59 | + // 지도에 확대 축소 컨트롤을 생성한다 | ||
| 60 | + var zoomControl = new kakao.maps.ZoomControl(); | ||
| 61 | + | ||
| 62 | + // 지도의 우측에 확대 축소 컨트롤을 추가한다 | ||
| 63 | + map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT); | ||
| 64 | + | ||
| 65 | + }); | ||
| 12 | </script> | 66 | </script> |
| 13 | 67 | ||
| 14 | -<div id="chat_bg"> | 68 | +<div id="map_bg"> |
| 15 | - | 69 | + <div id="map"></div> |
| 16 | </div> | 70 | </div> | ... | ... |
| ... | @@ -12,7 +12,7 @@ | ... | @@ -12,7 +12,7 @@ |
| 12 | 12 | ||
| 13 | <style> | 13 | <style> |
| 14 | nav { | 14 | nav { |
| 15 | - background-color: rgb(225, 175, 85); | 15 | + background-color: #4527a0; |
| 16 | font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif; | 16 | font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif; |
| 17 | height: 70px; | 17 | height: 70px; |
| 18 | top: 0; | 18 | top: 0; |
| ... | @@ -32,6 +32,7 @@ | ... | @@ -32,6 +32,7 @@ |
| 32 | .logo { | 32 | .logo { |
| 33 | display: flex; | 33 | display: flex; |
| 34 | position: absolute; | 34 | position: absolute; |
| 35 | + color: white; | ||
| 35 | width: 50px; | 36 | width: 50px; |
| 36 | left: 40px; | 37 | left: 40px; |
| 37 | top: 25px | 38 | top: 25px | ... | ... |
| ... | @@ -8,16 +8,16 @@ | ... | @@ -8,16 +8,16 @@ |
| 8 | <body> | 8 | <body> |
| 9 | <div id="map" style="width:100%;height:100vh;"></div> | 9 | <div id="map" style="width:100%;height:100vh;"></div> |
| 10 | 10 | ||
| 11 | - <script src="https://dapi.kakao.com/v2/maps/sdk.js?appkey=9bb9a71480b6cd2d7fa98fb256053acf"></script> | 11 | + <script src="https://dapi.kakao.com/v2/maps/sdk.js?appkey=046d27f1430524731d3ec6870f0c8923"></script> |
| 12 | <script> | 12 | <script> |
| 13 | 13 | ||
| 14 | var url = "http://api.visitkorea.or.kr/openapi/service/rest/KorService/areaBasedList?ServiceKey=2lFkvQJYgzOOhwUKiUt8aZVNpd1PpBOf%2FfMNW17cl25DE0GUEDddeR9iGnuSUpggjUoIUgamfhcvnKQ3eH1dAw%3D%3D&contentTypeId=15&areaCode=&sigunguCode=&cat1=&cat2=&cat3=&listYN=Y&MobileOS=ETC&MobileApp=TourAPI3.0_Guide&arrange=A&numOfRows=12&pageNo=1&_type=json"; | 14 | var url = "http://api.visitkorea.or.kr/openapi/service/rest/KorService/areaBasedList?ServiceKey=2lFkvQJYgzOOhwUKiUt8aZVNpd1PpBOf%2FfMNW17cl25DE0GUEDddeR9iGnuSUpggjUoIUgamfhcvnKQ3eH1dAw%3D%3D&contentTypeId=15&areaCode=&sigunguCode=&cat1=&cat2=&cat3=&listYN=Y&MobileOS=ETC&MobileApp=TourAPI3.0_Guide&arrange=A&numOfRows=12&pageNo=1&_type=json"; |
| 15 | - $.getJSON(url,function(data){ | 15 | + $.getJSON(url,function(data){ |
| 16 | console.log(data); | 16 | console.log(data); |
| 17 | var mapContainer = document.getElementById('map'), // 지도를 표시할 div | 17 | var mapContainer = document.getElementById('map'), // 지도를 표시할 div |
| 18 | mapOption = { | 18 | mapOption = { |
| 19 | center: new kakao.maps.LatLng(37.56682, 126.97865), // 지도의 중심좌표 | 19 | center: new kakao.maps.LatLng(37.56682, 126.97865), // 지도의 중심좌표 |
| 20 | - level: 10, // 지도의 확대 레벨 | 20 | + level: 12, // 지도의 확대 레벨 |
| 21 | mapTypeId : kakao.maps.MapTypeId.ROADMAP // 지도종류 | 21 | mapTypeId : kakao.maps.MapTypeId.ROADMAP // 지도종류 |
| 22 | }; | 22 | }; |
| 23 | 23 | ... | ... |
-
Please register or login to post a comment