Toggle navigation
Toggle navigation
This project
Loading...
Sign in
김서연
/
Corona_Vaccination_Medical_Institution
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
3
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
김서연
2021-05-30 17:31:58 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
eff3a20fb56abf11cccddf76b8d52a7bbef14215
eff3a20f
1 parent
9f7d064c
검색결과 없을때 예외처리
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
96 additions
and
70 deletions
.vscode/launch.json
views/index.ejs
.vscode/launch.json
0 → 100644
View file @
eff3a20
{
//
Use
IntelliSense
to
learn
about
possible
attributes.
//
Hover
to
view
descriptions
of
existing
attributes.
//
For
more
information
,
visit
:
https
:
//go.microsoft.com/fwlink/?linkid=
830387
"version"
:
"0.2.0"
,
"configurations"
:
[
{
"type"
:
"pwa-chrome"
,
"request"
:
"launch"
,
"name"
:
"Open index.ejs"
,
"file"
:
"c:
\\
Users
\\
KSY
\\
Desktop
\\
4-1
\\
OpenSource
\\
Project
\\
views
\\
index.ejs"
}
]
}
\ No newline at end of file
views/index.ejs
View file @
eff3a20
...
...
@@ -5,7 +5,16 @@
<title>
코로나 백신 의료기관 조회
</title>
<!-- <link rel="stylesheet" href="/css/master.css"> -->
<
%if(typeof(info)!="undefined"){%>
<script>
try
{
if
(
'<%=info%>'
.
length
==
0
)
throw
new
error
();
}
catch
(
error
)
{
alert
(
"해당 지역 주변에 가능한 의료기관이 존재하지 않습니다."
);
location
.
href
=
'/'
;
}
</script>
<
% }%>
</head>
<body>
<center>
...
...
@@ -21,12 +30,14 @@
</p>
</form>
</center>
<div
id=
"map"
style=
"width:1300px;height:750px; margin-left:100px; float:left; "
></div>
<script
type=
"text/javascript"
src=
"https://dapi.kakao.com/v2/maps/sdk.js?appkey=35fccf4b4e2a3179187346f26ed3f988&libraries=services"
></script>
<
% if(typeof(info) != "undefined"){ %>
<div
style=
"overflow:scroll; width:500px; height:675px; padding:10px;float:right; margin-right:70px; border:1px solid black;"
>
<ol
id=
"placelist"
>
<ol
id=
"placelist"
>
<
% for(i=0; i
<info
.
length
;
i
++){%
>
<li
class=
"item"
>
<div
class=
"info"
>
...
...
@@ -50,79 +61,80 @@
<hr>
</li>
<
%} %>
</
u
l>
</
o
l>
</div>
<
%} %>
<
% if(typeof(result) != "undefined"){ %>
<script>
var
mapContainer
=
document
.
getElementById
(
'map'
),
// 지도를 표시할 div
mapOption
=
{
center
:
new
kakao
.
maps
.
LatLng
(
37.596672
,
127.051950
),
// 지도의 중심좌표
level
:
2
// 지도의 확대 레벨
};
var
map
=
new
kakao
.
maps
.
Map
(
mapContainer
,
mapOption
);
// 지도를 생성합니다
var
geocoder
=
new
kakao
.
maps
.
services
.
Geocoder
();
// 지도 확대 축소를 제어할 수 있는 줌 컨트롤을 생성합니다
var
zoomControl
=
new
kakao
.
maps
.
ZoomControl
();
map
.
addControl
(
zoomControl
,
kakao
.
maps
.
ControlPosition
.
RIGHT
);
var
listData
=
"<%= result %>"
;
listData
=
listData
.
replaceAll
(
'"'
,
'\"'
);
listData
=
JSON
.
parse
(
listData
);
var
count
=
0
;
//입력되는 배열명이 listData로 들어오면 됨.
listData
.
forEach
(
function
(
addr
,
index
)
{
var
tmpaddr
=
((
addr
.
orgZipaddr
).
split
(
','
))[
0
];
console
.
log
(
tmpaddr
);
geocoder
.
addressSearch
(
tmpaddr
,
function
(
result
,
status
)
{
if
(
status
===
kakao
.
maps
.
services
.
Status
.
OK
)
{
var
coords
=
new
kakao
.
maps
.
LatLng
(
result
[
0
].
y
,
result
[
0
].
x
);
count
+=
1
;
var
marker
=
new
kakao
.
maps
.
Marker
({
position
:
coords
,
clickable
:
true
});
// 마커를 지도에 표시합니다.
marker
.
setMap
(
map
);
<script>
var
mapContainer
=
document
.
getElementById
(
'map'
),
// 지도를 표시할 div
mapOption
=
{
center
:
new
kakao
.
maps
.
LatLng
(
37.596672
,
127.051950
),
// 지도의 중심좌표
level
:
2
// 지도의 확대 레벨
};
var
map
=
new
kakao
.
maps
.
Map
(
mapContainer
,
mapOption
);
// 지도를 생성합니다
var
geocoder
=
new
kakao
.
maps
.
services
.
Geocoder
();
// 지도 확대 축소를 제어할 수 있는 줌 컨트롤을 생성합니다
var
zoomControl
=
new
kakao
.
maps
.
ZoomControl
();
map
.
addControl
(
zoomControl
,
kakao
.
maps
.
ControlPosition
.
RIGHT
);
var
listData
=
"<%= result %>"
;
listData
=
listData
.
replaceAll
(
'"'
,
'\"'
);
listData
=
JSON
.
parse
(
listData
);
var
count
=
0
;
//입력되는 배열명이 listData로 들어오면 됨.
listData
.
forEach
(
function
(
addr
,
index
)
{
var
tmpaddr
=
((
addr
.
orgZipaddr
).
split
(
','
))[
0
];
console
.
log
(
tmpaddr
);
geocoder
.
addressSearch
(
tmpaddr
,
function
(
result
,
status
)
{
if
(
status
===
kakao
.
maps
.
services
.
Status
.
OK
)
{
var
coords
=
new
kakao
.
maps
.
LatLng
(
result
[
0
].
y
,
result
[
0
].
x
);
var
num
=
1
;
// 인포윈도우를 생성합니다
var
infowindow
=
new
kakao
.
maps
.
InfoWindow
({
content
:
'<div style="width:250px;text-align:center;padding:5px 0;">'
+
addr
.
orgnm
+
'</div>'
,
});
// 마커에 mouseover 이벤트와 mouseout 이벤트를 등록합니다
// 이벤트 리스너로는 클로저를 만들어 등록합니다
kakao
.
maps
.
event
.
addListener
(
marker
,
'mouseover'
,
makeOverListener
(
map
,
marker
,
infowindow
));
kakao
.
maps
.
event
.
addListener
(
marker
,
'mouseout'
,
makeOutListener
(
infowindow
));
if
(
count
==
1
){
map
.
setCenter
(
coords
);
}
// 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
//console.log(listData.length);
}
});
});
// 인포윈도우를 표시하는 클로저를 만드는 함수입니다
function
makeOverListener
(
map
,
marker
,
infowindow
)
{
return
function
()
{
infowindow
.
open
(
map
,
marker
);
};
}
// 인포윈도우를 닫는 클로저를 만드는 함수입니다
function
makeOutListener
(
infowindow
)
{
return
function
()
{
infowindow
.
close
();
};
}
</script>
<
% } %>
count
+=
1
;
var
marker
=
new
kakao
.
maps
.
Marker
({
position
:
coords
,
clickable
:
true
});
// 마커를 지도에 표시합니다.
marker
.
setMap
(
map
);
var
num
=
1
;
// 인포윈도우를 생성합니다
var
infowindow
=
new
kakao
.
maps
.
InfoWindow
({
content
:
'<div style="width:250px;text-align:center;padding:5px 0;">'
+
addr
.
orgnm
+
'</div>'
,
});
// 마커에 mouseover 이벤트와 mouseout 이벤트를 등록합니다
// 이벤트 리스너로는 클로저를 만들어 등록합니다
kakao
.
maps
.
event
.
addListener
(
marker
,
'mouseover'
,
makeOverListener
(
map
,
marker
,
infowindow
));
kakao
.
maps
.
event
.
addListener
(
marker
,
'mouseout'
,
makeOutListener
(
infowindow
));
if
(
count
==
1
){
map
.
setCenter
(
coords
);
}
// 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
//console.log(listData.length);
}
});
});
// 인포윈도우를 표시하는 클로저를 만드는 함수입니다
function
makeOverListener
(
map
,
marker
,
infowindow
)
{
return
function
()
{
infowindow
.
open
(
map
,
marker
);
};
}
// 인포윈도우를 닫는 클로저를 만드는 함수입니다
function
makeOutListener
(
infowindow
)
{
return
function
()
{
infowindow
.
close
();
};
}
</script>
<
% } %>
</body>
</html>
\ No newline at end of file
...
...
Please
register
or
login
to post a comment