본문 바로가기

Programming/php

[php] curl로 주소의 좌표값 찾기(카카오&구글)

function f_get_kakao_regioncode2coord($address) {
	$url = "https://dapi.kakao.com/v2/local/search/address.json?analyze_type=similar&page=1&size=10&query=".urlencode($address);

	$ch = curl_init();
	curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json', 'Authorization: KakaoAK Native key value'));
	curl_setopt($ch, CURLOPT_VERBOSE, true);
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	$rtn = curl_exec($ch);
	curl_close($ch);

	$rtn = json_decode($rtn, true);
	$rtn = $rtn['documents']['0'];

	return $rtn;
}


function get_googlemap_latlng($address){
	$url = 'https://maps.googleapis.com/maps/api/geocode/json?address='.urlencode($address).'&key='.GOOGLE_API_KEY;

	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_POST, false);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	$result = curl_exec($ch);
	if ($result === FALSE) {
		error_log('Curl failed');
		die('Curl failed: ' . curl_error($ch));
	}
	curl_close($ch);
	$arr_tmp = json_decode($result,true);
	$arr = $arr_tmp['results'][0]['geometry']['location'];;
	return $arr;
}