9주차 Front-E 스터디 TIL

박규원·2023년 6월 1일
0

Front-E 스터디 TIL

목록 보기
9/9

오늘은 카카오맵을 사용하여 내가 원하는 위치를 보여주는 페이지를 만들어보았다.
오늘 매니저님의 깃허브에서 카카오맵_장고를 들고와서 코드를 작성해보았다.

먼저 django_kakaomap폴더를 만들어 open folder를 해준다.
그 후 python -m venv_django_kakaomap을 cmd창에 입력해준다.

pip install django //장고를 설치해준다
pip install -r requirements.txt
위의 두 명령어를 입력해준다

그 후 open folder->vsproj->django_kakaomap(내가만든파일)을 선택하여 폴더를 열어준다.

그리고 secret키를 작성해준다. //우리의 코드를 타인이 사용하지 못하도록 하기 위함.

{
    "SECRET_KEY": "django-insecure-+*=ofk8zw264b24fy1c#a-+v=s7&jdi$&%-((xqe)zk&fmox"
}

이 코드를 secrets.json파일로 작성해주고 django_kakaomap프로젝트안에 만들어준다.

static파일을 만들어주고(아무것도 안들어감)

templates/kakaomap_app 파일에 index.html파일에 카카오맵API를 사용하여 html파일을 작성해준다.

그렇게 하고

//이 코드는 html+js 파일 이다.
{% load static %}
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>카카오맵 첫번째 랜딩페이지입니다</h1>
    <div id="map" style="width:500px;height:400px;"></div>

    <script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=890eb7fd7b55736becc3388f215623f7"></script>
    <script>
        var container = document.getElementById('map');
        var options = {
            center: new kakao.maps.LatLng(33.450701, 126.570667),
            level: 3
        };

        var map = new kakao.maps.Map(container, options);

        // 마커를 표시할 위치입니다 
        var position =  new kakao.maps.LatLng(33.450701, 126.570667);

        // 마커를 생성합니다
        var marker = new kakao.maps.Marker({
        position: position,
        clickable: true // 마커를 클릭했을 때 지도의 클릭 이벤트가 발생하지 않도록 설정합니다
        });

        
        // 아래 코드는 위의 마커를 생성하는 코드에서 clickable: true 와 같이
        // 마커를 클릭했을 때 지도의 클릭 이벤트가 발생하지 않도록 설정합니다
        // marker.setClickable(true);

        // 마커를 지도에 표시합니다.
        marker.setMap(map);

        // 마커를 클릭했을 때 마커 위에 표시할 인포윈도우를 생성합니다
        var iwContent = '<div style="padding:5px;">Hello World!</div>', // 인포윈도우에 표출될 내용으로 HTML 문자열이나 document element가 가능합니다
            iwRemoveable = true; // removeable 속성을 ture 로 설정하면 인포윈도우를 닫을 수 있는 x버튼이 표시됩니다

        // 인포윈도우를 생성합니다
        var infowindow = new kakao.maps.InfoWindow({
            content : iwContent,
            removable : iwRemoveable
        });

        // 마커에 클릭이벤트를 등록합니다
        kakao.maps.event.addListener(marker, 'click', function() {
            // 마커 위에 인포윈도우를 표시합니다
            infowindow.open(map, marker);  
        });

    </script>
</body>
</html>

코드를 모두 작성한 후
python manage.py makemigrations
python manage.py migrate

python manage.py runserver //이 명령어는 페이지를 띄워주는 명령어이다
명령어를 입력해준다.

python manage.py runserver
이 명령어는 페이지를 띄워주는 명령어이니 외워두도록 하자.

이 명령어를 입력하면 cmd창에 ex) http://127.0.0.1:8000/ 와 같은 주소가 뜨는데
ctrl+click 으로 페이지가 뜬다.

https://apis.map.kakao.com/web/sample/addMarkerClickEvent/ 이 링크를 참조하면
카카오맵 API에 대한 설명과 코드가 매우 구체적으로 친절하게 작성되어있다.
참고하자!

profile
Just do IT

0개의 댓글