김서연

검색결과 없을때 예외처리

1 +{
2 + // Use IntelliSense to learn about possible attributes.
3 + // Hover to view descriptions of existing attributes.
4 + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5 + "version": "0.2.0",
6 + "configurations": [
7 + {
8 + "type": "pwa-chrome",
9 + "request": "launch",
10 + "name": "Open index.ejs",
11 + "file": "c:\\Users\\KSY\\Desktop\\4-1\\OpenSource\\Project\\views\\index.ejs"
12 + }
13 + ]
14 +}
...\ No newline at end of file ...\ No newline at end of file
...@@ -5,7 +5,16 @@ ...@@ -5,7 +5,16 @@
5 <title>코로나 백신 의료기관 조회</title> 5 <title>코로나 백신 의료기관 조회</title>
6 6
7 <!-- <link rel="stylesheet" href="/css/master.css"> --> 7 <!-- <link rel="stylesheet" href="/css/master.css"> -->
8 - 8 + <%if(typeof(info)!="undefined"){%>
9 + <script>
10 + try {
11 + if('<%=info%>'.length==0) throw new error();
12 + } catch (error) {
13 + alert("해당 지역 주변에 가능한 의료기관이 존재하지 않습니다.");
14 + location.href='/';
15 + }
16 + </script>
17 + <% }%>
9 </head> 18 </head>
10 <body> 19 <body>
11 <center> 20 <center>
...@@ -21,12 +30,14 @@ ...@@ -21,12 +30,14 @@
21 </p> 30 </p>
22 </form> 31 </form>
23 </center> 32 </center>
33 +
24 <div id="map" style="width:1300px;height:750px; margin-left:100px; float:left; " ></div> 34 <div id="map" style="width:1300px;height:750px; margin-left:100px; float:left; " ></div>
25 <script type="text/javascript" src="https://dapi.kakao.com/v2/maps/sdk.js?appkey=35fccf4b4e2a3179187346f26ed3f988&libraries=services"></script> 35 <script type="text/javascript" src="https://dapi.kakao.com/v2/maps/sdk.js?appkey=35fccf4b4e2a3179187346f26ed3f988&libraries=services"></script>
26 - 36 +
27 <% if(typeof(info) != "undefined"){ %> 37 <% if(typeof(info) != "undefined"){ %>
38 +
28 <div style="overflow:scroll; width:500px; height:675px; padding:10px;float:right; margin-right:70px; border:1px solid black;"> 39 <div style="overflow:scroll; width:500px; height:675px; padding:10px;float:right; margin-right:70px; border:1px solid black;">
29 - <ol id="placelist"> 40 + <ol id="placelist">
30 <% for(i=0; i<info.length; i++){%> 41 <% for(i=0; i<info.length; i++){%>
31 <li class="item"> 42 <li class="item">
32 <div class="info"> 43 <div class="info">
...@@ -50,79 +61,80 @@ ...@@ -50,79 +61,80 @@
50 <hr> 61 <hr>
51 </li> 62 </li>
52 <%} %> 63 <%} %>
53 - </ul> 64 + </ol>
54 </div> 65 </div>
55 <%} %> 66 <%} %>
56 67
57 <% if(typeof(result) != "undefined"){ %> 68 <% if(typeof(result) != "undefined"){ %>
58 - <script>
59 - var mapContainer = document.getElementById('map'), // 지도를 표시할 div
60 - mapOption = {
61 - center: new kakao.maps.LatLng(37.596672, 127.051950), // 지도의 중심좌표
62 - level: 2 // 지도의 확대 레벨
63 - };
64 -
65 - var map = new kakao.maps.Map(mapContainer, mapOption); // 지도를 생성합니다
66 - var geocoder = new kakao.maps.services.Geocoder();
67 - // 지도 확대 축소를 제어할 수 있는 줌 컨트롤을 생성합니다
68 - var zoomControl = new kakao.maps.ZoomControl();
69 - map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT);
70 69
71 - var listData = "<%= result %>"; 70 + <script>
72 - listData = listData.replaceAll('&#34;','\"'); 71 + var mapContainer = document.getElementById('map'), // 지도를 표시할 div
73 - listData = JSON.parse(listData); 72 + mapOption = {
74 - 73 + center: new kakao.maps.LatLng(37.596672, 127.051950), // 지도의 중심좌표
75 - var count = 0; 74 + level: 2 // 지도의 확대 레벨
76 - 75 + };
77 - //입력되는 배열명이 listData로 들어오면 됨. 76 +
78 - listData.forEach(function(addr, index) { 77 + var map = new kakao.maps.Map(mapContainer, mapOption); // 지도를 생성합니다
79 - var tmpaddr = ((addr.orgZipaddr).split(','))[0]; 78 + var geocoder = new kakao.maps.services.Geocoder();
80 - console.log(tmpaddr); 79 + // 지도 확대 축소를 제어할 수 있는 줌 컨트롤을 생성합니다
81 - geocoder.addressSearch(tmpaddr, function(result, status) { 80 + var zoomControl = new kakao.maps.ZoomControl();
82 - if (status === kakao.maps.services.Status.OK) { 81 + map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT);
83 - var coords = new kakao.maps.LatLng(result[0].y, result[0].x); 82 +
84 - 83 + var listData = "<%= result %>";
85 - count += 1; 84 + listData = listData.replaceAll('&#34;','\"');
86 - 85 + listData = JSON.parse(listData);
87 - var marker = new kakao.maps.Marker({ 86 +
88 - position: coords, 87 + var count = 0;
89 - clickable: true}); 88 +
90 - 89 + //입력되는 배열명이 listData로 들어오면 됨.
91 - // 마커를 지도에 표시합니다. 90 + listData.forEach(function(addr, index) {
92 - marker.setMap(map); 91 + var tmpaddr = ((addr.orgZipaddr).split(','))[0];
92 + console.log(tmpaddr);
93 + geocoder.addressSearch(tmpaddr, function(result, status) {
94 + if (status === kakao.maps.services.Status.OK) {
95 + var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
93 96
94 - var num=1; 97 + count += 1;
95 - // 인포윈도우를 생성합니다 98 +
96 - var infowindow = new kakao.maps.InfoWindow({ 99 + var marker = new kakao.maps.Marker({
97 - content: '<div style="width:250px;text-align:center;padding:5px 0;">' + addr.orgnm + '</div>', 100 + position: coords,
98 - }); 101 + clickable: true});
99 - // 마커에 mouseover 이벤트와 mouseout 이벤트를 등록합니다 102 +
100 - // 이벤트 리스너로는 클로저를 만들어 등록합니다 103 + // 마커를 지도에 표시합니다.
101 - kakao.maps.event.addListener(marker, 'mouseover', makeOverListener(map, marker, infowindow)); 104 + marker.setMap(map);
102 - kakao.maps.event.addListener(marker, 'mouseout', makeOutListener(infowindow)); 105 +
103 - if(count == 1){ 106 + var num=1;
104 - map.setCenter(coords); 107 + // 인포윈도우를 생성합니다
105 - } 108 + var infowindow = new kakao.maps.InfoWindow({
106 - // 지도의 중심을 결과값으로 받은 위치로 이동시킵니다 109 + content: '<div style="width:250px;text-align:center;padding:5px 0;">' + addr.orgnm + '</div>',
107 - //console.log(listData.length); 110 + });
108 - } 111 + // 마커에 mouseover 이벤트와 mouseout 이벤트를 등록합니다
109 - }); 112 + // 이벤트 리스너로는 클로저를 만들어 등록합니다
110 - }); 113 + kakao.maps.event.addListener(marker, 'mouseover', makeOverListener(map, marker, infowindow));
111 - // 인포윈도우를 표시하는 클로저를 만드는 함수입니다 114 + kakao.maps.event.addListener(marker, 'mouseout', makeOutListener(infowindow));
112 - function makeOverListener(map, marker, infowindow) { 115 + if(count == 1){
113 - return function() { 116 + map.setCenter(coords);
114 - infowindow.open(map, marker); 117 + }
115 - }; 118 + // 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
116 - } 119 + //console.log(listData.length);
117 - 120 + }
118 - // 인포윈도우를 닫는 클로저를 만드는 함수입니다 121 + });
119 - function makeOutListener(infowindow) { 122 + });
120 - return function() { 123 + // 인포윈도우를 표시하는 클로저를 만드는 함수입니다
121 - infowindow.close(); 124 + function makeOverListener(map, marker, infowindow) {
122 - }; 125 + return function() {
123 - } 126 + infowindow.open(map, marker);
124 - </script> 127 + };
125 -<% } %> 128 + }
129 +
130 + // 인포윈도우를 닫는 클로저를 만드는 함수입니다
131 + function makeOutListener(infowindow) {
132 + return function() {
133 + infowindow.close();
134 + };
135 + }
136 + </script>
137 + <% } %>
126 138
127 </body> 139 </body>
128 </html> 140 </html>
...\ No newline at end of file ...\ No newline at end of file
......