지오코딩은 주소 (예: 상세 주소)를 지리적 좌표 (위도 및 경도)로 변환하는 과정으로, 이를 사용하여 마커를 지도에 배치하거나 지도의 위치를 지정할 수 있습니다. 이 문서에서는 주소를 지오코딩할 때 고려해야 할 사항을 명확히 설명합니다. Geocoding API를 사용하는 것이 가장 좋은 경우와 Places API 장소 자동 완성 서비스를 사용하는 것이 유용한 경우를 설명합니다.
일반적으로 전체 주소 (예: '48 Pirrama Rd, Pyrmont, NSW, Australia')를 지오코딩할 때는 Geocoding API를 사용하세요. 모호한(불완전한) 주소를 지오코딩할 때 또는 지연 시간에 민감한 애플리케이션(예: 사용자 입력에 응답할 때)에는 Places API Place Autocomplete 서비스를 사용하세요.
사용 사례 및 API 권장 사항
사용 사례 및 API 권장 사항 | |
---|---|
사용자 입력에 실시간으로 응답(사용자가 입력한 불명확하거나, 불완전하거나, 형식이 잘못 지정되거나, 철자가 잘못된 주소 포함) | Places API Place Autocomplete 서비스를 사용하여 장소 ID를 가져온 다음 Geocoding API를 사용하여 장소 ID를 latlng로 지오코딩합니다. |
자동화 시스템에서 완전하고 명확한 우편 주소를 처리 (예: '48 Pirrama Rd, Pyrmont, NSW, Australia') | Geocoding API 웹 서비스를 사용합니다. |
불명확한 검색어를 처리하는 자동화 시스템(예: 불완전하거나 형식이 잘못 지정되거나 철자가 잘못된 주소) | 자동화된 시스템은 Geocoding API 웹 서비스를 사용하는 것이 좋습니다. 그러나 사용자 입력에서 파생된 모호하거나 불완전하거나 잘못된 철자가 포함된 검색어의 비율이 높은 자동화 시스템의 경우 사용자가 결과를 선택하여 주소의 철자가 잘못되는 것을 방지할 수 있는 대화형 Place Autocomplete 위젯을 추가하는 것이 좋습니다. |
출발지, 목적지 또는 중간 지점이 주소 문자열로 지정된 경우 Directions API 또는 Distance Matrix API를 사용할 때 지연 시간 문제가 발생함 | Places API Placeautocomplete 서비스를 사용하여 장소 ID를 가져온 다음 장소 ID를 Directions API 또는 Distance Matrix API에 전달하여 지오코딩 지연 시간을 줄입니다. |
사용자 입력에 응답
사용자 입력에 실시간으로 응답하는 애플리케이션에는 API 선택에 영향을 미치는 두 가지 주요 고려사항이 있습니다.
- 사용자 입력은 일반적으로 주소를 점진적으로 입력하는 것을 의미하므로 (예: '123 Main Street') 불완전하고 모호한 주소를 지오코딩할 수 있으면 사용자가 더 빠르게 결과를 얻을 수 있으므로 유용합니다.
- 사용자 입력에 응답하는 애플리케이션은 지연 시간에 매우 민감합니다.
이러한 두 가지 고려사항으로 인해 Places API의 Place Autocomplete 서비스는 사용자 입력에 응답하는 사용 사례에 적합합니다. 장소 자동 완성은 가능한 여러 옵션을 반환하고 사용자가 그중에서 선택할 수 있도록 설계되었습니다. Places API는 비즈니스를 제외하고 지오코드 또는 주소만 검색하도록 제한할 수 있습니다. 또한 자동 완성 조회 함수는 위치에 관한 결과를 반환하도록 편향될 수 있습니다. Places API는 장소 ID를 반환하며, 이 ID는 Geocoding API 웹 서비스에 완전히 구분된 위치로 전달될 수 있습니다. 그러면 Geocoding API 웹 서비스는 전체 주소 세부정보를 반환하고 주소를 latlng로 지오코딩합니다. 장소 ID는 Directions API 및 Distance Matrix API와 같은 다른 API에도 전달할 수 있습니다 (아래 참고).
Geocoding API의 주소 지오코딩은 지연 시간이 훨씬 길고 불완전하거나 모호한 검색어에 대한 결과의 정확성이 떨어지므로 사용자 입력에 실시간으로 응답해야 하는 애플리케이션에는 권장하지 않습니다.
Android, iOS, JavaScript, Places API의 Place Autocomplete 서비스에 대해 자세히 알아보세요.
자동화 시스템
완전하고 모호하지 않은 우편 주소를 처리하는 자동화 시스템: 완전한 우편 주소 문자열 (예: '48 Pirrama Rd, Pyrmont, NSW, Australia')과 같은 모호하지 않은 검색어는 Geocoding API 웹 서비스에서 가장 잘 처리합니다. 주소 지오코딩 백엔드는 전 세계적으로 더 많은 주소를 제공하며 이러한 유형의 완전하고 명확한 쿼리로 고품질 결과를 얻도록 최적화되어 있습니다.
불명확한 검색어를 처리하는 자동화 시스템: 불명확한 검색어는 형식이 잘못된 주소, 불완전한 주소 또는 맞춤법 오류가 포함된 검색어입니다. 자동화된 시스템의 경우 Geocoding API 웹 서비스를 사용하는 것이 좋습니다. 그러나 Geocoding API는 모호한 검색어를 처리하도록 설계되지 않았으며 모호한 검색어에 대한 응답으로 덜 정확한 결과 또는 결과가 전혀 반환되지 않을 수 있습니다. 자동화된 시스템이 사용자 입력에서 파생된 모호한 쿼리를 많이 처리하는 경우 Places API의 Place Autocomplete 서비스를 사용하여 앱에 대화형 요소를 추가하는 것이 좋습니다. 이 서비스는 가능한 여러 옵션을 반환하고 사용자가 그중에서 선택할 수 있도록 설계되었기 때문입니다. Places API는 장소 ID를 반환하며, 이 ID는 Geocoding API 웹 서비스에 완전히 구분된 위치로 전달될 수 있습니다. 그러면 Geocoding API 웹 서비스는 전체 주소 세부정보를 반환하고 주소를 latlng로 지오코딩합니다. Android, iOS, JavaScript, Places API의 Place Autocomplete 서비스에 대해 자세히 알아보세요.
Directions API 및 Distance Matrix API의 지연 시간 감소
출발지, 도착지 또는 중간 지점이 주소 문자열로 지정된 경우 Directions API 및 Distance Matrix API는 Geocoding API와 동일한 백엔드를 사용하여 경로를 계산하기 전에 이러한 주소를 지오코딩합니다. 이렇게 하면 latlngs 또는 장소 ID와 동일한 위치를 지정하는 것보다 지연 시간이 크게 늘어납니다.
애플리케이션이 사용자 입력에 응답하는 등 지연 시간에 민감한 상황에서 Directions API 또는 Distance Matrix API를 사용하고 출발지, 도착지 또는 중간 지점이 처음에 주소 문자열로 지정된 경우 Places API의 장소 자동 완성 서비스를 사용하여 주소 문자열을 장소 ID로 변환한 다음 장소 ID를 Directions API 또는 Distance Matrix API에 전달하여 지연 시간을 최소화하는 것이 좋습니다. Android, iOS, JavaScript, Places API의 Place Autocomplete 서비스에 대해 자세히 알아보세요. 장소 자동 완성 및 경로의 JavaScript 예도 참고하세요.
결론
사용 사례에 따라 주소를 지오코딩할 때 Geocoding API를 사용하거나 Geocoding API와 함께 Place Autocomplete 서비스를 사용하면 사용자에게 정확한 지오코딩 결과와 지연 시간 감소를 제공하는 애플리케이션을 만들 수 있습니다.
오류 및 재시도 관리
UNKNOWN_ERROR
응답이 수신되면 일시적인 오류로 인한 것이므로 잠시 후 다시 시도하는 것이 가장 좋습니다. 재시도 로직이 포함되어 있고 Google Maps Platform 프리미엄 요금제 인증을 지원하는 Google Maps Platform 웹 서비스
클라이언트 라이브러리를 사용하는 것이 좋습니다.
Google 지도 서비스용 Java 클라이언트, Python 클라이언트, Go 클라이언트, Node.js 클라이언트는 커뮤니티에서 지원하는 클라이언트 라이브러리로, GitHub에서 다운로드하고 참여할 수 있으며, 설치 안내와 샘플 코드도 확인할 수 있습니다.
응답으로 OVER_QUERY_LIMIT
상태 코드가 표시되면 API의 사용량 한도를 초과한 것입니다. 다음
사용량 최적화 전략을 시도해 보세요.