이 문서에서는 Nearby Search (신규) API 를 사용하여 간단하고 비용 효율적인
로컬 디스커버리 환경을 빌드하는 방법을 살펴봅니다.
로컬 디스커버리 환경은 호텔 또는 부동산을 검색할 때 사용자가 지정한 위치 근처의 주요 관심 장소를 사용자에게 표시합니다. 대화형 지도로 구성되며 장소 선택기와 사진 갤러리가 포함된 추가 패널이 있는 경우가 많습니다. 상호작용을 통해 환경을 개선할 수 있는 다양한 Google Maps Platform 제품과 기능이 제공됩니다.

사용 사례
이제 로컬 디스커버리 통합의 어떤 요소가 사용자 가치를 창출하는지 알아보겠습니다.
디스커버리 - 다양한 유형의 관련 장소를 표시하여 사용자에게 단일 위치 주변의 개요를 제공합니다.
상호작용 - 사용자가 장소를 선택하고 데이터를 동적으로 새로 고침
해당 장소와 관련된 데이터를 동적으로 새로고침할 수 있도록 지원합니다.
시각화 - 장소 리뷰, 사진
및 도보 시간과 거리를 제공하여 사용자가 자신의 요구사항에 맞는지 빠르게 파악할 수 있도록 합니다.
참조 아키텍처

로컬 디스커버리
로컬 디스커버리 환경을 만드는 방법에는 여러 가지가 있습니다. 다음 통합은 잘 알려진 Google Maps Platform API와 몇 가지 흥미로운 새로운 기능을 활용하는 사용자 환경의 맞춤 예 입니다. 로컬 디스커버리에 템플릿 접근 방식을 사용하려면 웹 구성요소를 사용하면 됩니다.
샘플 애플리케이션
샘플 둘러보기
아래 표에는 단계별로 분류된 샘플 애플리케이션과 Google Maps Platform API를 사용한 기술 구현에 대한 설명이 나와 있습니다.
1. 자동 완성으로 위치 검색위치 검색
- Maps JavaScript API 를 로드합니다.
- Place Autocomplete 쿼리 또는 지도에서 위치를 선택합니다.

2. Nearby Search (신규) API를 사용하여 로컬 관심 장소 표시
- 인기도 순위 (더 관련성 높은 결과) 또는 거리 순위
includedTypes,excludedTypes; 호텔인 경우 '숙박 시설' 유형을 제외하고 적합한 유형만 포함할 수 있습니다(예: '레스토랑, 카페, 공원, 관광 명소').includedPrimaryTypes,excludedPrimaryTypes를 활용하여 결과를 더욱 세밀하게 제어합니다.- `locationRestriction`을 사용하여 결과 수가 부족하거나 너무 멀리 떨어진 장소를 방지합니다. 결과가 없는 경우 결과를 표시하기 전에 원 / 사각형 크기를 넓힙니다.

요청된 데이터 필드로 호텔을 예약 할 때의 쿼리 샘플:
- 기본 (
displayName,types,openingHours,formattedAddress) - 연락처 (
websiteUri,nationalPhoneNumber,internationalPhoneNumber) - 선호 (
reviews,priceLevel,userRatingCount)
{ "includedTypes": ["restaurant","cafe","park"], "excludedTypes":
["lodging","convenience_store"], "includedPrimaryTypes":
["restaurant","tourist_attraction","airport"], "excludedPrimaryTypes":
["lodging"], "maxResultCount": 20, "locationRestriction": { "circle": {
"center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } } }요청된 데이터 필드로 부동산을 검색 할 때의 쿼리 샘플:
- 기본 (
displayName,types,openingHours,formattedAddress)
{ "includedTypes": ["school","transport","bus","convenience_store"],
"excludedTypes": ["lodging"], "includedPrimaryTypes":
["restaurant","tourist_attraction","airport"], "excludedPrimaryTypes":
["lodging"], "maxResultCount": 20, "locationRestriction": { "circle": {
"center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } } }3. Dynamic Maps 및 Directions API로 상호작용 추가
- Directions API 를 쿼리하여 최신 구간 및 단계 를 확인합니다. * 다음 섹션에서 시간을 사용합니다.

4. 상호작용 시 장소의 세부정보 표시
설명:
displayName,types,rating,userRatingCount,priceLevel.시간: 이전 Directions API 쿼리에서 가져옵니다.
리뷰:
reviews[i].author,reviews[i].rating,reviews[i].text.이미지: Nearby Search (신규) API의 무제한 미리보기 중에 장소 세부정보를
place.id로 쿼리하여 photo_reference를 가져온 다음 환경에서 한 번에 하나씩 쿼리해야 합니다.

쿼리 수 및 관련 비용
- Maps JavaScript API: 환경 로드 시 지도 1개
- Places Autocomplete API: 자동 완성 위젯을 사용하는 경우 입력된 모든 문자에 대해 1개의 쿼리 (맞춤설정 가능)
- Nearby Search (신규) API: 표시된 20개 장소마다 1개의 쿼리 쿼리 응답에 포함된 장소 데이터 에 따라 청구 방식이 다름
- Directions API: 사용자가 선택한 모든 장소에 대해 1개의 쿼리
- 장소 사진 API: 표시된 모든 사진에 대해 1개의 쿼리
결론
로컬 디스커버리 환경은 사용자 가치를 제공하는 강력한 방법입니다. 이 데모 구현에는 Nearby Search (신규) API 의 특수 기능을 사용하여 Google Maps Platform에서 이러한 환경을 만들 때 포함할 수 있는 여러 기능이 있습니다.
다음 단계
추천 추가 자료:
- Maps JavaScript API의 웹 구성요소
- Place Autocomplete 최적화
- 기타 장소 서비스
- 아래에서 의견을 남겨주세요.
참여자
주요 작성자:
토마스 앙글라레 | Google Maps Platform 솔루션 엔지니어