[FAQ] 지도/로컬 API 문의 전 꼭 읽어 주세요.
https://devtalk.kakao.com/t/faq-api/125610
안녕하세요, 이번에 카카오 맵으로 클러스터러를 커스텀을 해야하는데 도저히 방법을 못찾겠어서 질문 드립니다.
const data= [
{
x: 37.4934585,
y: 127.0252199,
status: “Y”,
},
{
x: 37.4932585,
y: 127.0262199,
status: “Y”,
},
{
x: 37.4931585,
y: 127.0257199,
status: “Y”,
},
{
x: 37.4938585,
y: 127.0259199,
status: “Y”,
},
{
x: 37.4932285,
y: 127.0252199,
status: “N”,
},
{
x: 37.4934785,
y: 127.0252199,
status: “N”,
},
{
x: 37.4934785,
y: 127.0252199,
status: “N”,
},
{
x: 37.4934785,
y: 127.0252199,
status: “N”,
},
{
x: 127.299751315121,
y: 36.4910115284273,
status: “Y”,
},
{
x: 127.299751315121,
y: 36.4910115284273,
status: “Y”,
},
{
x: 127.299751315121,
y: 36.4910115284273,
status: “Y”,
},
{
x: 127.299751315121,
y: 36.4910115284273,
status: “Y”,
},
];
이런 구조의 데이터가 있습니다.
클러스터 범위 안에 있는 데이터의 status가 Y냐 N이냐에 따라서 클러스터의 text를 변경해주고 싶습니다.
도저히 방법을 모르겠어서 질문드립니다.
const createMarker = (position, elStatus) => {
const marker = new kakao.maps.Marker({
position,
clickable: true,
});
marker.elStatus = elStatus;
let markers = [];
markers.push(marker);
clusterer.value.addMarkers(markers);
};
이런식으로 마커를 만들어서 cluster에 지정해주고 있구요, setTexts쪽에서 어떻게 해야할 것 같은데 정말 감이 안잡힙니다.
제가 정확히 원하는 것은 이런 식으로 보여주고 싶습니다. cluster범위 내의 ‘status가 N인 값 , 클러스터 범위 안의 총 숫자’
예시를 들어보자면 위의 샘플 데이터에서 x값이 37.~인 cluster에는 ‘4 , 8’ 이렇게 표시가 되어야 하고,
x값이 127로 시작하는 클러스터에서는 ‘0, 4’
이런식으로 표기를 해주고 싶습니다
clusterer.value.setTexts((text, count) => {
const markers = clusterer.value.getMarkers();
const nCount = markers.filter((marker) => {
return marker.status != “Y”;
});
return ${nCount.length} /${text}
;
});
단순히 이렇게만 지정한다면 status가 N인 범위에만 값이 보여지는게 아닌 statur가 N이 없는 곳에도 0 이 아닌 모두를 보여주더라구요
어떻게 해야할까요?