커스텀오버레이 클릭 이벤트 질문입니다

현재 커스텀오버레이를 사용해서 클릭이벤트를 작성하려고 합니다.
마커와 인포윈도우, 커스텀오버레이를 제외한 공간을 클릭하면 오픈되어 있는 커스텀오버레이를 삭제하려고 하는데
커스텀오버레이는 zIndex를 바꾸어보아도 결국 map으로 인식하는지 꺼지더라구요…(아래 코드)
그래서 커스텀오버레이 내의 클릭이벤트가 시작하질 않습니다.
맵이 함께 클릭되는게 아닌 오버레이만 따로 클릭되게끔 하는 방법이 따로 방법이 있을까요?

	// 인포윈도우, 커스텀오버레이, 마커를 제외한 빈 지도공간을 선택 시 열려있는 커스텀오버레이를 제거합니다. overlay 는 생성 시 전역변수 existOverlay에 저장됩니다.
	kakao.maps.event.addListener(map, 'click', function(mouseEvent){
		if(existOverlay == null) return false;

		existOverlay.setMap(null);
	});
1개의 좋아요

CustomOverlay의 content를 문자열이 아닌 HTML Element 로 만들어주세요.
생성한 요소에 직접 이벤트를 걸어 사용할 수 있습니다.
아래 답변 참고해주세요.

1개의 좋아요

음… 이벤트는 해결했었는데요~!
저 위의 코드와 같이 맵의 빈공간을 클릭시 커스텀오버레이가 삭제되는 로직이랑 겹쳐서
실제 이벤트가 동작안하고 오버레이가 삭제가 되는 문제를 문의 드렸습니다…!

혹시, 1. 맵의 빈 공간을 클릭할 때에도 오버레이가 삭제되고, 2. 이벤트 동작 후 커스텀 오버레이가 종료
이렇게 될 수 있을까요?

컨텐츠 영역을 클릭할 때 지도 이벤트를 막으려면
CustomOverlay의 clickable 옵션을 true로 설정해주세요.
위 옵션을 설정하면 1,2 항목 가능합니다.
http://apis.map.kakao.com/web/documentation/#CustomOverlay

1개의 좋아요

감사합니다! 좀더 문서를 제대로 볼 걸 그랬네요!

1개의 좋아요