주소 지오코딩 권장사항

지오코딩은 주소 (예: 상세 주소)를 지도에 마커를 배치하거나 지도의 위치를 지정하는 데 사용할 수 있는 지리 좌표 (위도 및 경도)로 변환하는 과정입니다. 이 문서에서는 주소를 지오코딩할 때 고려해야 할 사항을 명확히 설명하는 데 중점을 둡니다. Geocoding API를 사용하는 것이 가장 적합한 경우와 Places API Place Autocomplete 서비스를 사용하는 것이 유용한 경우를 설명합니다.

일반적으로 전체 주소('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 Place Autocomplete 서비스를 사용하여 장소 ID를 가져온 다음 장소 ID를 Directions API (기존) 또는 Distance Matrix API (기존)에 전달하여 지오코딩 지연 시간을 줄입니다.

사용자 입력에 응답

사용자 입력에 실시간으로 응답하는 애플리케이션에는 API 선택에 영향을 미치는 두 가지 주요 고려사항이 있습니다.

  1. 사용자 입력은 일반적으로 주소를 점진적으로 입력하는 것 (예: '123 Main Street')을 포함하므로 불완전하고 모호한 주소를 지오코딩할 수 있으면 사용자가 더 빠르게 결과를 얻을 수 있어 유용합니다.
  2. 사용자 입력에 응답하는 애플리케이션은 지연 시간에 매우 민감합니다.

이 두 가지 고려사항으로 인해 Places API의 Place Autocomplete 서비스는 사용자 입력에 응답하는 사용 사례에 적합합니다. Place Autocomplete는 가능한 여러 옵션을 반환하고 사용자가 그중에서 선택할 수 있도록 설계되었습니다. Places API는 비즈니스를 제외하고 지오코드 또는 주소만 검색하도록 제한할 수 있습니다. 또한 자동 완성 조회 기능은 위치에 맞는 결과를 반환하도록 편향될 수 있습니다. Places API는 명확하게 구분된 위치로 Geocoding API 웹 서비스에 전달할 수 있는 장소 ID를 반환합니다. 그러면 Geocoding API 웹 서비스는 전체 주소 세부정보를 반환하고 주소를 위도 및 경도로 지오코딩합니다. 장소 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는 모호한 쿼리에 대처하도록 설계되지 않았으며 모호한 쿼리에 대한 응답으로 정확도가 낮은 결과나 0개의 결과를 생성할 수 있습니다. 자동화 시스템이 사용자 입력에서 파생된 모호한 쿼리를 높은 비율로 처리하는 경우 Places API의 Place Autocomplete 서비스를 사용하여 앱에 상호작용 요소를 추가하면 도움이 될 수 있습니다. 이 서비스는 가능한 여러 옵션을 반환하고 사용자가 그중에서 선택할 수 있도록 설계되었기 때문입니다. Places API는 명확하게 구분된 위치로 Geocoding API 웹 서비스에 전달할 수 있는 장소 ID를 반환합니다. 그러면 Geocoding API 웹 서비스는 전체 주소 세부정보를 반환하고 주소를 위도/경도로 지오코딩합니다. Android, iOS, JavaScript, Places API의 Place Autocomplete 서비스에 대해 자세히 알아보세요.

Directions API (기존) 및 Distance Matrix API (기존)의 지연 시간 감소

출발지, 목적지 또는 경유지가 주소 문자열로 지정되면 Directions API (기존) 및 Distance Matrix API (기존)는 Geocoding API와 동일한 백엔드를 사용하여 경로를 계산하기 전에 이러한 주소를 지오코딩합니다. 이렇게 하면 동일한 위치를 위도 및 경도 또는 장소 ID로 지정하는 것보다 지연 시간이 크게 늘어납니다.

애플리케이션이 사용자 입력에 응답하는 것과 같이 지연 시간에 민감한 상황에서 Directions API (기존) 또는 Distance Matrix API (기존)를 사용하고 출발지, 목적지 또는 경유지가 처음 주소 문자열로 지정된 경우 Places API의 Place Autocomplete 서비스를 사용하여 주소 문자열을 장소 ID로 변환한 다음 장소 ID를 Directions API (기존) 또는 Distance Matrix API (기존)에 전달하여 지연 시간을 최소화하는 것이 좋습니다. Android, iOS, JavaScript, Places API의 Place Autocomplete 서비스에 대해 자세히 알아보세요. Place Autocomplete 및 경로의 자바스크립트 예도 참고하세요.

결론

사용 사례에 따라 Geocoding API를 단독으로 사용하거나 Place Autocomplete 서비스와 결합할 수 있습니다. 이를 통해 정확한 지오코딩 결과와 짧은 지연 시간을 제공하는 앱을 빌드할 수 있습니다.

오류 및 재시도 관리

UNKNOWN_ERROR 응답이 수신되면 일시적인 오류로 인해 발생한 것이므로 잠시 후 다시 시도하는 것이 가장 좋습니다. 재시도 로직이 포함되어 있고 Google Maps Platform 프리미엄 플랜 인증을 지원하는 Google Maps Platform 웹 서비스 클라이언트 라이브러리를 사용하는 것이 좋습니다. Google 지도 서비스용 Java 클라이언트, Python 클라이언트, Go 클라이언트, Node.js 클라이언트는 커뮤니티 지원 클라이언트 라이브러리로, GitHub에서 다운로드하고 기여할 수 있으며 설치 안내와 샘플 코드도 확인할 수 있습니다.

OVER_QUERY_LIMIT 상태 코드가 응답으로 제공되면 API의 사용량 한도를 초과한 것입니다. 사용 최적화 전략을 시도해 보는 것이 좋습니다.