다중 마커 커스텀 오버레이 닫기 기능 문의

문자열이 아닌 DOM API로 Element를 직접 생성하여 구성하는게
이 후에 컨트롤하기 쉬우며 실수가 적어집니다.

for( ; ; ) 문은 es6를 사용하지 않는 이상 변수가 스코프를 유지하지 못하므로
함수(IIFE)로 스코프를 만들어 주거나 forEach로 대체하는 것이 좋습니다.

positions.forEach(function(pos) {
  // 중략

  var customOverlay = new daum.maps.CustomOverlay({
    position: latlng
  });

  var content = document.createElement('div');

  var info = document.createElement('span');
  info.appendChild(document.createTextNode(pos.content));
  content.appendChild(info);

  var closeBtn = document.createElement('button');
  closeBtn.appendChild(document.createTextNode('닫기'));
  closeBtn.onclick = function() { customOverlay.setMap(null); };
  content.appendChild(closeBtn);

  customOverlay.setContent(content);
  customOverlay.setMap(map);
});
1개의 좋아요