카카오맵 클러스터러 내부 객체 값

줌 레벨 변경 시마다 각각 클러스터러 내 객체의 값을 판정하여 크기와 색상을 변경하려고 합니다.

  1. 줌 레벨 변경 시마다 클러스터들에 대한 작업을 수행할 수 있게 하는 이벤트가 존재하나요?
  2. 각각의 클러스터 내 커스텀 오버레이 객체 리스트를 가져올 수 있는지요?
  3. 커스텀 오버레이 내에 식별 값이나 사용자 정의 값을 넣을 수 있을까요?
  4. 값 판별에 따른 클러스터의 스타일 변경이 가능한가요?

테스트 코드를 돌려보고 있는데 어려움이 있어 문의 드립니다.

  1. 줌 레벨이 변경될 때 클러터링을 새로 할 경우, clustered 이벤트로 클러스터링이 완료된 객체를 받아 올 수 있습니다.
    문서: Kakao 지도 Web API Documentation

  2. const overlay = cluster.getClusterMarker().getContent(); 이 방법으로 오버레이 정보를 가져올 수 있습니다.

  3. 클러스터는 줌레벨 변경 시 지우고 다시 그리는 방식이기 때문에 사용자 정의값이 유지되지 않습니다.

  4. 말씀하신 값 판별이 단순 클러스터 사이즈 별 스타일이라면, calcuator을 이용해서 스타일을 적용하는 방법이 있습니다.
    marker clusterer setCalculator
    marker clusterer setStyles

1~3은 알려주신 clustered 이벤트를 이용해서 해결했습니다

식별값은 마커의 title에 넣어 조회해 와서 데이터 쪽은 해결이 됐는데

각각 클러스터의 크기와 색상을 바꿀순 없는건지요? 말씀해주신 calculator는 순수 마커 갯수만 가지고 판정을 하기때문에 사용이 어려울 것 같습니다

  1. 마커를 순회하며 식별자로 해당 데이터 조회
  2. 값 판정(미달 여부를 판정합니다)
  3. 미달 값이 속한 클러스터는 색상 변경 처리

api문서에 클러스터의 스타일에 접근 할 수 있는 함수는 없어 보여서요

클러스터 오버레이에 직접 스타일을 적용해 주시면 됩니다.
아래 링크 참고해 주세요.