본문 바로가기
개발/Google

Google Geocoding API 사용법

by blacktree 2022. 6. 16.
반응형

Google Maps API를 사용하다 보면 특정 지점의 위경도를 가지고 주소를 찾거나 주소로 위경도를 찾는 기능이 필요하다.

Google에서는 주소와 GPS 좌표를 서로 변환하는 기능인 Geocoding API를 제공하고 있습니다.

 

Android

Geocoder Api 사용

지오코딩 및 역 지오코딩을 처리하기 위한 클래스입니다. 지오코딩은 주소 또는 위치에 대한 기타 설명을 (위도, 경도) 좌표로 변환하는 프로세스입니다. 역 지오코딩은 (위도, 경도) 좌표를 (부분) 주소로 변환하는 프로세스입니다. 역 지오코딩된 위치 설명의 세부 정보 양은 다를 수 있습니다. 

Geocoder geocoder = new Geocoder(this.getContext());
String address = "주소";
List<Address> list = geocoder.getFromLocationName(str, 5);
if (list != null) {
    if (list.size() == 0) {
                //해당되는 주소 정보를 찾지 못했습니다
     } else {
            Address addr = list.get( 0 );
            double lat = address.getLatitude();
            double lon = address.getLongitude();
     }
}

 

직접 URL로 호출

geocode를 직접  URL로 호출이 가능하다.

기본 URL 형식

https://maps.googleapis.com/maps/api/geocode/outputFormat?parameters

파라미터 

  • outputFormat
    • json : (권장) : JSON(JavaScript Object Notation)의 출력을 나타냅니다.
    • xml : XML로 출력을 나타냅니다.
  • parameters
    • address — 지오코딩할 거리 주소 또는 플러스 코드. 해당 국가의 전국 우편 서비스에서 사용하는 형식에 따라 주소를 지정합니다.
    • key— 애플리케이션의 API 키. 
    • language— 결과를 반환할 언어입니다.
https://maps.googleapis.com/maps/api/geocode/json?address=%EC%9D%B4%EB%8F%99&key=APIKey&language=ko

결과

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "이동",
               "short_name" : "이동",
               "types" : [ "political", "sublocality", "sublocality_level_2" ]
            },
            {
               "long_name" : "상록구",
               "short_name" : "상록구",
               "types" : [ "political", "sublocality", "sublocality_level_1" ]
            },
            {
               "long_name" : "안산시",
               "short_name" : "안산시",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "경기도",
               "short_name" : "경기도",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "대한민국",
               "short_name" : "KR",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "대한민국 경기도 안산시 상록구 이동",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 37.3175139,
                  "lng" : 126.8739092
               },
               "southwest" : {
                  "lat" : 37.3024264,
                  "lng" : 126.841602
               }
            },
            "location" : {
               "lat" : 37.3052039,
               "lng" : 126.8608219
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 37.3175139,
                  "lng" : 126.8739092
               },
               "southwest" : {
                  "lat" : 37.3024264,
                  "lng" : 126.841602
               }
            }
         },
         "place_id" : "ChIJi1RsUS9vezURpaHTiR_veNI",
         "types" : [ "political", "sublocality", "sublocality_level_2" ]
      }
   ],
   "status" : "OK"
}
728x90
반응형

'개발 > Google' 카테고리의 다른 글

Google Geocoding API 키 발급 받는 방법  (0) 2022.06.15

댓글