코디잉

11.19_Tmap api, tour api 테스트 (한국관광공사-국문관광정보서비스 API) 본문

PROJECT/TRIPLAN(여행 플래너)

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) 정보 가져오기

URL → https://apis.data.go.kr/B551011/KorService/areaCode?serviceKey=발급받은서비스키입력&areaCode=가져오고싶은지역코드입력&numOfRows=10&pageNo=1&MobileOS=ETC&MobileApp=AppTest 

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

 

Comments