카카오API 이용시 좌표로 주소변환,주소 검색,좌표로 행정구역정보 받기를 한번에 해결할 수 있는 함수
·
조회수 15
주소나 맵 관련 작업을 하다보면 상황에 따라 좌표로 주소변환이나 주소 검색 그리고 좌표로 행정구역정보 받기를 해야 하는 경우가 있습니다.
그럴때마다 일일이 별도의 작업을 할 필요없이 옵션만 변경해 한번에 해결할 수 있는 함수입니다.
출처는 링크를 참고하시면 되는데 제작자분의 예제를 포함한 설명이 아주 잘 되어있으니 방문하셔서 차례대로 읽어보시면 금새 적용하실 수 있을겁니다.
말도 못하게 아주 편하니까 꼭 적용해보시기 바랍니다.
<?php
//카카오 rest api 함수
function kakaoRestApi($type, $parameter=array(), $content_type='json') {
// Request 정보
$host = "https://dapi.kakao.com";
$api_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$headers = array("Authorization: KakaoAK {$api_key}");
$query = http_build_query($parameter);
$path = "";
switch ($type) {
case "coord2address" : // 좌표로 주소변환
$path = "/v2/local/geo/coord2address";
break;
case "address" : // 주소 검색
$path = "/v2/local/search/address";
break;
case "coord2regioncode" : // 좌표로 행정구역정보 받기
$path = "/v2/local/geo/coord2regioncode";
break;
default :
// 올바른 API 구분이 아닌 경우 return;
return array('api_result' => false, 'err_msg' => 'API 구분을 올바르게 입력해 주세요.');
}
$opts = array(
CURLOPT_URL => $host . $path . '.' . $content_type . '?' . $query,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSLVERSION => 1,
CURLOPT_HEADER => false,
CURLOPT_HTTPHEADER => $headers
);
$curl_session = curl_init();
curl_setopt_array($curl_session, $opts);
$return_data = curl_exec($curl_session);
// response 정보
$decode = json_decode($return_data,true);
if (curl_errno($curl_session)) {
throw new Exception(curl_error($curl_session));
$decode['api_result'] = false;
} else {
curl_close($curl_session);
$decode['api_result'] = true;
}
return $decode;
}