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 e 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
'내가만드는것_만든것 > 프로그램-판매' 카테고리의 다른 글
Go로 제작된 가상 프린터 엔진 (0) | 2023.10.03 |
---|---|
MFC로 만든 단일실행 자동 업데이터 소스! (많은 기능/편리) (32/64bit감지/TaskBar표시/개별파일업데이트/보안통신 등) (5) | 2016.05.12 |
JsSafeCrypto 메모리보안 암호화 소스 (C/C++) (0) | 2015.07.31 |
VB.Net/C#.Net 자동 업데이터 (많은 기능/편리) (32/64bit감지/TaskBar표시등) (2) | 2015.07.31 |
JsNaverLogin 네이버 로그인 C#소스 (보안로그인) (0) | 2015.07.31 |
댓글