Clusterover 위도 경도

clusterover는 위도 경도값 어떻게 뿌려야되나요?

map click이벤트로는 가능한데

clusterover 뭘 찍어야될지…
return function (cluster) 에 cluster안에 위도 경도는 나오는데;; 검색해보니 언더바나 함수값인것들은 나중에 값 자동으로 바뀌어서 문제 생긴다고 하는데;;

function clusterOverListener(map, marker, infowindow) {
console.log("map : ", map);
return function (cluster) {
console.log("marker : ", cluster);
console.log("cluster : ", cluster.getMarkers().length);
}
}

클러스터의 좌표는 cluster.getCenter()로 가져올 수 있으며
lat, lng은 cluster.getCenter().getLat(), cluster.getCenter().getLng()으로 구할 수 있습니다.

마커의 위경도가 필요한 경우라면 아래 코드 참고해주세요.

let markers = cluster.getMarkers();
markers.forEach(marker => {
    let position = marker.getPosition();
    console.log(position.getLng(), position.getLat());
});

감사합니다 덕분에 저건 해결 햇습니다
그런데 인포윈도우에잇는 객체안에 경도위도랑 클러스터에 있는 경도위도랑 비교해서 인포윈도우를 나오게하려고 하는데 가능 할까요???
인포위도우는 현재 맵안에 잇는 전체 값을 불러옵니다
그래서 클러스터 경위도 안에있는 값만 찾이서 뿌리려고 하는데
인포 위도우 경위도 값도 뿌리기가 힘드네요…
인포윈도우 안에 잇는 경위도 값은 어떻게 불러오나요…??

클러스터의 영역을 가져와서 infowindow 위치가 클러스터 영역에 포함되면 보여지게 구현하면 될 것 같습니다.
아래 코드와 문서 참고해주세요.

var bounds = cluster.getBounds();
bounds.contain(infowindow.getPosition());

https://apis.map.kakao.com/web/documentation/#Cluster_getBounds
https://apis.map.kakao.com/web/documentation/#LatLngBounds_contain
https://apis.map.kakao.com/web/documentation/#InfoWindow_getPosition

문서 참고를 해 봤느데
getBounds(); 값을 찍어봤는데

  1. ha: 126.94032256759397
  2. oa: 127.11414023387269
  3. pa: 37.595755909808354
  4. qa: 37.45740211629285

이렇게 나와요.
그래서 아무리 contain(infowindow.getPosition())을 찍어도 false 만 뜨네요…ㅠㅠ

InfoWindow에 position을 설정하지 않으면 좌표값이 없어서 false로 리턴될 수 있습니다.
InfoWindow를 생성할 때 위치값이 설정되어 있는지 확인해주세요.

  1. La: 124.84848842774221
  2. Ma: 33.474968900881905

위치값은 나옵니다
다만 문서 참고해서보면

var sw = new kakao.maps.LatLng(36, 127),
    ne = new kakao.maps.LatLng(37, 128),
    lb = new kakao.maps.LatLngBounds(sw, ne),
    l1 = new kakao.maps.LatLng(36.5, 127.5),
    l2 = new kakao.maps.LatLng(37, 128);

lb.contain(l1); // true
lb.contain(l2); // false

이렇게 나와있는데 LatLngBounds 이게 비교할 경위도 아닌가요…??
sw 보면 경위도가 한번에 나와있는데 저는 …

  1. ha: 126.94032256759397
  2. oa: 127.11414023387269
  3. pa: 37.595755909808354
  4. qa: 37.45740211629285
    이런식으로 나오니…

cluster.getBounds()의 리턴 객체가 LatLngBounds입니다.
리턴 받은 영역 정보로 contains 함수를 사용해서 인포윈도우 좌표가 포함됐는지 확인해주시면 됩니다.
영역 내 포함되지 않으면 false로 리턴이 되는데 포함된 정보도 false로 나온다면 인포윈도우 좌표가 올바른지 확인해주세요.

cluster.getBounds().getSouthWest(); // 영역의 남서좌표
cluster.getBounds().getNorthEast(); // 영역의 북동좌표

감사합니다 덕분에 많은걸 해결했습니다