본문 바로가기
내가만드는것_만든것/프로그램-판매

(VB.Net) NaverStaticMap 클레스 - 서버X 네이버 Static 지도

by Joseph.Lee 2015. 7. 31.

2013.12.11. 20:42



NaverStaticMap은 프로그램에서 쉽게 지도를 이용할 수 있게 해주는 클래스입니다.

지도는 네이버의 Static지도(1.1버젼 최신)를 이용하였으며,

Static map을 이용해 서버필요없시 컴퓨터만으로 작동할 수 있고, 기존의 네이버맵(자바/Flash등등)에 구애받지 않고

원하는 기능을 마음껏 넣을 수 있습니다!

 

처음 이동을 클릭하면.


 

마커를 추가할 수 있습니다.


 

마커를 클릭하면!

마커클릭은 이벤트로 되어있어서, 마커를 클릭하면 메뉴를 보이게 할 수도 있습니다.


마우스로 드래그하면!

 

뭐 마커, 마우스 드래그 모두 네이버에 기본으로 있는게 아니라 직접 구현했습니다.

마커도 원하면 marker.png파일을 수정해 그림을 바꿀수도 있습니다.

 

지도타입을 설정할 수 있고, 캐쉬사용으로 지돌르 저장해 같은 위치를 보면 네이버에 접속하지 않고, 사진을 받아옵니다.

그리고 마커마다 고유번호가 있어 모든 마커를 구분할 수 있습니다.

 


Public Function DeleteCache() As Boolean 캐시파일을 삭제합니다.

Public Function Init( : 처음에 초기화와 설정합니다.

ByVal NaverMapAPIURL As String, : 네이버맵 API주소를 입력합니다.

(http://openapi.naver.com/map/getStaticMap 을 입력하시면 됩니다.)

ByVal NaverMapAPIKey As String, : 네이버에서 발급받은 Key을 입력합니다.

ByVal NaverMapAPIKeyUrl As String, : 발급받은 Key의 URL을 입력합니다.

ByVal Width As Integer, : 맵의 가로크기입니다.

ByVal Height As Integer, : 맵의 세로크기입니다.

Optional ByVal CachePath As String "" 캐시파일을 저장할 디렉토리입니다.

지정하지 않으면 어플리케이션디렉토리\CACHE폴더에 저장됩니다.

As Integer 성공시 0실패시 오류번호를 반환합니다.

 

Public Function SetMapPictureBox( : 처음에 맵을 표시할 픽쳐박스를 지정합니다.

ByRef Pic As PictureBox : 픽쳐박스컨트롤 입니다.

As Boolean 성공시 True을 실패시 False을 반환합니다.

 

Public Function SetSize( : 맵의 크기를 변경합니다.

ByVal Width As Integer, : 맵의 가로크기입니다.

ByVal Height As Integer 맵의 세로크기입니다.

As Boolean 성공시 True을 실패시 False을 반환합니다.

 

Public Function SetMapType( : 맵의 타입을 변경합니다.

ByVal MapType As NaverMapType : 맵의 타입입니다. NaverMapType을 참조하세요.

As Boolean 성공시 True을 실패시 False을 반환합니다.

 

Public Function SetCenter(

ByVal Level As Byte, : 맵의 레벨(확대)을 지정합니다. (1~14)

ByVal Lng As Double, : 경도를 지정합니다.

ByVal Lat As Double 위도를 지정합니다.

As Integer 성공시 0실패시 오류번호를 반환합니다.

 

Public Sub GetCenter( : 현재 지도의 위치를 얻어옵니다.

Optional ByRef Level As Byte = 0, : 맵의 레벨입니다.

Optional ByRef Lng As Double = 0, : 경도입니다.

Optional ByRef Lat As Double = 0) : 위도입니다.

 

Public Function Marker_Create( : 마커를 생성합니다.

ByVal Lng As Double, : 마커의 경도입니다.

ByVal Lat As Double, : 마커의 위도입니다.

ByRef MarkerNumber As Integer 마커의 번호를 반환합니다.

As Integer 성공시 0실패시 오류번호를 반환합니다.

 

Public Function Marker_Delete( : 마커를 삭제합니다.

ByVal MarkerNumber As Integer 마커의 번호입니다.

As Integer 성공시 0실패시 오류번호를 반환합니다.

 

 

Public Event Map_Markers_ClickEvent( : 마커를 클릭하면 실행될 이벤트입니다.

ByVal MarkerNumber As Integer, : 마커의 번호입니다.

ByVal As System.Windows.Forms.MouseEventArgs) : MouseEventArgs타입의 이벤트 정보입니다.

 

 

Public Enum NaverMapType As Byte 맵의 타입Enum입니다.

DefaultMap = 0 : 기본지도입니다.

SatelliteMap = 1 : 위성지도입니다.

Satellite_overlay = 2 : 위성 중첩지도입니다.

DefaultMap_bicycle = 3 : 기본 자전거도로 중첩지도입니다.

DefaultMap_traffic = 4 : 기본 자동차도로 중첩지도입니다.

Satellite_bicycle = 5 : 위성 자전거도로 중첩지도입니다.

Satellite_traffic = 6 : 위성 자동차도로 중첩지도입니다.

End Enum

 

자세한것은 예제소스를 참고해주세요!

데브피아ID : jic5760

E-Mail : jic5760@naver.com

이 소스의 수정은 자유하나 소스를 재배포, 재판매, 대여 등은 허용하지 않으며

빌드된 프로그램은 자유롭게 사용하실 수 있습니다. 

 

소스 다운로드 : http://dexpert.devpia.com/Tecboxs/2595


다시보니 소스에 문제가 약간씩 있네요... 수정한 C#소스입니다.

http://dexpert.devpia.com/TecBoxs/3138

반응형

댓글