지오코딩은 주소 (예: 상세 주소)를 지도에 표시하거나 지도를 배치하는 데 사용할 수 있는 지리적 좌표 (위도 및 경도)로 변환하는 프로세스입니다. 이 문서는 주소를 지오코딩할 때 고려해야 할 사항을 명확히 설명하는 데 중점을 둡니다. 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 선택에 영향을 주는 두 가지 주요 고려사항이 있습니다.
- 일반적으로 사용자 입력에는 주소를 점진적으로 입력하는 과정 (예: '중앙로 123')이 포함됩니다. 따라서 불완전하고 모호한 주소를 지오코딩할 수 있으면 사용자가 결과를 더 빨리 얻을 수 있으므로 유용합니다.
- 사용자 입력에 응답하는 애플리케이션은 지연 시간에 매우 민감합니다.
이러한 두 가지 고려사항 때문에 Places API의 Place Autocomplete 서비스는 사용자 입력에 응답하는 사용 사례에 적합합니다. Place Autocomplete은 가능한 여러 옵션을 반환하고 사용자가 그 중에서 선택할 수 있도록 설계되었습니다. Places API는 비즈니스를 제외하고 지오코드 또는 주소만 검색하도록 제한할 수 있습니다. 또한 자동 완성 조회 함수는 위치와 관련된 결과를 반환하도록 편중될 수 있습니다. Places API는 장소 ID를 반환합니다. 이 ID는 명확한 위치로 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는 모호한 쿼리에 대응하도록 설계되지 않았으며, 모호한 쿼리에 대한 응답으로 정확성이 떨어지거나 결과가 0일 수 있습니다. 자동화 시스템이 사용자 입력에서 파생된 모호한 쿼리를 처리하는 경우 Places API의 Place Autocomplete 서비스를 사용하여 앱에 대화형 요소를 추가하는 것이 좋습니다. 이 서비스는 가능한 여러 옵션을 반환하고 사용자가 그 중에서 선택할 수 있도록 설계되었기 때문입니다. Places API는 Geocoding API 웹 서비스에 완전히 명확한 위치로 전달할 수 있는 장소 ID를 반환합니다. 그러면 전체 주소 세부정보가 반환되고 주소를 latlng로 지오코딩합니다. Android, iOS, JavaScript, Places API용 Place Autocomplete 서비스에 대해 자세히 알아보세요.
Directions API 및 Distance Matrix API의 지연 시간 단축
출발지, 목적지 또는 경유지가 주소 문자열로 지정되면 Directions API 및 Distance Matrix API는 경로를 계산하기 전에 Geocoding API와 동일한 백엔드를 사용하여 이러한 주소를 지오코딩합니다. 이 경우 latlng 또는 장소 ID와 동일한 위치를 지정할 때보다 지연 시간이 크게 증가합니다.
애플리케이션이 사용자 입력에 응답과 같이 지연 시간에 민감한 상황에서 Directions API 또는 Distance Matrix API를 사용하고 출발지, 목적지 또는 경유지가 처음에 주소 문자열로 지정된 경우 Places API의 Place Autocomplete 서비스를 사용하여 주소 문자열을 장소 ID로 변환한 후 장소 ID를 Directions API 또는 Distance Matrix API에 전달하여 지연 시간을 최소화하는 것이 좋습니다. Android, iOS, JavaScript, Places API용 Place Autocomplete 서비스에 대해 자세히 알아보세요. 장소 자동 완성 및 경로의 자바스크립트 예도 참고하세요.
결론
주소를 지오코딩할 때, Geocoding API를 사용하거나, Place Autocomplete 서비스를 Geocoding API와 함께 사용하면 사용 사례에 따라 사용자에게 정확한 지오코딩 결과를 제공하고 지연 시간을 단축하는 애플리케이션을 만들 수 있습니다.
오류 및 재시도 관리
UNKNOWN_ERROR
응답을 수신하는 경우 이는 일시적인 오류로 인한 것이며 짧은 지연 후에 다시 시도하는 것이 가장 좋습니다. 재시도 로직이 포함되어 있고 Google Maps Platform 프리미엄 플랜 인증을 지원하는 Google Maps Platform 웹 서비스
클라이언트 라이브러리를 사용하는 것이 좋습니다.
Google 지도 서비스용 자바 클라이언트, Python 클라이언트, Go 클라이언트, Node.js 클라이언트가 커뮤니티 지원 클라이언트 라이브러리로 GitHub에서 다운로드 및 참여가 가능하며 설치 안내와 샘플 코드도 찾을 수 있습니다.
응답으로 OVER_QUERY_LIMIT
상태 코드가 반환되면 API의 사용량 한도를 초과한 것입니다.
사용 최적화 전략을 사용해 보시기 바랍니다.