이 가이드에서는 기존 Places 서비스와 새로운 장소 클래스 간의 주요 차이점을 설명합니다. 장소 클래스로 업그레이드하면 성능 개선 및 새로운 가격 책정 모델을 비롯한 상당한 이점을 얻을 수 있습니다. Places를 최대한 활용하고 앱을 최신 상태로 유지하려면 이 가이드에 설명된 변경사항을 숙지하세요.
이전을 위한 결제 권장사항
이 안내는 API 사용량이 2단계 가격 책정으로 이동할 만큼 높은 경우에 적용됩니다. 최신 버전의 API로 이전할 때 다른 SKU에 대한 요금도 청구됩니다. 전환 기간에 비용이 증가하지 않도록 하려면 가능한 한 월초에 프로덕션에서 새 API로 전환하는 것이 좋습니다. 이렇게 하면 이전 기간에 가장 비용 효율적인 월별 가격 책정 등급에 도달할 수 있습니다. 가격 책정 등급에 대한 자세한 내용은 가격 책정 페이지 및 가격 책정 FAQ를 참고하세요.
Places API 사용 설정
장소 클래스는 Places API 서비스를 사용합니다. 새로운 장소 클래스의 기능을 사용하려면 먼저 Google Cloud 프로젝트에서 Places API (신규)를 사용 설정해야 합니다. 자세한 내용은 시작하기를 참고하세요.
일반적인 변경사항
다음 표에는 PlacesService
와 Place 간의 주요 차이점이 나와 있습니다.
PlacesService (기존) |
Place (신규) |
|---|---|
메서드에는 결과 객체와
google.maps.places.PlacesServiceStatus 응답을 처리하기 위해 콜백을 사용해야 합니다. |
프로미스를 사용하고 비동기식으로 작동합니다. |
메서드에는 PlacesServiceStatus 확인이 필요합니다. |
필수 상태 확인이 없으며 표준 오류 처리를 사용할 수 있습니다. |
| 장소 데이터 필드는 스네이크 케이스를 사용하여 형식이 지정됩니다. | 장소 데이터 필드는 카멜 케이스를 사용하여 형식이 지정됩니다. |
| 고정된 장소 유형 및 장소 데이터 필드 집합으로 제한됩니다. | 정기적으로 업데이트되는 장소 유형 및 장소 데이터 필드의 확장된 선택사항을 제공합니다. |
API별 변경사항
장소 클래스는 Places 라이브러리를 사용하기 위한 API를 제공하며 프로미스와 같은 최신 사용 패턴을 지원합니다. 장소 클래스는 기존 Places 서비스와 동일한 장소 데이터 필드 및 장소 유형을 노출하며 장소 데이터 필드 및 장소 유형에 대한 많은 새로운 값을 포함합니다.
이 표는 Places 서비스의 기능이 장소 클래스의 기능에 어떻게 매핑되는지 보여줍니다.
Places 라이브러리 로드
앱에서 Places 라이브러리를 로드하는 방법은 사용 중인 부트스트랩 로더에 따라 다릅니다. 앱에서 동적 라이브러리 가져오기를 사용하는 경우
다음과 같이 await 연산자를 사용하여
importLibrary()를 호출하여 런타임에 필요한 라이브러리를 로드할 수 있습니다.
const { Place } = await google.maps.importLibrary("places");
앱에서 직접 스크립트 로드 태그를 사용하는 경우
로더 스크립트에서 places 라이브러리를 요청합니다.
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=places&callback=initMap">
</script>Maps JavaScript API 로드에 대해 자세히 알아보세요.
이 섹션에는 최신 버전의 Places API를 사용하도록 앱을 이전하는 데 도움이 되는 다음 가이드가 포함되어 있습니다.