이 가이드에서는 기존 Places Service와 새로운 Place 클래스 간의 주요 차이점을 설명합니다. 장소 클래스로 업그레이드하면 성능 개선, 새로운 가격 책정 모델 등 상당한 이점이 있습니다. Places를 최대한 활용하고 앱을 최신 상태로 유지하려면 이 가이드에 자세히 설명된 변경사항을 숙지하세요.
마이그레이션 결제 권장사항
이 안내는 API 사용량이 2단계 요금으로 전환될 만큼 많은 경우에 적용됩니다. API의 최신 버전으로 이전하면 다른 SKU에 대한 요금도 청구됩니다. 전환하는 달에 비용이 증가하지 않도록 하려면 가능한 한 달 초에 프로덕션에서 새 API로 전환하는 것이 좋습니다. 이렇게 하면 이전 달에 가장 비용 효율적인 월간 요금 등급에 도달할 수 있습니다. 가격 등급에 대한 자세한 내용은 가격 페이지 및 가격 FAQ를 참고하세요.
Places API 사용 설정
장소 클래스는 Places API 서비스를 사용합니다. 새로운 장소 클래스의 기능을 사용하려면 먼저 Google Cloud 프로젝트에서 Places API (신규)를 사용 설정해야 합니다. 자세한 내용은 시작하기를 참고하세요.
일반적인 변경사항
다음 표에는 PlacesService
와 Place
간의 주요 차이점이 나와 있습니다.
PlacesService (기존) |
Place (신규) |
---|---|
메서드에서는 콜백을 사용하여 결과 객체와 google.maps.places.PlacesServiceStatus 응답을 처리해야 합니다. |
Promise를 사용하며 비동기식으로 작동합니다. |
메서드에는 PlacesServiceStatus 확인이 필요합니다. |
필수 상태 확인이 없으며 표준 오류 처리를 사용할 수 있습니다. |
장소 데이터 필드는 스네이크 표기법을 사용하여 형식이 지정됩니다. | 장소 데이터 필드는 카멜 표기법을 사용하여 형식이 지정됩니다. |
고정된 장소 유형 및 장소 데이터 필드로 제한됩니다. | 정기적으로 업데이트되는 장소 유형과 장소 데이터 필드를 더 다양하게 선택할 수 있습니다. |
API별 변경사항
장소 클래스는 장소 라이브러리를 사용하기 위한 API를 제공하며 프로미스와 같은 최신 사용 패턴을 지원합니다. 장소 클래스는 기존 Places Service와 동일한 장소 데이터 필드 및 장소 유형을 노출하며 장소 데이터 필드 및 장소 유형의 새로운 값을 많이 포함합니다.
다음 표는 Places 서비스의 기능이 Place 클래스의 기능에 어떻게 매핑되는지 보여줍니다.
장소 라이브러리 로드
앱이 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를 사용하도록 앱을 이전하는 데 도움이 되는 다음 가이드가 포함되어 있습니다.
- 장소 세부정보로 이전
- 텍스트 검색 (신규)으로 이전
- Nearby Search (신규)로 이전하기
- 장소 사진으로 이전하기
- 장소 리뷰로 이전하기
- Place Autocomplete로 이전