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 지도에 표시하기)은 아래에서 확인 할 수 있습니다!
참고사이트
1. https://developers.kakao.com/docs/latest/ko/local/dev-guide
'Back End > Server' 카테고리의 다른 글
[Server] node.js 자동 로그인 구현 (Cookie + Session 활용) (2) | 2022.02.23 |
---|---|
[Server] node.js 비밀번호 초기화 API 구현 (0) | 2022.02.12 |
[Server] Open API인 KaKao Map을 이용하여 위치를 지도에 표시하기 (0) | 2022.02.06 |
[Node.js vs Spring] Node.js vs Spring의 차이 (5) | 2021.12.28 |
[Server] Java Servlet(자바 서블릿) 그리고 JSP(Java Server Page) (0) | 2021.09.03 |