클러스터 클릭시에 마커의 좌표를 알수있는 방법이있나요?

클러스터 클릭시에 마커의 좌표를 알수있는 방법이있나요?

클러스터 클릭 핸들러에 target, cluster 정보가 오는건 알겠는데 이걸로는 마커의 좌표를 알아낼수없는거같네요…

마커를 직접 클릭하지 않고 클러스트 클릭으로 마커의 좌표를 알고싶은데 방법이 있는지 궁금합니다.

클릭한 클러스터의 center좌표, bounds, 클러스터에 포함된 마커 정보 등을 가져올 수 있지만
마커를 클릭하지 않고는 마커 위치는 알 수 없습니다.
마커에 클릭 이벤트를 등록하거나 지도 클릭 이벤트로 클릭한 좌표를 구하는 방법이 있을 것 같습니다.

댓글감사합니다.
제시해주신 해결중에서는 지도클릭이벤트는 클러스터클릭시에는 동작하지 않고,
마커에 클릭이벤트를 통해 좌표를 구할수있으나, 그럼 클러스터되지않는 레벨까지 맵을 컨트롤해야 되는 번거로움이 있어서 해결책을 찾고싶었습니다.

네 맞습니다. 지도 이벤트를 사용할 경우는 클러스터의 이벤트는 사용하지 못하고 clickable 옵션을 false로 주고 사용해야 합니다.
말씀하신 마커가 어떤 마커를 나타내는지 알 수 없어서 제가 안내드리는 내용이 맞지 않을 수 있지만
마커 클러스터를 클릭할 때 클러스터에 포함된 마커 정보로 마커의 좌표값을 알 수 있으며

kakao.maps.event.addListener(clusterer, 'clusterclick', function(cluster) {
    let markers = cluster.getMarkers();
    for(let i = 0; i<markers.length; i++) {
        console.log(markers[i].getPosition());
    }
});

클릭한 위치에서 가장 근접한 마커를 찾으려면 지도 클릭 이벤트를 이용해서 클릭한 좌표와 생성된 마커간의 거리를 구해서 근접한 마커를 구할 수도 있습니다.

1개의 좋아요

++
document에 나와있는 리턴타입의 getLat, getLng 메소드를 실행하면 되는거였네요!
해결됐습니다. 감사드립니다
즐거운하루 보내세요!!


+추가
makers[i].getPosition() 시 아래와같은 접근할수없는 키값으로 오는데… 이부분은 어떻게 처리가 가능할까요?
qa {La: 127.032615766508, Ma: 37.4985356558395}


말씀해주신 방법으로 하니 해결됐습니다! 감사드립니다.

좋은하루보내세요!

1개의 좋아요