<script>
var mapAddr = <?php echo json_encode($mapaddr)?>;
var mapName = <?php echo json_encode($mapname)?>;
var mapContainer = document.getElementById('map'), // 지도를 표시할 div
mapOption = {
center: new daum.maps.LatLng(33.450701, 126.570667), // 지도의 중심좌표
level: 5 // 지도의 확대 레벨
};
// 지도를 생성합니다
var map = new daum.maps.Map(mapContainer, mapOption);
// 지도를 표시하는 div 크기를 변경하는 함수입니다
var mapContainer = document.getElementById('map');
mapContainer.style.width = '100%';
mapContainer.style.height = '500px';
// 지도를 표시하는 div 크기를 변경한 이후 지도가 정상적으로 표출되지 않을 수도 있습니다
// 크기를 변경한 이후에는 반드시 map.relayout 함수를 호출해야 합니다
// window의 resize 이벤트에 의한 크기변경은 map.relayout 함수가 자동으로 호출됩니다
map.relayout();
// 주소-좌표 변환 객체를 생성합니다
var geocoder = new daum.maps.services.Geocoder();
for(var key in mapAddr){
// 주소로 좌표를 검색합니다
geocoder.addressSearch(mapAddr[key], function(result, status) {
// 정상적으로 검색이 완료됐으면
if (status === daum.maps.services.Status.OK) {
var coords = new daum.maps.LatLng(result[0].y, result[0].x);
// 결과값으로 받은 위치를 마커로 표시합니다
var marker = new daum.maps.Marker({
map: map,
position: coords
});
for(var keys in mapName){
var iwContent = '<div style="width:150px;text-align:center;padding:6px 0;">' + mapName[keys] + '</div>',
iwRemoveable = true;
// 인포윈도우로 장소에 대한 설명을 표시합니다
var infowindow = new daum.maps.InfoWindow({
content : iwContent,
removable : iwRemoveable
});
}
infowindow.open(map, marker);
// 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
map.setCenter(coords);
} // if end
});
} // for end
</script>
이렇게 주소로만 검색시 마커는 잘 나타나는데
infowindow에서는 왜 마지막 값만 나오는지 모르겠네요
ex) 1,2,3,4,5,6,7 이라고 하였을때
마커에 있는 infowindow에는 7만 주구장창 나타납니다
어떤 방식으로해야 infowindow에 정상적으로 1,2,3,4,5,6,7이 나타날까요