Excel - VBA

Naver Web Dynamic MAP이용한 VBA 지적도

EGTools 2024. 6. 18. 00:06

vWorld API 중에 Static MAP을 이미지로 제공하는 API가 있는데, 

이 API에서는 번지에 해당하는 다각형을 표시할 수 있는 옵션이 있어서 이걸 다운로드 합니다.

그런데, 이 API는 지도 확대가 18단계까지만 되기 때문에 작은 지형은 조금 보기 어렵습니다.

Static Map이라 확대하거나 축소할 때마다 새로 지도 이미지를 받아와야 합니다.

 

서울시청을 다운로드 한 예

 

 

그런데 Naver에서 지원하는 Naver Static MAP API는 20단계까지 확대를 지원하지만,

유감 스럽게도 지번에 해당하는 다각형을 표시할 수 없습니다.

 

Web Dynamic MAP API를 이용하면 지도에 다각형을 표시할 수 있는데, VBA 환경에서는 ...
Local Web Server를 Python을 이용해서 실행하고,  HTML 파일을 하나 만들어 Web Dynamic Map을 그리도록 하면 될 것 같아서 구현해 보았습니다.   

여기에서는 구현 절차와 구현된 움짤만 소개합니다.

 

- 지번주소 확인

- vWorld API를 이용해서 지번에 해당하는 pnu 확인

- pnu을 이용해서 지번의 중심좌표와 경계를 나타내는 다각형 좌표 확인

- Local Web Server 구동

- Web Dynamic Map 실행에 필요한 js파일을 생성

- 지번의 지도를 보여주도록 구성된 HTML 파일을 생성

- Local Web Page를 User Form의 WebBrowser 컨트롤에 표시

 

이렇게 하면 첫번째 Local Web Server를 실행하는데 몇 초 소요되고 이후로는 제법 빠르게 실행이 됩니다.

Web으로 구현되기 때문에 이동 및 확대/축소가 바로 작동되고,  지적도 빼기, 항공지도 더하기 등이 가능합니다.