클러스터의 lat lng 오차

어떤 주소를 geocoder에 입력해서 lat lng을얻어 db에 저장해놓고,
db에 저장된 모든 lat lng을 불러와서 클러스터화를 시킨 상태입니다.

클러스터 클릭시 아래와같이 마커를통해 lat lng을 구했습니다.
그런데 db에 저장된 마커 lat lng과 이때 구해진 lat lng에 미세한 오차가 생기는데…어떻게 해결할수잇을까여?

예를들어 db에는
37.4985356558395,127.032615766508

클릭시 마커좌표는
37.49853565583951,127.032615766508

이정도로 미세한 차이가 있스니다.

const onClickClusterHandler = function (cluster) {
let markers = cluster.getMarkers();
if (markers.length > 0) {
const position = markers[0].getPosition();
const lat = position.getLat();
const lng = position.getLng();
onClickCluster(lat, lng);
}
};

좌표의 오차는 아래와 같이 불가항력적인 오차를 제외하면 사실상 오차가 크게 나지 않습니다.
이런 상황에는 입력값과 동일한 값이 나오지 않을 수 있습니다.

  • 좌표계 변환 과정에서 발생하는 오차,
  • 부동소수점 표현의 한계 때문에 발생하는 오차,
  • 스크린 화면상 1px로 표현한 수 있는 제약 때문에 생기는 표현의 오차

주신 좌표값으로 마커를 올려보면 마커도 동일한 위치에서 표시되고 있는 걸 확인할 수 있습니다.
좌표값의 차이가 크지 않은 경우 같은 정보로 맵핑할 수 있는 방법도 고려해 주세요.

1개의 좋아요

그렇군요… 말씀해주신대로 같은정보로 맵핑하는 방법을 고려해보겠습니다.
답변 감사합니다
즐거운 하루 보내세요!

1개의 좋아요