지도 기술서

오창진·2024년 5월 23일

프로젝트

목록 보기
12/17

지도 기능


지도는 따로 컨트롤러를 만들지 않고 homeController에서 컨트롤 가능하도록
localhost:8081/usr/home/map으로 들어가게 되면 지도 페이지가 나오도록

상단 메뉴 부분

웹페이지 모습

브라우저에서는 메뉴의 지도를 누르면 이동됩니다.



homeController 에서 articleService를 @autoWired를 통해 연결
모든 게시물의 제목을 순서대로 가져온다



같은 방식으로 게시물의 모든 주소를 순서대로 가져온다

그 후 "/" 를 통해서 순서대로 제목과 주소를 합쳐준다 -> 이는 나중에 split을 사용해서 분리하려고

이렇게 만들어진 titleAddress를 model을 통해서 페이지에 전달

지도 활용 예시

내 프로젝트에서 생성된 게시글의 제목과 주소를 기반으로 지도에 마커를 생성
마커를 누르게 되면 위와 같이 여행지와 주소가 보이게 된다
길찾기 버튼을 누르게 되면 두지점의 경로를 보여주게 된다 (수정 예정)

지도 생성과 마커 및 인포윈도우 생성 방법

카카오 맵 api 사용 방법

https://velog.io/@tama51/%EC%B9%B4%EC%B9%B4%EC%98%A4-api-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95

지도를 생성하는 방법은 kakaoDevelopers에서 제공해주는 방법으로 생성
지도 생성 방법
https://apis.map.kakao.com/web/sample/basicMap/
마커 생성 방법
https://apis.map.kakao.com/web/sample/basicMarker/
마커에 인포윈도우 생성 방법
https://apis.map.kakao.com/web/sample/markerWithInfoWindow/

kakaoMap에 있는 기능중 마커와 인포윈도우 기능 사용

jstl 태그를 사용
반복문을 통해서 titleAddress를 다시 title과 address로 분리

카카오서비스의 지오코딩으로 주소를 통해서 좌표를 얻어오게 된다
(주소 정보는 글을 작성할때 다음 우편번호주소 서비스를 활용했기에 없는 주소는
입력이 불가)

가져온 주소를 통해서 마커와 정보창을 띄울수 있게 된다 초록색 박스

정보창의 크기와 모양을 간단한 html과 css로 생성 주황색 박스

문제점 및 개선사항
길찾기를 구현 하고 싶었는데 직선 거리만을 표시하게 된다
이는 카카오 지도 api가 아닌 카카오 내비 api를 사용했어야 했다
카카오 내비 api가 요구하는 파라미터에는 x좌표 y좌표가 필수이다
하지만 무료 api중에서 x좌표와 y좌표를 구해주는 api를 잘 찾지 못해서 완성하지 못했다.

0개의 댓글