맵 api로 클라이언트에 표시된 지도 영역를 알 수 있을까요?

안녕하세요 카카오맵 api를 사용한 프로그램을 개발중인 초보 개발자입니다.

지도위에 DB에 존재하는 위치를 볼때 마커를 표시하고 싶습니다. 광범위한 범위에 많은 위치 데이터(Lon,Lat)가 존재하는데
보고있지 않은 지역 밖의 마커는 불러오지않고 사용자가 보고있는 위치의 마커만을 세울려고 합니다.

해당위치와 보고있는 좌표를 영역을 계산해 해당위치의 데이터만 DB에서 가져오려하는데
사용자가 보고있는 지도의 영역을 알 수 있는 방법이 있을까요?

아니면 더 좋은 방법이 있는지 궁금합니다.

안녕하세요.

개발 가이드에서 '커스텀오버레이’와 get, set 관련 메소드 들을 참고해보세요.

1개의 좋아요

사용자가 보고 있는 위치를 가져오려면
map.getBounds() 를 호출하시면 됩니다.

// kakao.maps.LatLngBounds
var bounds = map.getBounds();

// kakao.maps.LatLng
var sw = bounds.getSouthWest();
var ne = bounds.getNorthEast();

// 개별 위/경도
var swLat = sw.getLat();
var swLng = sw.getLng();
var neLat = ne.getLat();
var neLng = ne.getLng();

이 정보를 서버로 보내서
DB상에 쿼리로 날린 후, 그 결과를 다시 응답 받아 지도 위에 그려주시면 가능할거에요.

1개의 좋아요

덕분에 해결되었습니다. 감사합니다 :slight_smile: