반응형
250x250
Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

폴크(FOLC)

C# 테크닉 - 길 찾기 ( KakaoMap ) 본문

C#, WF, WPF(.NET)/C#, WF, WPF(.NET) 테크닉

C# 테크닉 - 길 찾기 ( KakaoMap )

folcjin 2022. 4. 4. 21:23
728x90
반응형

# Kakao Map 을 이용하여 특정한 영역의 길찾기
   > KakaoAPI 사용자 등록 후 관련 Key 필요
   > https://developers.kakao.com/console/app ( 관련 내용은 검색 후 참고 )
      - REST API 키
      - JavaScript 키

# 리소스에 WebBrowser 컨트롤 추가

   > 컨트롤 옵션 설정
      - Anchor : Top, Bottom, Left, Right
         > 확대/축소에 맞게 영역을 표시 하기 위함.

# JavaScript + HTML 파일 추가
   > KakaoMapForWinForms.html
   > 리소스 옵션에서 "항상 복사"로 설정

# JavaScript + HTML 내용
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <style type="text/css">
        html, body {
            width: 100%;
            height: 100%;
        }
    </style>
</head>
<body>
    <div id="map" style="width: 100%;height: 100%"></div>
    <script type="text/javascript"
            src="https://dapi.kakao.com/v2/maps/sdk.js?appkey=JavaScriptKEY"></script>
    <script>
        var container = document.getElementById('map');
        // center : 경도값, 위도값, level : 줌 설정
        var options = { center: new kakao.maps.LatLng(36.321655, 127.378953), level: 3 };
        var mapMAP = new kakao.maps.Map(container, options);
        mapMAP.addControl(new kakao.maps.MapTypeControl(), kakao.maps.ControlPosition.TOPRIGHT);

        function geo(address)
        {
            var geocoder = new kakao.maps.services.Geocoder();
            geocoder.addressSearch(address, function (result, status){
                if (status === kakao.maps.services.Status.OK)
                {
                    var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
                    var marker = new kakao.maps.Marker({ map: mapMAP, position: coords });
                    var infowindow = new kakao.maps.InfoWindow({
                        content: '<div style="width:100px;text-align:center;padding:3px 0;">Here!</div>'
                    });
                    infowindow.open(map, marker);
                    mapMAP.setCenter(coords);
                }
            });
        }
    </script>
</body>
</html>

 

# 소스 코드
using System.IO;
using System.Windows.Forms;

namespace WindowsFormsApp1_NavigateMAP_Kakao
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            // JavaScript + Html 파일 이용
            string html = KakaoMapForWinForms.html;
            string dir = Directory.GetCurrentDirectory();
            string result = Path.Combine(dir, html);
            WebBrowser.Navigate(result);
        }
    }
}

728x90
반응형
사업자 정보 표시
사업자 등록번호 : -- | TEL : --