본문 바로가기

Back End/Server

[Server] Open API인 KaKao Map을 이용하여 위도 경도 얻기

Open API인 KaKao Map을 이용하여 위도 경도 얻기


개요

  Open API인 KaKao Map을 이용하여, 원하는 주소의 위도와 경도 값을 Javascript의 axios를 통해 가져온다.

 

목차

 

소개

 1. REST API Key 발급 

 

Application 등록 및 App Key 발급

 https://developers.kakao.com/ 로 접속들어간 후 내 애플리케이션을 클릭한다. 

② Open API를 사용하고자 하는 Application의 정보를 등록한다.

 

③ 그 후 애플리케이션에 관한 정보를 입력하여준다.

④ 생성 된 애플리케이션을 클릭 후 요약정보에서 REST API Key를 복사하여 둔다.

 

 2. axios를 통해 위도와 경도 정보 요청 

getLALOInfo: async(req, res) => {
	const placeAddress = req.body.placeAddress; //원하는 주소를 body값에 받거나 변수로 입력하여준다.
	const url = 'https://dapi.kakao.com/v2/local/search/address.json?query=' + encodeURI(placeAddress);
	const axiosResult = await axios({
		url: url,
		method: 'get',
		headers: {
			Authorization: 'KakaoAK REST API KEY', //KakaoAK 뒤에 위에서 얻은 REST API KEY를 입력
		},
	});
}

 

 3. 데이터에서 원하는 값인 위도(latitude)와 경도(longtitude) 값 추출 

 

Kakao Developers 공식문서에서의 Response

위의 axios 요청을 통해 axiosResult에서는 아래와 같은 Response들이 담겨있다.

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
  "meta": {
    "total_count": 4,
    "pageable_count": 4,
    "is_end": true
  },
  "documents": [
    {
      "address_name": "전북 익산시 부송동 100",
      "y": "35.97664845766847",
      "x": "126.99597295767953",
      "address_type": "REGION_ADDR",
      "address": {
        "address_name": "전북 익산시 부송동 100",
        "region_1depth_name": "전북",
        "region_2depth_name": "익산시",
        "region_3depth_name": "부송동",
        "region_3depth_h_name": "삼성동",
        "h_code": "4514069000",
        "b_code": "4514013400",
        "mountain_yn": "N",
        "main_address_no": "100",
        "sub_address_no": "",
        "x": "126.99597295767953",	//경도(longitude)
        "y": "35.97664845766847"	//위도(latitude)	
      },
      "road_address": {
        "address_name": "전북 익산시 망산길 11-17",
        "region_1depth_name": "전북",
        "region_2depth_name": "익산시",
        "region_3depth_name": "부송동",
        "road_name": "망산길",
        "underground_yn": "N",
        "main_building_no": "11",
        "sub_building_no": "17",
        "building_name": "",
        "zone_no": "54547",
        "y": "35.976749396987046",
        "x": "126.99599512792346"
      }
    },
    ...
  ]
}

 

경도(longitude)와 위도(latitude) 얻기
const latitude = axiosResult.data.documents[0].address.y;	//위도(latitude)
const longitude = axiosResult.data.documents[0].address.x;	//경도(longitude)

얻어온 axiosResult의 data 배열에서 documents의 0번째 index의 address에서 우리가 입력한 주소의 위도와 경도가 출력됨을 확인 할 수 있다.

 

이와 관련하여 지도에 함께 추출해주면서 다양한 활용이 가능합니다!

연관 내용(위도와 경도를 Kakao Map 지도에 표시하기)은 아래에서 확인 할 수 있습니다!

 

[Server] Open API인 KaKao Map을 이용하여 위치를 지도에 표시하기

Open API인 KaKao Map을 이용하여 위치를 지도에 표시하기 개요 Open API로 제공되는 KaKao Map을 이용하여, 주어진 위치를 프론트엔드로 나타내어 표시하여준다. 목차 Kakao App Key 발급 html의 Javascri..

well-made-codestory.tistory.com

 

참고사이트

1. https://developers.kakao.com/docs/latest/ko/local/dev-guide

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com