Android용 Maps SDK와 함께 Places 서비스 및 Geocoding API를 사용하여 지역을 검색하고 장소에 대한 자세한 정보를 얻을 수 있습니다. Places 서비스 및 Geocoding API는 장소 ID를 가져오기 위한 강력하고 안정적인 대안입니다. 이미 장소 ID를 사용하고 있다면 데이터 기반 경계 스타일 지정과 함께 ID를 재사용할 수 있습니다.
다음과 같은 방법으로 Android용 Maps SDK 앱에 Places API 및 Geocoding API를 추가합니다.
- Android용 Places SDK는 장소에 관한 정보를 반환하는 메서드가 포함된 Android 라이브러리입니다.
- Places API는 HTTP 요청을 사용하여 장소에 대한 정보를 반환합니다.
- 지오코더 클래스는 사용자 입력을 받아 동적으로 지오코딩 및 역 지오코딩할 수 있습니다.
- Geocoding API를 사용하면 알려진 정적 주소를 지오코딩할 수 있습니다.
장소 서비스 사용
텍스트 검색(신규)을 사용하여 장소 ID 찾기
Places API의 텍스트 검색(신규) REST API를 사용하여 필드 마스크에 places.id
을 지정하여 지역 데이터를 포함하는 장소 ID를 가져올 수 있습니다. 장소 ID 요청만을 위해 Text Search(신규)를 사용하는 데에는 비용이 청구되지 않습니다. 자세히 알아보기
예를 들어 캘리포니아주의 트리니다드에 대한 장소 ID를 가져오려면 다음 API를 호출하면 됩니다.
curl -X POST -d '{ "textQuery" : "Trinidad, CA" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.id' \ 'https://places.googleapis.com/v1/places:searchText'
Place Autocomplete를 사용하여 지역 찾기
Android용 Places SDK의 Place Autocomplete 서비스는 사용자가 지역을 검색할 수 있는 편리한 방법을 제공합니다. 지역만 반환하도록 Place Autocomplete 서비스를 구성하려면 AutocompleteSupportFragment.setTypesFilter(List)
을 사용하여 유형 필터를 PlaceTypes.REGIONS
로 설정합니다.
지역의 장소 세부정보 가져오기
Android용 Places SDK의 장소 세부정보 서비스는 지역의 데이터를 반환하며 매우 유용할 수 있습니다. 예를 들어 다음과 같은 작업을 할 수 있습니다.
- 장소 이름을 기반으로 경계 장소 ID 검색
- 경계를 확대/축소하기 위해 표시 영역 가져오기
- 경계의 지형지물 유형(예:
locality
) 가져오기 - 미국 지역의 '장소 이름, 주, 국가'로 확인되는 형식이 지정된 주소를 가져옵니다 (예: 'Ottumwa, IA, USA').
- 사진 등 기타 유용한 데이터 가져오기
Geocoding API 사용
Geocoding API를 사용하면 주소를 위도 및 경도 좌표와 장소 ID로 변환하거나 위도와 경도 좌표 또는 장소 ID를 주소로 변환할 수 있습니다. 다음은 데이터 기반 경계 스타일 지정과 잘 어울리는 예입니다.
- 지오코딩을 사용하여 지역의 표시 영역을 가져옵니다.
- 지오코딩 호출에 구성요소 필터링을 적용하여 행정 구역 1~4, 지역 또는 우편번호에 대한 장소 ID를 가져옵니다.
- 역 지오코딩을 사용하여 위도와 경도 좌표로 장소 ID를 찾거나 특정 위치의 모든 구성요소에 대한 장소 ID를 반환합니다.
다음 예에서는 주소(URL 이스케이프 처리됨)를 사용하여 Geocoding API를 요청합니다.
https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEY
역 지오코딩을 사용하여 장소 ID를 찾을 수 있습니다. 다음 지오코딩 서비스 함수는 지정된 위도 및 경도 좌표에 있는 모든 주소 구성요소의 장소 ID를 반환합니다.
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY
역 지오코딩을 구성요소 필터링과 함께 사용하여 지정된 위치에서 다음 유형 중 하나 이상의 주소 구성요소를 가져옵니다.
administrativeArea
country
locality
postalCode
다음 함수 예는 지오코딩 서비스를 사용하여 locality
유형의 경우에만 지정된 위치의 모든 주소 구성요소를 가져오는 역 지오코딩의 구성요소 제한을 추가하는 방법을 보여줍니다.
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY