커스텀오버레이 관련

커스텀오버레이를 마커위에 찍는거 까지는 되는데, addListener 함수가 동작이 안됩니다.
클릭을 했을때만 커스텀오버레이를 나타내게 하고싶은데, 클릭도 하지 않았는데 오버레이가 떠있고, mouseout해도 오버레이가 사라지지 않습니다. Listner안에 console로그로 아무거나 찍어봤는데 로그는 찍히더라구요…
무엇이 문제인지 궁금합니다.

var overlaycontent = '<div class="customoverlay">' +
            '  <a href="https://map.kakao.com/link/map/11394059" target="_blank">' +
            '    <span class="title">' +
                    jsondata[i]['facltNm'] +
                 '</span>' +
            '     </div>' + 
            '  </a>' +
            '</div>';

            // 커스텀 오버레이가 표시될 위치입니다 
            // var cstoverposition = new kakao.maps.LatLng(jsondata[i]['mapY'], jsondata[i]['mapX']);  

            // 커스텀 오버레이를 생성합니다
            var customOverlay = new kakao.maps.CustomOverlay({
                content: overlaycontent,
                map: map,
                position: marker.getPosition(),
                yAnchor: 1     
            });
            
            // 마커를 클릭했을 때 커스텀 오버레이를 표시합니다
            kakao.maps.event.addListener(marker, 'click', function() {
                customOverlay.setMap(map);
            });
            
            // 마커를 클릭했을 때 커스텀 오버레이를 표시합니다
            kakao.maps.event.addListener(marker, 'mouseout', function() {
                customOverlay.setMap(null);
                console.log(1);
            });

오버레이 객체 생성 시 map 속성을 제거해주세요.
map 속성이 들어가 있으면 지도에 표출되면서 생성되게 됩니다.

반복문일 경우 스코프 유지를 위한 방법은 아래 답변 함께 참고해주세요.
동일한 스코프에서 마커와 커스텀 오버레이를 생성하고, 마커 클릭 시 생성된 커스텀 오버레이를 표출할 수 있도록 구현해주세요.