PHP 네이버지도API 지오코딩

항생물질 (토론 | 기여)님의 2022년 4월 2일 (토) 09:43 판 (코드 가독성 향상)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
PHP 네이버 지도 API 지오코딩

1 예시[ | ]

<?php
$key = '자신의API키';
$query = '서울시';
$url_query = http_build_query(
    [
        'key' => $key,
        'encoding' => 'utf-8',
        'coord' => 'LatLng',
        'output' => 'json',
        'query' => $query
    ]
);

$url = "http://openapi.map.naver.com/api/geocode?{$url_query}";

$text = file_get_contents($url);
$json = json_decode($text);

echo '<xmp>';
print_r($json);
echo '</xmp>';
/*
stdClass Object
(
    [result] => stdClass Object
        (
            [total] => 1
            [userquery] => 서울시
            [items] => Array
                (
                    [0] => stdClass Object
                        (
                            [address] => 서울특별시   
                            [addrdetail] => stdClass Object
                                (
                                    [country] => 대한민국
                                    [sido] => 서울특별시
                                    [sigugun] => 
                                    [dongmyun] => 
                                    [rest] => 
                                )
                            [isRoadAddress] => 
                            [point] => stdClass Object
                                (
                                    [x] => 126.9783881
                                    [y] => 37.5666102
                                )
                       )
                )
        )
)
*/

2 테스트 1: 여의도[ | ]

  • $query = '여의도';
stdClass Object
(
    [result] => stdClass Object
        (
            [total] => 1
            [userquery] => 여의도
            [items] => Array
                (
                    [0] => stdClass Object
                        (
                            [address] => 서울특별시 영등포구 여의도동 
                            [addrdetail] => stdClass Object
                                (
                                    [country] => 대한민국
                                    [sido] => 서울특별시
                                    [sigugun] => 영등포구
                                    [dongmyun] => 여의도동
                                    [rest] => 
                                )
                            [isRoadAddress] => 
                            [point] => stdClass Object
                                (
                                    [x] => 126.929425
                                    [y] => 37.528317
                                )
                        )
                )
        )
)

3 테스트 2: 없는 주소[ | ]

  • $query = '없는주소';
stdClass Object
(
    [error] => stdClass Object
        (
            [code] => 012
            [msg] => 검색 결과가 없습니다.
        )

)

4 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}