2012-02-14 4 views
0

웹 사이트에 Google지도지도를 표시하고 현재지도 영역에 수백 개의 마커를로드하고 표시 할 수 있습니다. 문제는지도를 확대/축소하거나 이동할 때 어떻게 행동해야지도 영역이 변경되는지입니다.필요할 때만 Google지도에 마커 추가

지도의 일부가 이전과 동일하며 여기에 마커가 있습니다. 그러나지도의 일부가 새롭고 새로운 마커가 추가되어야합니다.

지금 가장 간단한 해결책을 제시하고 모든 마커를 지우고 현재지도 영역의 마커를 검색하여 추가합니다. 이렇게하면 지우기 (clear) 및 즉시 추가로 마커 (분명히)에 깜박임 효과가 발생합니다.

이 상황을 처리하는 효율적인 방법은 무엇입니까?

마커가 이미지도에 추가되었는지 확인하는 방법이 있습니까?

+0

코드를 볼 수 있습니까? – duncan

답변

0

마커 클러스터 또는 클러스터링 알고리즘을 사용하여 축소 할 때 함께 묶은 마커를 그룹화하고 확대 할 때 그룹화 할 수 있습니다. 그러면 데이터베이스 쿼리 시간과 맵 그리기가 크게 줄어들 수 있습니다. 좋은 해결책은 kd-tree입니다.

0

마커가지도에 추가되었는지 확인하려면 마커의 getMap 메소드를 호출하고지도 객체를 반환하면 추가되었습니다.

마커가지도의 보이는 영역에 있는지 확인하려면 LatLngBounds를 반환하는지도에서 getBounds 메서드를 호출 할 수 있습니다. 그런 다음 마커 좌표를 전달하여 반환 된 LatLngBounds의 contains 메소드를 호출합니다.

희망이 있습니다.

관련 문제