클라이언트가 두 지점간의 거리(distance)를 프론트에 출력해달라고 요청했다
그런데 한쪽에는 좌표정보가 없고 주소 정보 뿐이라서
주소를 이용해 좌표를 가져올 수 있는 간단한 방법이 필요 했고
KaKao Rest API 로컬(local)에서 주소-좌표 변환 기능을 이용하기로 했다.
KAKAO API 키 만들기
카카오 Developers에 계정이 없다면 계정을 만들고 나서
애플리케이션을 만들어야 한다.
( 웹 서비스의 경우 완성된 서비스가 아니더라도 일단 테스트 하는데 지장이 없었음 )
IP 및 도메인 설정
설정하기전 카카오 API 401에러는 API키가 유효하지 않다는걸 의미함.
진짜 API키 오타났거나 아니면 허용되지 않은 IP로 접속했을때 나타났었음.
한~두시간 씨름하다가 아래와 같이 설정해주었더니 사라짐.
애플리케이션 추가했다면
[일반]-[플랫폼 추가]에서 "웹" 추가
Rdirect URI 설정 후 저장
그리고 [고급]으로 들어가
[허용 서버 IP 주소]에 유효 아이피 작성 후 저장
(127.0.0.1 안먹혔고, 실제 로컬 컴퓨터 IP주소 입력했더니 401 에러사라졌음)
Kakao Rest 로컬 API 주소 변환 소스
'''
카카오 geodata 가져오기
error 구분은 if ( 'error_type' in r )
위도, 경도 위치는
r['documents'][0]['road_address']['x']
r['documents'][0]['road_address']['y']
'''
def getGPS_coordinate_for_KAKAO(address, MYAPP_KEY):
headers = {
'Content-Type': 'application/json; charset=utf-8',
'Authorization': 'KakaoAK {}'.format(MYAPP_KEY)
}
address = address.encode("utf-8")
p = urllib.parse.urlencode(
{
'query': address
}
)
result = requests.get("https://dapi.kakao.com/v2/local/search/address.json", headers=headers, params=p)
return result.json()
사용방법은
getGPS_coodinate_for_KAKAO(변환할 주소, Rest API 키)
결과값