지도범위안에 마커가 존재하는지 여부를 확인할 수 있을까요?

웹API사용 중입니다. 지도범위에 해당되는 마커만 노출을 시키려고 합니다.

마커를 변수에 할당시키고 setMap(null);을 이용하여

지도범위 변화시에 모든 마커를 제거하고 재 출력하는 형태로 사용하고 있습니다.

문제는 이런식으로 사용하면 모든 마커가 지도변화시 깜빡이게 되는데요. 영역안에 있는 마커는 제거없이 유지시키려고 합니다.

별도 함수없이 다른방법으로 구성을 할 수 있다면 조언을 주시면 감사하겠습니다.

map 함수 중에 getBounds() 라는 함수가 있는데요
현재 지도 좌표정보를 불러 올 수 있습니다.
전 현재 좌표 정보를 불러온 뒤 범위 내에 있는 좌표를 찾아서 해결 했습니다.

1개의 좋아요

제 질문은 지도 범위안에 마커가 존재하는지 여부를 확인하는 방법인데요
getBounds()를 써서 지도 범위를 알아냈다고 하면 그안에 마커가 있는지 없는지를 확인하는 방법이 궁금합니다.
체크하는 방법이 있다면 답변 부탁드리겠습니다(__)

생성한 마커의 참조는 다 들고 계셔야 하며

지도의 bounds를 얻은 시점에
마커들의 배열을 돌면서

var pos = marker.getPosition();
bounds.contain(pos); // true or false

로 확인할 수 있습니다.

http://apis.map.daum.net/web/documentation/#LatLngBounds_contain

1개의 좋아요

감사합니다!

1개의 좋아요