함수로 구현했습니다.
$query = "검색할 주소 입력"
function getNaverGecodeByQuery ($query) {
$result = DB::table('tb_naver_geocode')->where('query', $query)->first();
if(!$result) {
$response = Http::withHeaders([
'x-ncp-apigw-api-key-id' => '인증정보 입력',
'x-ncp-apigw-api-key' => '인증정보 입력',
'Accept' => 'application/json',
])->get("https://naveropenapi.apigw.ntruss.com/map-geocode/v2/geocode", [
'query' => $query
]);
if ($response->successful()) {
// 성공적인 응답 처리
$data = $response->json();
if(isset($data['status']) && $data['status'] == 'OK' && isset($data['addresses']) && count($data['addresses']) > 0) {
$data = $data['addresses'][0];
DB::table('tb_naver_geocode')->insert([
'query' => $query,
'road_address' => $data['roadAddress'],
'jibun_address' => $data['jibunAddress'],
'lat' => $data['y'],
'lng' => $data['x'],
]);
$result = DB::table('tb_naver_geocode')->where('query', $query)->first();
}
} else {
// 에러 처리
$error = $response->body();
}
}
return $result;
}
인증 정보는 플랫폼에서 확인하세요 아래와 사진 참고하시면 됩니다