코디잉
11.19_Tmap api, tour api 테스트 (한국관광공사-국문관광정보서비스 API) 본문
11.19_Tmap api, tour api 테스트 (한국관광공사-국문관광정보서비스 API)
yong_ღ'ᴗ'ღ 2022. 11. 21. 04:07테스트하고 자료 찾아보면서 알게된 점 정리
<원하는 기능>
✔ Tmap api를 사용해서
장소 검색, 검색한 장소를 회원의 목록에 추가, 지도에 마커로 표시되어야 함
- 장소 검색하면 그 좌표를 input hidden값으로 가지고 있을 예정
✔ 한국관광공사의 국문관광정보서비스 API를 사용해서
해당 지역의 관광지들을 인기순으로 불러와서 해당 장소를 회원이 목록에 추가할 경우,
Tmap 지도에 마커로 표시되어야 함
- 관광지들 목록을 띄울 때, input hidden 값으로 좌표를 가지고 있을 예정
✔ 그리고 모든 장소를 추가한 후에 <경로 최적화>를 누르면, 해당 장소들의 최적화된 경로를 지도에 표시해줘야 한다.
<Tmap API>
아뉘 경유지 최적화 테스트하면서 분명 무료로 사용할 수 있는 횟수가 쫌 있었던 거 같은데 몇 번 하지도 않았는데 안돼서 봤더니 기본 값으로 경유지최적화30 으로 되어있어서 그랬다 ㅎ_ㅎ
- 경유지개수와 일 무료 횟수
◼ 10 → 50건/일: "https://apis.openapi.sk.com/tmap/routes/routeOptimization10?version=1&format=json"
◼ 20 → 50건/일: "https://apis.openapi.sk.com/tmap/routes/routeOptimization20?version=1&format=json"
◼ 30 → 1건/일: "https://apis.openapi.sk.com/tmap/routes/routeOptimization30?version=1&format=json"
◼ 100 → 1건/일: "https://apis.openapi.sk.com/tmap/routes/routeOptimization100?version=1&format=json"
<한국관광공사 국문관광정보서비스 API 알게 된 점>
◼ 대표이미지가 반드시 있는 정렬 & 조회순으로 정렬: arrange=P
◼ contentTypeId 중에 관광지만 사용할 듯: cotentTypeId=12
◼ areacode는 17개 (서울, 인천, 대전 ~~~, 전라남도, 제주도)
◼ 아래 사이트에서 내가 원하는 정보 가져오려면 URL 어떻게 해야하는지 나옴
https://api.visitkorea.or.kr/#/useInforArea
◼ 해당 지역(areacode)에 대한 시군구(sigungucode) 정보 가져오기
ex) 서울(areacode=1) 검색하면 이렇게 나옴
◼ https://api.visitkorea.or.kr/#/useKoreaGuide 해당 사이트에 있는 정보들 중 공통정보조회를 쓸 예정
→ 장소 이름(title), 위도(mapy), 경도(mapx), 사진(firstimage) 사용 예정
(지역코드(areacode)랑 시군구코드(sigungucode)도 사용할 수도 있을 듯)
- 공통정보조회로 검색하면 이런식으로 나온다. (XML 형식)
URL → https://apis.data.go.kr/B551011/KorService/detailCommon?serviceKey=발급받은서비스키입력&MobileOS=WIN&MobileApp=TRIPLAN&_type=XML&contentId=126508&contentTypeId=12
&defaultYN=Y&firstImageYN=Y&areacodeYN=Y&catcodeYN=Y&addrinfoYN=Y&mapinfoYN=Y&overviewYN=Y
ex)
◼ 제주도의 제주시에 대한 관광지 목록을 조회한 걸 view 대충 만들고 제대로 나오는지 확인
JAVA 로 XML 데이터 가져오는 건
(https://velog.io/@garam0410/Java-OPEN-API-%ED%8C%8C%EC%8B%B1%ED%95%98%EA%B8%B0-XML) 참고
제주도(areacode=39)의 제주시(sigungucode=4)의 관광지(contentTypeId=12)를 인기순으로 목록 조회
https://apis.data.go.kr/B551011/KorService/areaBasedList?serviceKey=발급받은서비스키입력&pageNo=1&numOfRows=10&MobileApp=AppTest&MobileOS=WIN&arrange=P&contentTypeId=12&areaCode=39&sigunguCode=4
이런식으로 뜨는거 view에서 예쁘게 해서 목록으로 띄우면 될 것 같다.
+) 위·경도라고 해서 위도가 x고, 경도가 y로 알고 저번 플젝에서도 이번 플젝에서도 그렇게 했는데....
tourapi 보면서 위도가 mapy로 되어있어서 보니까...원래는 경도가 x고, 위도가 y구나,,ㅎㅎ,ㅎ,ㅎ,,
위도(y) = 37.xxx
경도(x) = 127.xxxx
+) 위도,경도는 x,y의 개념이 아니고
위도(가로선), 경도(세로선)이라 좌표로 생각해서 읽으면
위도는 y축의 숫자로 읽고, 경도는 x축의 숫자로 읽어서 경도(x), 위도(y)라고 하는 것
<참고>
▪ Tmap 설명
https://tmapapi.sktelecom.com/main.html
Guide | T MAP API
tmapapi.sktelecom.com
▪ 한국관광공사 국문관광정보서비스 사용법
https://api.visitkorea.or.kr/#/useKoreaGuide
TourAPI4.0
누구나 쉽게 접근하고 활용 할 수 있는 다국어 관광정보 고객 맞춤형 데이터
api.visitkorea.or.kr
▪ java로 open api의 XML 파싱하기
https://velog.io/@garam0410/Java-OPEN-API-%ED%8C%8C%EC%8B%B1%ED%95%98%EA%B8%B0-XML
[Java] OPEN API 파싱하기 (XML)
OPEN API API란, Application Programming Interface의 약자로, 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.
velog.io

'PROJECT > TRIPLAN(여행 플래너)' 카테고리의 다른 글
11.21_(지도api 테스트 중) ajax로 생성된 html에 jquery 이벤트 걸기 (0) | 2022.11.21 |
---|---|
11.20_view 만드는 중,,,ing,,, (0) | 2022.11.21 |
11.17_로고 확정, DB 논리/물리 설계, SpringBoot 환경 (0) | 2022.11.21 |
11.14_프로젝트명, 스토리보드, 요구분석서 (0) | 2022.11.21 |
11.10_프로젝트 주제, 기능 회의 (0) | 2022.11.21 |