Method: places.autocomplete

지정된 입력에 대한 예측을 반환합니다.

HTTP 요청

POST https://places.googleapis.com/v1/places:autocomplete

URL은 gRPC 트랜스코딩 구문을 사용합니다.

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

JSON 표현
{
  "input": string,
  "locationBias": {
    object (LocationBias)
  },
  "locationRestriction": {
    object (LocationRestriction)
  },
  "includedPrimaryTypes": [
    string
  ],
  "includedRegionCodes": [
    string
  ],
  "languageCode": string,
  "regionCode": string,
  "origin": {
    object (LatLng)
  },
  "inputOffset": integer,
  "includeQueryPredictions": boolean,
  "sessionToken": string
}
입력란
input

string

필수 항목입니다. 검색할 텍스트 문자열입니다.

locationBias

object (LocationBias)

선택사항입니다. 지정된 위치에 편중된 결과를 제공합니다.

locationBias 또는 locationRestriction 중 하나만 설정해야 합니다. 둘 다 설정되지 않은 경우 결과가 IP 주소를 기준으로 편중됩니다. 즉, IP 주소가 부정확한 위치에 매핑되어 바이어스 신호로 사용됩니다.

locationRestriction

object (LocationRestriction)

선택사항입니다. 검색 결과를 지정된 위치로 제한합니다.

locationBias 또는 locationRestriction 중 하나만 설정해야 합니다. 둘 다 설정되지 않은 경우 결과가 IP 주소를 기준으로 편중됩니다. 즉, IP 주소가 부정확한 위치에 매핑되어 바이어스 신호로 사용됩니다.

includedPrimaryTypes[]

string

선택사항입니다. https://developers.google.com/maps/documentation/places/web-service/place-types의 기본 장소 유형 (예: '레스토랑' 또는 'gas_station')을 포함했습니다. Place는 기본 유형이 이 목록에 포함된 경우에만 반환됩니다. 최대 5개의 값을 지정할 수 있습니다. 유형을 지정하지 않으면 모든 장소 유형이 반환됩니다.

includedRegionCodes[]

string

선택사항입니다. 최대 15개의 CLDR 2자리 지역 코드로 지정된 지정된 지역의 결과만 포함합니다. 빈 세트는 결과를 제한하지 않습니다. locationRestrictionincludedRegionCodes를 모두 설정하면 결과가 교차 영역에 표시됩니다.

languageCode

string

선택사항입니다. 결과를 반환할 때 사용할 언어입니다. 기본값은 en-US입니다. input에 사용된 언어가 languageCode와 다르거나 반환된 장소에 현지 언어에서 languageCode로의 번역이 없는 경우 결과가 혼합된 언어일 수 있습니다.

regionCode

string

선택사항입니다. CLDR 2자리 지역 코드로 지정된 지역 코드입니다. 이는 주소 형식 및 결과 순위에 영향을 미치며 반환되는 결과에 영향을 미칠 수 있습니다. 결과는 지정된 지역으로 제한되지 않습니다. 결과를 리전으로 제한하려면 region_code_restriction를 사용합니다.

origin

object (LatLng)

선택사항입니다. 목적지까지의 측지 거리를 계산할 출발지입니다 (distanceMeters로 반환됨). 이 값을 생략하면 측지 거리가 반환되지 않습니다.

inputOffset

integer

선택사항입니다. input의 커서 위치를 나타내는 input의 0부터 시작하는 유니코드 문자 오프셋입니다. 커서 위치는 반환되는 예측에 영향을 줄 수 있습니다.

비어 있는 경우 기본값은 input입니다.

includeQueryPredictions

boolean

선택사항입니다. true인 경우 응답에 장소 및 예상 검색어가 모두 포함됩니다. 그렇지 않으면 응답은 장소 예상 검색어만 반환합니다.

sessionToken

string

선택사항입니다. 결제 목적으로 자동 완성 세션을 식별하는 문자열입니다. ASCII 문자 36자 이하의 URL 및 파일 이름 안전 base64 문자열이어야 합니다. 그렇지 않으면 INVALID_ARGUMENT 오류가 반환됩니다.

세션은 사용자가 쿼리를 입력하기 시작하면 시작되고 사용자가 장소를 선택하고 장소 세부정보 또는 주소 확인 전화를 걸면 종료됩니다. 각 세션에는 여러 개의 쿼리가 포함될 수 있으며 한 번의 장소 세부정보 또는 주소 유효성 검사 요청이 이어집니다. 세션 내에서 각 요청에 사용되는 사용자 인증 정보는 동일한 Google Cloud 콘솔 프로젝트에 속해야 합니다. 세션이 종료되면 토큰이 더 이상 유효하지 않습니다. 앱은 세션별로 새 토큰을 생성해야 합니다. sessionToken 매개변수가 생략되거나 세션 토큰을 재사용하는 경우 세션 토큰이 제공되지 않은 것처럼 세션에 대해 요금이 청구됩니다 (각 요청에는 별도로 요금이 청구됩니다).

다음 가이드라인이 권장됩니다.

  • 모든 Place Autocomplete 호출에 세션 토큰을 사용합니다.
  • 각 세션에 대해 새 토큰을 생성합니다. 버전 4 UUID를 사용하는 것이 좋습니다.
  • 한 세션 내의 모든 Place Autocomplete, Place Details, Address Validation 요청에 사용된 사용자 인증 정보가 동일한 Cloud 콘솔 프로젝트에 속하는지 확인합니다.
  • 새 세션마다 고유한 세션 토큰을 전달해야 합니다. 2개 이상의 세션에 동일한 토큰을 사용하면 각 요청에 대해 개별적으로 요금이 청구됩니다.

응답 본문

places.Autocomplete에 대한 응답 프로토콜

성공할 경우 응답 본문에 다음 구조의 데이터가 포함됩니다.

JSON 표현
{
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
입력란
suggestions[]

object (Suggestion)

관련성에 따라 내림차순으로 정렬된 추천 목록이 포함되어 있습니다.

LocationBias

검색할 지역입니다. 결과가 지정된 지역을 중심으로 편중될 수 있습니다.

JSON 표현
{

  // Union field type can be only one of the following:
  "rectangle": {
    object (Viewport)
  },
  "circle": {
    object (Circle)
  }
  // End of list of possible types for union field type.
}
입력란

통합 필드 type.

type는 다음 중 하나여야 합니다.

rectangle

object (Viewport)

북동쪽과 남서쪽 모서리로 정의된 표시 영역

circle

object (Circle)

중심점과 반지름으로 정의되는 원입니다.

LocationRestriction

검색할 지역입니다. 검색 결과는 지정된 지역으로 제한됩니다.

JSON 표현
{

  // Union field type can be only one of the following:
  "rectangle": {
    object (Viewport)
  },
  "circle": {
    object (Circle)
  }
  // End of list of possible types for union field type.
}
입력란

통합 필드 type.

type는 다음 중 하나여야 합니다.

rectangle

object (Viewport)

북동쪽과 남서쪽 모서리로 정의된 표시 영역

circle

object (Circle)

중심점과 반지름으로 정의되는 원입니다.

추천

자동 완성 추천 결과입니다.

JSON 표현
{

  // Union field kind can be only one of the following:
  "placePrediction": {
    object (PlacePrediction)
  },
  "queryPrediction": {
    object (QueryPrediction)
  }
  // End of list of possible types for union field kind.
}
입력란

통합 필드 kind.

kind는 다음 중 하나여야 합니다.

placePrediction

object (PlacePrediction)

장소에 대한 예상 검색어입니다.

queryPrediction

object (QueryPrediction)

쿼리에 대한 예측입니다.

PlacePrediction

Place Autocomplete 예상 검색어의 결과입니다.

JSON 표현
{
  "place": string,
  "placeId": string,
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  },
  "types": [
    string
  ],
  "distanceMeters": integer
}
입력란
place

string

추천 장소의 리소스 이름입니다. 이 이름은 장소 이름을 허용하는 다른 API에서 사용할 수 있습니다.

placeId

string

추천 장소의 고유 식별자입니다. 이 식별자는 장소 ID를 허용하는 다른 API에서 사용할 수 있습니다.

text

object (FormattableText)

반환된 결과의 사람이 읽을 수 있는 이름을 포함합니다. 시설 결과의 경우 이는 일반적으로 비즈니스 이름과 주소입니다.

text는 단일 UI 요소를 표시하려는 개발자에게 권장됩니다. 서로 별개이지만 서로 관련이 있는 두 가지 UI 요소를 표시하려는 개발자는 대신 structuredFormat를 사용하는 것이 좋습니다. 두 가지 방법으로 장소 예상 검색어를 나타냅니다. 사용자는 structuredFormattext로 파싱해서는 안 되며 그 반대의 경우도 마찬가지입니다.

이 텍스트는 places.get에서 반환된 displayName와 다를 수 있습니다.

요청 inputlanguageCode가 다른 언어로 되어 있거나 장소에 현지 언어에서 languageCode로 번역되지 않은 경우 혼합 언어일 수 있습니다.

structuredFormat

object (StructuredFormat)

장소 예상 검색어를 장소 이름을 포함하는 기본 텍스트 및 명확한 추가 지형지물 (예: 도시 또는 지역)을 포함하는 보조 텍스트로 분류한 것입니다.

structuredFormat는 서로 다르지만 관련된 두 가지 UI 요소를 표시하려는 개발자에게 권장됩니다. 단일 UI 요소를 표시하려는 개발자는 대신 text를 사용하는 것이 좋습니다. 두 가지 방법으로 장소 예상 검색어를 나타냅니다. 사용자는 structuredFormattext로 파싱해서는 안 되며 그 반대의 경우도 마찬가지입니다.

types[]

string

https://developers.google.com/maps/documentation/places/web-service/place-types의 표 A 또는 표 B에서 이 장소에 적용되는 유형 목록입니다.

유형은 장소의 카테고리입니다. 공유 유형이 있는 장소는 유사한 특성을 공유합니다.

distanceMeters

integer

origin가 지정된 경우 origin부터 최단 거리의 길이(미터)입니다. 경로와 같은 특정 예측은 이 입력란을 채우지 않을 수도 있습니다.

FormattableText

장소 또는 검색어 예상 검색어를 나타내는 텍스트입니다. 텍스트는 있는 그대로 사용하거나 형식이 지정된 대로 사용할 수 있습니다.

JSON 표현
{
  "text": string,
  "matches": [
    {
      object (StringRange)
    }
  ]
}
입력란
text

string

그대로 사용하거나 matches로 형식이 지정된 텍스트입니다.

matches[]

object (StringRange)

text에서 입력 요청이 일치하는 위치를 식별하는 문자열 범위 목록입니다. 범위를 사용하여 text의 특정 부분의 서식을 지정할 수 있습니다. 일치가 문자열 일치 이외의 기준 (예: 맞춤법 교정 또는 음역)에 의해 결정된 경우 하위 문자열은 input와 정확히 일치하지 않을 수 있습니다.

이 값은 text의 유니코드 문자 오프셋입니다. 범위는 오프셋 값이 증가하는 순서대로 정렬됩니다.

StringRange

지정된 텍스트 내에서 하위 문자열을 식별합니다.

JSON 표현
{
  "startOffset": integer,
  "endOffset": integer
}
입력란
startOffset

integer

문자열에서 첫 번째 유니코드 문자의 0부터 시작하는 오프셋입니다 (양 끝값 포함).

endOffset

integer

마지막 유니코드 문자의 0 기준 오프셋 (제외)

StructuredFormat

장소 또는 쿼리 예상 검색어의 세부 내역을 기본 텍스트와 보조 텍스트로 포함합니다.

장소 예상 검색어의 경우 기본 텍스트에 장소의 구체적인 이름이 포함됩니다. 검색어 예측의 경우 기본 텍스트에 검색어가 포함됩니다.

보조 텍스트에는 장소를 추가로 식별하거나 검색어를 세분화하기 위한 추가 구분 요소 (예: 도시 또는 지역)가 포함됩니다.

JSON 표현
{
  "mainText": {
    object (FormattableText)
  },
  "secondaryText": {
    object (FormattableText)
  }
}
입력란
mainText

object (FormattableText)

장소 또는 쿼리의 이름을 나타냅니다.

secondaryText

object (FormattableText)

장소를 추가로 식별하거나 검색어를 세분화하기 위해 도시 또는 지역과 같은 추가 지형지물을 나타냅니다.

QueryPrediction

쿼리 자동 완성 예상 검색어의 예측 결과

JSON 표현
{
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  }
}
입력란
text

object (FormattableText)

예상 텍스트입니다. 이 텍스트는 장소가 아니라 검색 엔드포인트 (예: 텍스트 검색)에 사용할 수 있는 텍스트 쿼리를 나타냅니다.

text는 단일 UI 요소를 표시하려는 개발자에게 권장됩니다. 서로 별개이지만 서로 관련이 있는 두 가지 UI 요소를 표시하려는 개발자는 대신 structuredFormat를 사용하는 것이 좋습니다. 이 둘은 쿼리 예측을 표현하는 두 가지 방법입니다. 사용자는 structuredFormattext로 파싱해서는 안 되며 그 반대의 경우도 마찬가지입니다.

요청 inputlanguageCode가 다른 언어로 되어 있거나 쿼리의 일부에 현지 언어에서 languageCode로의 번역이 없는 경우 혼합 언어일 수 있습니다.

structuredFormat

object (StructuredFormat)

쿼리 예측을 쿼리를 포함하는 기본 텍스트와 추가 명확한 특성 (예: 도시 또는 지역)이 포함된 보조 텍스트로 세분화합니다.

structuredFormat는 서로 다르지만 관련된 두 가지 UI 요소를 표시하려는 개발자에게 권장됩니다. 단일 UI 요소를 표시하려는 개발자는 대신 text를 사용하는 것이 좋습니다. 이 둘은 쿼리 예측을 표현하는 두 가지 방법입니다. 사용자는 structuredFormattext로 파싱해서는 안 되며 그 반대의 경우도 마찬가지입니다.