Map 내 효율적인 색 표현을 위한 질의

안녕하십니까. 회사 내에서 아래와 같은 페이지를 만들고자 합니다.
과거 계속 질문을 하면서 전체적인 방향을 결정하게 되었습니다. 다만, 확인 및 가능여부에 따라 피드백 받고싶은 건이 있어 다시한번 질문글을 남깁니다.

  1. 최종목적 : 지도위에 한전에서 보유하고 있는 조건에 따라 색을 표현하고자 함
  2. 폴리곤방식 : 폴리곤의 사이즈를 100*100m 정도로 무주군 전체에 폴리곤을 씌우고자 합니다.
    ※ 다만, 이러한 방식으로 엄청나게 많은 폴리곤들로 지도를 뒤덮어 버리면,
    퍼포먼스가 떨어질 것으로 예상되므로, 아래와 같이 질문을 드립니다.

질문#1 : 수많은 네모 모양의 폴리곤들을 제가 검색한 주소의 인근만 보이게 할 수 있나요?
질문#2 : 수많은 네모 모양의 폴리곤들을 지도의 확대레벨(번지단위로 보일정도로 확대한 레벨부터)에 따라 보이게 할 수 있나요?

noname01

보통 이렇게 합니다.

  • 클라이언트에서 영역좌표를 받으면 그 좌표안에 있는 폴리곤(형상)들만 쿼리하여 내려 보내주는 API 서비스 제작
  • 지도에 보이는 영역 (LatLngBounds)의 남서좌표와 북동좌표값을 추출
    http://apis.map.daum.net/web/sample/mapInfo/
    Map.getBounds()
    LatLngBounds.getSouthWest()
    LatLngBounds.getNorthEast()
  • 위 좌표를 API를 통해 호출하여 받은 형상 데이타를 Polygon 객체를 통해서 표출

이렇게 하면 보이는 영역의 형상들만 그릴 수 있기 때문에 꽤나 복잡한 형상도 소화할 수 있습니다.

지도 이벤트 중, zoom_changed 이벤트 핸들러에서 Map.getLevel()로 지도의 레벨을 확인한 다음 원하는 레벨 이하에서는 1번에서 만든 API를 호출하게끔 하면 됩니다.
http://apis.map.daum.net/web/sample/addMapZoomChangedEvent/

위의 구조가 아니더라도 서버에서 전체 데이터가 아닌 일정량의 필요한 데이터만 주고 받는 형식이라면 무엇이든 가능할 겁니다. 클라이언트의 부하를 서버가 대신 맡는다 생각하시면 되요.