Heo

인포윈도우 형식 및 정보 수정/맵중싱 이동 수정

...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
17 17
18 <div id="map" style="width:700px;height:400px;"></div> 18 <div id="map" style="width:700px;height:400px;"></div>
19 <script type="text/javascript" src="https://dapi.kakao.com/v2/maps/sdk.js?appkey=35fccf4b4e2a3179187346f26ed3f988&libraries=services"></script> 19 <script type="text/javascript" src="https://dapi.kakao.com/v2/maps/sdk.js?appkey=35fccf4b4e2a3179187346f26ed3f988&libraries=services"></script>
20 +
20 <% if(typeof(result) != "undefined"){ %> 21 <% if(typeof(result) != "undefined"){ %>
21 <script> 22 <script>
22 var mapContainer = document.getElementById('map'), // 지도를 표시할 div 23 var mapContainer = document.getElementById('map'), // 지도를 표시할 div
...@@ -35,11 +36,8 @@ ...@@ -35,11 +36,8 @@
35 listData = listData.replaceAll('&#34;','\"'); 36 listData = listData.replaceAll('&#34;','\"');
36 listData = JSON.parse(listData); 37 listData = JSON.parse(listData);
37 38
38 - // var x = 0; 39 + var count = 0;
39 - // var y = 0;
40 - // var count = 0;
41 40
42 - // console.log(listData[1]);
43 //입력되는 배열명이 listData로 들어오면 됨. 41 //입력되는 배열명이 listData로 들어오면 됨.
44 listData.forEach(function(addr, index) { 42 listData.forEach(function(addr, index) {
45 var tmpaddr = ((addr.orgZipaddr).split(','))[0]; 43 var tmpaddr = ((addr.orgZipaddr).split(','))[0];
...@@ -48,9 +46,7 @@ ...@@ -48,9 +46,7 @@
48 geocoder.addressSearch(tmpaddr, function(result, status) { 46 geocoder.addressSearch(tmpaddr, function(result, status) {
49 if (status === kakao.maps.services.Status.OK) { 47 if (status === kakao.maps.services.Status.OK) {
50 var coords = new kakao.maps.LatLng(result[0].y, result[0].x); 48 var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
51 - // y += result[0].y; 49 + count += 1;
52 - // x += result[0].x;
53 - // count += 1;
54 var marker = new kakao.maps.Marker({ 50 var marker = new kakao.maps.Marker({
55 position: coords, 51 position: coords,
56 clickable: true}); 52 clickable: true});
...@@ -60,20 +56,21 @@ ...@@ -60,20 +56,21 @@
60 56
61 // 인포윈도우를 생성합니다 57 // 인포윈도우를 생성합니다
62 var infowindow = new kakao.maps.InfoWindow({ 58 var infowindow = new kakao.maps.InfoWindow({
63 - content: '<div style="width:150px;text-align:center;padding:6px 0;">' + addr[1] + '</div>', 59 + content: '<div style="width:150px;text-align:center;padding:6px 0;">' + '기관명:' + addr.orgnm + '</div>',
64 - removable : true
65 }); 60 });
66 - // 마커에 클릭이벤트를 등록합니다 61 + // 마커에 mouseover 이벤트와 mouseout 이벤트를 등록합니다
67 - kakao.maps.event.addListener(marker, 'click', function() { 62 + // 이벤트 리스너로는 클로저를 만들어 등록합니다
68 - // 마커 위에 인포윈도우를 표시합니다 63 + kakao.maps.event.addListener(marker, 'mouseover', makeOverListener(map, marker, infowindow));
69 - infowindow.open(map, marker); 64 + kakao.maps.event.addListener(marker, 'mouseout', makeOutListener(infowindow));
70 - }); 65 + if(count == 1){
66 + map.setCenter(coords);
67 + }
71 // 지도의 중심을 결과값으로 받은 위치로 이동시킵니다 68 // 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
72 map.setCenter(coords); 69 map.setCenter(coords);
70 + //console.log(listData.length);
73 } 71 }
74 }); 72 });
75 }); 73 });
76 -
77 // 인포윈도우를 표시하는 클로저를 만드는 함수입니다 74 // 인포윈도우를 표시하는 클로저를 만드는 함수입니다
78 function makeOverListener(map, marker, infowindow) { 75 function makeOverListener(map, marker, infowindow) {
79 return function() { 76 return function() {
......