안녕하세요!
카카오 OPEN API로 웹페이지를 구현 연습 하고 있는 직장인입니다!!
카카오 MAP API 페이지에 나온 커스텀오버레이 코드를 참고하여 2개의 마커를 생성하고 오버레이 창까지는 띄웠으나
닫기부분이 2번째 contents만 실행이 되고 첫번째 contents는 닫기가 실행을 못하는 오류가 생겨 질문 남깁니다.
여러 답변을 찾아보니 content를 HTMLElement로 바꿔서 해보라는 글을 많이 보았는데 입력해둔 content가 많아서 어떻게 바꿔야하는 지를 모르겠어서…
HTMLElement로 바꾸지 않고 지금 코드에서 닫기를 구현 할 수 있는 방법이 있다면 설명 부탁드립니다!! 감사합니다.
혹시 방법이 없다면 HTMLElement로 바꾸는 방법이라도 설명해주시면 감사드리겠습니다.
var positions = [
{
title: '001해상풍력',
latlng: new kakao.maps.LatLng(34.650407, 124.859134)
},
{
title: '002해상풍력',
latlng: new kakao.maps.LatLng(35.014124, 125.352512)
}
];
var imageSrc = "https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/markerStar.png";
var imageSize = new kakao.maps.Size(24, 35);
var markerImage = new kakao.maps.MarkerImage(imageSrc, imageSize);
for (var i = 0; i < positions.length; i++) {
var marker = new kakao.maps.Marker({
map: map,
position: positions[i].latlng,
title: positions[i].title,
image: markerImage
});
}
var contents = ['<div class="wrap">' +
' <div class="info">' +
' <div class="info_title">' +
' 001해상풍력단지' +
' <div class="close" onclick="closeOverlay()" title="닫기"></div>' +
' </div>' +
' <div class="body">' +
' <div class="desc">' +
' <div class="titles">단지이름</div>' +
' <div class="lists">001해상풍력</div>' +
' </div>' +
' <div class="desc">' +
' <div class="titles">사업자명</div>' +
' <div class="lists">한국전력</div>' +
' </div>' +
' <div class="desc">' +
' <div class="titles">단지규모</div>' +
' <div class="lists">400MW</div>' +
' </div>' +
' <div class="desc">' +
' <div class="titles">해역정보</div>' +
' <div class="lists">수심 : 평균 00m, 최대 00m</div>' +
' <div class="lists">풍속 : 평균 00㎧, 최대 00㎧</div>' +
' </div>' +
' </div>' +
' </div>' +
'</div>',
'<div class="wrap">' +
' <div class="info">' +
' <div class="info_title">' +
' 002해상풍력단지' +
' <div class="close" onclick="closeOverlay()" title="닫기"></div>' +
' </div>' +
' <div class="body">' +
' <div class="desc">' +
' <div class="titles">단지이름</div>' +
' <div class="lists">002해상풍력</div>' +
' </div>' +
' <div class="desc">' +
' <div class="titles">사업자명</div>' +
' <div class="lists">한국전력</div>' +
' </div>' +
' <div class="desc">' +
' <div class="titles">단지규모</div>' +
' <div class="lists">300MW</div>' +
' </div>' +
' <div class="desc">' +
' <div class="titles">해역정보</div>' +
' <div class="lists">수심 : 평균 00m, 최대 00m</div>' +
' <div class="lists">풍속 : 평균 00㎧, 최대 00㎧</div>' +
' </div>' +
' </div>' +
' </div>' +
'</div>'];
for (var i = 0; i < contents.length; i++) {
var overlay = new kakao.maps.CustomOverlay({
map: map,
content: contents[i],
position: positions[i].latlng
});
}
kakao.maps.event.addListener(marker, 'click', function () {
overlay.setMap(map);
});
function closeOverlay() {
overlay.setMap(null);
}