PageSourceSearch

https://jjak.or.kr/theme/jjak/skin/board/map/js/raphael_path_s.korea.js?ver=1.0.0

js jjak.or.kr collected 2026-09-24 11:02:07 UTC 11,606 bytes, 220 lines download raw bytes

1/*
2http://raphaeljs.com/
3http://www.w3.org/TR/SVG/paths.html#PathData
4// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\
5
6M : move to x,y : 여기선 M 만 사용 
7L : line to x,y
8H : horizontal line to x+
9V : vertical line to y+
10Z : close path
11대문자 absolute 소문자 relative 
12M69,74 76,76 => canvas 좌상단 기준으로 left 69px top 74px 에서 시작 => 두번째 지점은 left 76px top 76px 위치
13
14Path Written by 장성복 on April 23, 2013
15[email protected]
16
1720150226 - 지역변수 loc_xx 로 변경, 클릭한 지점 색깔 나오게 변경 
18*/
19
20window.onload = function () {
21	var R = Raphael("south", 320, 400);
22	var attr = {
23		fill: "#fff",
24		stroke: "#666",
25		"stroke-width": 0.5,
26		"stroke-linejoin": "round"
27	};
28	var aus = {};
29
30// loc_01 ~ 17
31// 서울, 부산, 대구, 인천, 광주, 대전, 울산, 세종, 경기, 강원, 충북, 충남, 전북, 전남, 경북, 경남, 제주
32
33// 서울
34	aus.loc_01 = R.path("M112,118 118,112 111,108 110,104 111,102 109,100 102,106 98,109 99,113 104,116 110,118 112,118z").attr(attr);
35
36// 부산
37	aus.loc_02 = R.path("M232,277 224,284 215,289 213,293 209,298 212,299 217,299 220,303 225,302 231,296 232,290 239,282 235,279 z").attr(attr);
38
39// 대구
40	aus.loc_03 = R.path("M184,258 180,253 185,251 184,247 191.5,241 185.5,237 187.5,234 193,234 200,232 201.5,235 205.5,241 199.5,247 193,247 189.5,253 191,259 186,256 184,258 z").attr(attr);
41
42// 인천 : 서울왼쪽상단 경계에서 아래쪽으로 시작
43	aus.loc_04 = R.path("M96,109 98,115 102,117 108,119 110,120 107,123.5 98,121, 97,122 95,120 96,119 90,110 89,110 89,104 99,105z M79,105 84,105 85,107 85,111 80,110 79,105z").attr(attr);
44
45// 광주
46	aus.loc_05 = R.path("M77,292 78,284 84,283 90,285 94,281 101,288 98,298 92,298 89,300 85,298 85,294 80,291 78,293 77,292z").attr(attr);
47
48// 대전	
49	aus.loc_06 = R.path("M131,209 131,208 130,203 135,199 122,195 116,204 116,214 118,215 121,211 124,214 z").attr(attr);
50
51// 울산
52	aus.loc_07 = R.path("M224,258 229.5,251 238,257 241,253 245,257 245,272 241,271 238,278 231,274 232,271 224,267 219,264 222,260 z").attr(attr);
53
54// 세종
55	aus.loc_08 = R.path("M125,186 129,182 125,178 126,173 121,166 118,170 117,181 123,190 z").attr(attr);
56
57// 경기도 : 좌상단 부터 시작 
58	aus.loc_09 = R.path("M69,74 76,76 78,74 78,68 81,67 83,64 94,67 98,62 102,60 111,58 114,68 119,68 122,72 128,74 130,79 140,88 140,90 134,94 137,100 135,107 154,116 148,118 150,124 147,129 146,139 144,145 139,146 134,152 127,153 125,159 120,162 109,158 107,161 94,160 98,157 97,153 92,156 93,146 87,147 85,141 91,143 95,137 91,136 89,133 92,131 97,131 97,123 108,125 112,120 120,113 120,112, 117,110 112,107 112,105 111,104 113,102, 109,98 102,104 89,102 86,96 82,99 71,92 73,87 69,85 71,82 69,79 69,74z").attr(attr);
59
60// 강원도 : 서울오른쪽상단겹치는부분에서 시작
61	aus.loc_10 = R.path("M98,60 104,58 113,56 116,68 121,68 124,72 130,74 132,79 142,88 142,90 136,94 139,100 137,107 156,116 150,118 152,124 149,129 148,139 146,145 152,150 152,150 153.5,145 157,137 160,135 161,138 169,141 181,140 175,146 189,147 192,149 199,148 205,153 207,148 211,153 224,150 231,154 239,143 234,139 234,132 225,118 222,108 199,81 180,33 175,34 151,6 147,7 142,4 145,18 137,16 134,22 130,23 131,30 125,29 124,20 121,18 123,8 120,5 115,11 117,17 108,20 106,18 105,24 99,25 93,30 86,31 90,40 87,45 89,47 91,53 98,60 z").attr(attr);
62
63// 충북
64    aus.loc_11 = R.path("M145,148 152,152 154,152 155,148 157,140 159,138 161,140 169,143 176,142 171.5,148 189,149 192,151 199,150 186,160 184,169 175,167 162,171 163,175 156,175 156,185 151,182 149,185 154,191 155,200 150,207 158,208 164,215 159,217 155,226, 146,227 140,224 135,218 136,213 133,209 133,208 132,203 140,199 124,193 127,186 131,182 127,178 128,173 121,163 128,160 128,155 133,155 135,155 140,147z").attr(attr);
65	
66// 충남
67	aus.loc_12 = R.path("M119,166 116,170 115,181 121,190 119,196 114,204 113,214 118,218 121,214 125,216 132,211 135,218 139,225 134,225 131,231 120,219 115,222 112,220 107,223 102,216 93,216 91,222 80,227 73,221 76,217 73,207 75,206 71,202 75,198 71,190 72,183 68,175 65,182 57,173 65,164 71,168 77,167 74,160 75,153 81,163 88,162 90,174 100,
67166 101,162.5 106,164 110,161 117,163.5 120,164 z").attr(attr);
68
69// 전북
70    aus.loc_13 = R.path("M142,227 136,227 131,233 120,221 115,224 112,222 107,225 102,218 93,218 91,224 80,229 77,238 85,238 83,242 84,248 77,249 65,259 78,264 70,268 71,274 75,276 81,273 86,264 95,268 101,267 102,271 101,277 104,279 116,277 122,280 128,275 137,279 139,273 139,265 135,258 138,252 148,237 154,235 155,228 150,230 z").attr(attr);
71
72// 전남
73	aus.loc_14 = R.path("M68,270 70,276 75,278 81,275 86,266 95,270 101,269 102,273 101,279 104,281 116,279 122,282 128,277 137,281 135,290 144,301 144,310 140,309 138,315 132,313 135,321 141,319 140,328 134,326 133,333 131,333 130,319 120,325 121,329 125,337 115,345 106,339 111,337 111,332 115,334 116,327 105,330 98,333 93,334 94,346 87,347 81,336 78,343 70,355 63,354 63,343 66,341 63,336 71,335 64,326 74,321 69,313 61,319 62,306 58,305 61,300 55,288 63,277 63,273 68,270z M77,292 78,293 80,291 85,294 85,298 89,300 92,298 98,298 101,288 94,281 90,285 84,283 78,284 77,292z").attr(attr);
74
75// 경북
76	aus.loc_15 = R.path("M198,153 188,160 186,171 177,169 165,172 166,177 158,177 158,187 152,185 151,185 156,191 157,200 153,205 161,207 166,216 161,218 157,226 156,236 160,241 168,241 173,253 180,256 178,252 183,250 182,246 189,241 184,238 186,232 193,232 200,230 203,233 207,241 200,249 194,248 191,254 193,259 201,260 207,264 215,258 220,259 229,249 238,255 240,251 246,255 250,240 252,232 248,235 241,235 244,227 242,213 246,176 245,157 241,144 233,154 230,156 224,152 211,155 208,151 206,155.5 200,151 198,153z M273,145 276,142 278,141 283,140 280,148 276,147 275,145 273,145z M306,150 310,150 309,152z M311,152 315,150 314,152z").attr(attr);
77
78// 경남
79	aus.loc_16 = R.path("M147,301 138,288 141,275 142,264 138,258 142,251 146,244 152,238 155,238 159,243 166,244 172,256 180,258 184,261 186,259 192,262 198,262 208,267 213,262 219,260 216,264 221,268 229,272 229,276 220,284 213,287 205,300 194,296 194,302 184,301 181,307 186,308 181,315 181,318 175,315 168,317 162,313 161,304 157,304 154,309 151,308 146,312 z").attr(attr);
80
81// 제주
82	aus.loc_17 = R.path("M96,377 105,367 120,368 126,365 134,365 142,370 136,380 127,384 114,386 104,384 100,385 94,377 z").attr(attr);
83	
84//aus.ganghwa = R.path("M79,105 84,105 85,107 85,111 80,110 79,105z").attr(attr);
85//aus.ulleung = R.path("M273,145 276,144 283,140 280,148 276,147 275,145 273,145 z").attr(attr);
86//aus.dokdo = R.path("M312,150 316,150 315,152z M317,152 321,150 320,152z").attr(attr);
87
88
89// 클릭한 시도별 색깔 표시
90// PHP에서 전달받은 selectedLocation 값 사용
91var selectedLocation = window.selectedLocation || "";
92var current_location = null;
93
94// 선택된 지역이 있을 경우에만 해당 지역 ID 설정
95if (selectedLocation) {
96    switch(selectedLocation) {
97        case "서울":
98            current_location = "loc_01"; break;
99        case "부산":
100            current_location = "loc_02"; break;
101        case "대구":
102            current_location = "loc_03"; break;
103        case "인천":
104            current_location = "loc_04"; break;
105        case "광주":
106            current_location = "loc_05"; break;
107        case "대전":
108            current_location = "loc_06"; break;
109        case "울산":
110            current_location = "loc_07"; break;
111        case "세종":
112            current_location = "loc_08"; break;
113        case "경기":
114            current_location = "loc_09"; break;
115        case "강원":
116            current_location = "loc_10"; break;
117        case "충북":
118            current_location = "loc_11"; break;
119        case "충남":
120            current_location = "loc_12"; break;
121        case "전북":
122            current_location = "loc_13"; break;
123        case "전남":
124            current_location = "loc_14"; break;
125        case "경북":
126            current_location = "loc_15"; break;
127        case "경남":
128            current_location = "loc_16"; break;
129        case "제주":
130            current_location = "loc_17"; break;
131    }
132}
133
134	var current = null;
135	for (var state in aus) {
136		aus[state].color = Raphael.getColor();
137		(function (st, state) {
138			st[0].style.cursor = "pointer";
139			st[0].onmouseover = function () { // onover
140				current && aus[current].animate({fill: "#fff", stroke: "#666"}, 500) && (document.getElementById(current).style.display = "");
141				st.animate({fill: st.color, stroke: "#ccc"}, 500);
142				//st.toFront();
143				R.safari();
144				document.getElementById(state).style.display = "block";
145				current = state;
146			}
147			
148			st[0].onmouseout = function () {
149				st.animate({fill: "#fff", stroke: "#666"}, 500);
150				//st.toFront();
151				R.safari();
152			};
153			
154			if (state == current_location) { //현재 클릭한 지점 색채우기
155				st[0].onmouseover();
156			}
157
158			st[0].onclick = function () {
159                switch(state) { 
160                    case "loc_01":
161                        location.href = "/app/map?mb_user_region=서울";
162                        //current = state;
163                        break;
164                    case "loc_02":
165                        location.href = "/app/map?mb_user_region=부산";
166                        break;
167                    case "loc_03":
168                        location.href = "/app/map?mb_user_region=대구";
169                        break;
170                    case "loc_04":
171                        location.href = "/app/map?mb_user_region=인천";
172                        break;
173                    case "loc_05":
174                        location.href = "/app/map?mb_user_region=광주";
175                        break;
176                    case "loc_06":
177                        location.href = "/app/map?mb_user_region=대전";
178                        break;
179                    case "loc_07":
180                        location.href = "/app/map?mb_user_region=울산";
181                        break;
182                    case "loc_08":
183                        location.href = "/app/map?mb_user_region=세종";
184                        break;	
185                    case "loc_09":
186                        location.href = "/app/map?mb_user_region=경기";
187                        break;
188                    case "loc_10":
189                        location.href = "/app/map?mb_user_region=강원";
190                        break;
191                    case "loc_11":
192                        location.href = "/app/map?mb_user_region=충북";
193                        break;
194                    case "loc_12":
195                        location.href = "/app/map?mb_user_region=충남";
196                        break;
197                    case "loc_13":
198                        location.href = "/app/map?mb_user_region=전북";
199                        break;
200                    case "loc_14":
201                        location.href = "/app/map?mb_user_region=전남";
202                        break;
203                    case "loc_15":
204                        location.href = "/app/map?mb_user_region=경북";
205                        break;
206                    case "loc_16":
207                        location.href = "/app/map?mb_user_region=경남";
208                        break;
209                    case "loc_17":
210                        location.href = "/app/map?mb_user_region=제주";
211                        break;
212                    default:
213                        location.href="#";
214                        break;
215                }
216			};
216 // onclick end
217			
218		})(aus[state], state);
219	}
220};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.