본문 바로가기

카테고리 없음

라라벨 Naver geocode API 연동

함수로 구현했습니다.

$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;
}

인증 정보는 플랫폼에서 확인하세요 아래와 사진 참고하시면 됩니다

 

API키 정보