자동 완성 (신규)

플랫폼 선택: Android iOS JavaScript 웹 서비스

자동 완성 (신규)은 다음 형식으로 장소 예상 검색어를 반환합니다. 텍스트 검색 문자열과 지리적 경계를 포함하는 요청에 대한 응답 검색 영역을 제어하는 자동 완성이 일치 가능 입력의 전체 단어 및 하위 문자열에 대한 검사, 장소 이름, 주소 및 Plus Code를 사용합니다. 애플리케이션에서 쿼리를 전송하여 즉시 장소 및 예상 검색어를 제공합니다.

예를 들어 입력으로 를 사용하여 자동 완성 을 호출합니다. 부분 사용자 입력('Sicilian piz')이 포함된 문자열(검색 영역 포함) 사용할 수 있습니다. 응답에 장소 목록과 검색 문자열 및 검색 영역과 일치하는 예상 검색어(예: 식당) 'Sicilian Pizza Kitchen'으로 시작했습니다.

반환된 장소 예상 검색어는 사용자에게 표시되어 선택할 수 있습니다. 장소 세부정보 (신규) 추가 기능 요청 반환된 장소 예상 검색어에 대한 정보입니다.

자동 완성 (신규) 요청

앱이 예상 장소 이름 및/또는 예상 장소 이름 목록을 가져올 수 있습니다. 주소를 PlacesClient.findAutocompletePredictions(), 전달 FindAutocompletePredictionsRequest 객체를 지정합니다. 아래 예는 PlacesClient.findAutocompletePredictions()

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();
LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);
final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Sicilian piz")
            .setRegionCode("ES")
            .setLocationRestriction(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );
<ph type="x-smartling-placeholder">

자동 완성 (신규) 응답

API는 FindAutocompletePredictionsResponse 드림 과녁을 맞히려는 화살의 Task. 이 FindAutocompletePredictionsResponse 드림 최대 5개의 광고 제목으로 구성된 AutocompletePrediction 예상 장소를 나타내는 객체입니다. 목록에 없는 경우 목록이 비어 있을 수 있습니다. 알려진 장소가 표시됩니다.

각 예상 장소에 대해 다음 메서드를 호출하여 장소를 가져올 수 있습니다. 세부정보:

  • getFullText(CharacterStyle) 드림 는 장소 설명의 전체 텍스트를 반환합니다. 이 것은 기본 텍스트 및 보조 텍스트를 입력할 수도 있습니다. 예: "Eiffel Tower, Avenue Anatole France, 프랑스 파리'). 또한 이 방법을 사용하면 검색 결과를 CharacterStyle CharacterStyle 매개변수는 선택사항입니다. 필요하지 않은 경우 null로 설정합니다. 강조 표시 안 함
  • getPrimaryText(CharacterStyle) 드림 는 장소를 설명하는 기본 텍스트를 반환합니다. 일반적으로 있습니다. 예: 'Eiffel Tower' 및 '123 Pitt Street'.
  • getSecondaryText(CharacterStyle) 드림 는 장소 설명의 보조 텍스트를 반환합니다. 이렇게 하면 예를 들어 자동 완성 예상 검색어를 표시할 때 두 번째 줄로 사용합니다. 예: 'Avenue Anatole France, Paris, France' 및 'Sydney, New South Wales'.
  • getPlaceId() 드림 는 예상 장소의 장소 ID를 반환합니다. 장소 ID는 텍스트 형식으로 장소를 고유하게 식별하는 식별자로, Place 드림 객체를 다시 생성할 수 있습니다. 장소 ID에 대한 자세한 내용은 자동 완성(장소 세부정보 참조) (신규). 일반 장소 ID에 대한 자세한 내용은 장소 ID 개요를 참조하세요.
  • getTypes() 드림 는 이 장소와 연결된 장소 유형 목록을 반환합니다.
  • getDistanceMeters() 드림 - 이 장소와 다음 지점 사이의 직선 거리(미터 단위)를 반환합니다. 원본에서 검색됩니다.

필수 매개변수

  • 쿼리

    검색할 텍스트 문자열입니다. 전체 단어 및 하위 문자열 지정 장소 이름, 주소 및 플러스 코드가 포함됩니다. 자동 완성 (신규) 서비스 는 이 문자열을 기준으로 일치 후보를 반환하고 관련성이 있습니다.

    쿼리 매개변수를 설정하려면 setQuery() 메서드를 호출할 수 있습니다.FindAutocompletePredictionsRequest

선택적 매개변수

  • 기본 유형

    유형에 있는 최대 5개의 유형 유형 값 목록 표 A 또는 표 B 응답에서 반환된 장소를 필터링하는 데 사용됩니다. 장소는 응답에 포함할 지정된 기본 유형 값 중 하나와 일치해야 합니다.

    장소는 유형에서 하나의 기본 유형만 가질 수 있습니다. 표 A 또는 연결된 표 B를 사용할 수 있습니다. 예를 들어 기본 유형은 "mexican_restaurant"이거나 "steak_house"

    다음과 같은 경우 INVALID_REQUEST 오류와 함께 요청이 거부됩니다.

    • 5개 이상의 유형이 지정되었습니다.
    • 인식할 수 없는 유형이 모두 지정되었습니다.

    기본 유형 매개변수를 설정하려면 setTypesFilter() 메서드를 호출할 수 있습니다.FindAutocompletePredictionsRequest

  • 국가

    지정된 국가 목록의 결과만 포함합니다(최대 15개 목록). ccTLD ('최상위 도메인') 2자(영문 기준) 값이어야 합니다. 생략할 경우 응답에 제한이 적용되지 않습니다. 예를 들어 독일과 프랑스로 지역을 제한하세요.

    locationRestrictionincludedRegionCodes를 모두 지정하는 경우 두 설정이 교차하는 영역에 검색 결과가 표시됩니다.

    국가 매개변수를 설정하려면 setCountries() 메서드를 호출할 수 있습니다.FindAutocompletePredictionsRequest

  • 입력 오프셋

    쿼리에서 커서 위치를 나타내는 0 기준 유니코드 문자 오프셋입니다. 커서 위치는 반환되는 예상 검색어에 영향을 줄 수 있습니다. 비어 있으면 기본적으로 지정할 수 있습니다.

    입력 오프셋 매개변수를 설정하려면 setInputOffset() 메서드를 호출할 수 있습니다.FindAutocompletePredictionsRequest

  • 특정 위치 편중 또는 위치 제한

    위치 상세 또는 위치 제한을 지정할 수 있습니다. 사용하여 검색 영역을 정의합니다. 위치 제한은 결과가 포함되어야 하는 지역 및 결과가 근처에 있어야 하는 지역을 지정합니다. 주요 차이점은 특정 지역 밖에 있는 결과도 반환될 수 있습니다.

    • 위치 상세 검색

      검색할 영역을 지정합니다. 이 위치는 제한이 아닌 바이어스 역할을 하므로 결과 여전히 반환될 수 있습니다.

      위치 상세 검색 매개변수를 설정하려면 setLocationBias() 메서드를 호출할 수 있습니다.FindAutocompletePredictionsRequest

    • 위치 제한

      검색할 영역을 지정합니다. 지정된 영역을 벗어난 결과는 허용되지 않습니다. 반환합니다.

      위치 제한 매개변수를 설정하려면 setLocationRestriction()를 호출합니다. 메서드를 호출할 수 있습니다.FindAutocompletePredictionsRequest

    위치 상세 검색 또는 위치 제한 지역을 직사각형 표시 영역 또는 원형으로 표시됩니다.

    • 원은 중심점과 반지름(미터)으로 정의됩니다. 반경은 다음 범위에 있어야 합니다. 0.0 이상, 50000.0 이하입니다. 기본값은 0.0입니다. 위치 제한의 경우 반경을 0.0보다 큰 값으로 설정해야 합니다. 그렇지 않으면 요청이 결과가 없습니다.

    • 직사각형은 위도-경도 표시 영역으로, 2로 표현됩니다. 대각선 반대쪽에 있는 lowhigh포인트입니다. 표시 영역은 즉, 해당 경계를 포함합니다. 위도 경계 범위는 -90 ~ 90도이고 경도 경계입니다. 범위는 -180 이상 180도 이하여야 합니다.

      • low = high인 경우 표시 영역은 단일 점으로 구성됩니다.
      • low.longitude > high.longitude, 경도 범위가 반전됩니다. (뷰포트가 180도 경도 선을 가로지르는 경우)
      • low.longitude = -180도이고 high.longitude = 180도인 경우, 모든 경도가 포함됩니다.
      • low.longitude = 180도이고 high.longitude = -180도인 경우, 경도 범위가 비어 있습니다.

      lowhigh가 모두 채워져야 하고 표시된 상자 은 비워둘 수 없습니다. 표시 영역이 비어 있으면 오류가 발생합니다.

  • 출발지

    지점까지의 직선 거리를 계산할 출발지입니다. 대상 (getDistanceMeters()을 사용하여 액세스됨) 이 값이 생략하면 직선 거리는 반환되지 않습니다. 다음과 같이 지정해야 합니다. 위도 및 경도 좌표:

    출처 매개변수를 설정하려면 setOrigin()를 호출합니다. 메서드를 호출할 수 있습니다.FindAutocompletePredictionsRequest

  • 지역 코드

    주소 형식을 포함하여 응답 형식을 지정하는 데 사용되는 지역 코드로, ccTLD ('최상위 도메인') 2자리 문자 값입니다. 대부분의 ccTLD 코드는 ISO 3166-1 코드와 동일하지만 몇 가지 주목할 만한 예외가 있습니다 예를 들어 영국의 ccTLD는 "uk" (.co.uk), ISO 3166-1 코드는 'gb'입니다. (기술적으로 '영국 및 북아일랜드'의 법인 소유입니다.

    잘못된 지역 코드를 지정하면 API에서 INVALID_ARGUMENT 값을 반환합니다. 오류가 발생했습니다. 매개변수는 관련 법률에 따라 결과에 영향을 미칠 수 있습니다.

    지역 코드 매개변수를 설정하려면 setRegionCode()를 호출합니다. 메서드를 호출할 수 있습니다.FindAutocompletePredictionsRequest

  • 세션 토큰

    세션 토큰은 사용자 생성 문자열로, 통화를 '세션'으로 자동 완성 (신규)합니다. 자동 완성은 세션 토큰을 사용하여 사용자 자동완성 검색의 쿼리 및 선택 단계를 개별 세션으로 그룹화하여 있습니다. 세션 시작 시 사용자가 쿼리를 입력하기 시작한 후 장소를 선택하면 종료됩니다. 각 세션 여러 개의 쿼리가 포함될 수 있고 그 뒤에 하나의 장소를 선택할 수 있습니다. 세션의 종료되면 토큰이 더 이상 유효하지 않습니다. 새 토큰을 생성하여 확인할 수 있습니다 모든 프로그래매틱에 세션 토큰을 사용하는 것이 좋습니다. 자동 완성 세션 (프래그먼트를 삽입하거나 API가 이를 자동으로 처리합니다).

    자동 완성은 AutocompleteSessionToken 드림 각 세션을 식별할 수 있습니다. 앱에서 새 세션 토큰을 그런 다음 장소 ID와 함께 동일한 토큰을 이후 fetchPlace() 호출 를 호출하여 사용자가 선택한 장소의 장소 세부정보를 가져옵니다.

    세션 토큰 매개변수를 설정하려면 setSessionToken()를 호출합니다. 메서드를 호출할 수 있습니다.FindAutocompletePredictionsRequest

    자세한 내용은 세션 토큰.

자동 완성 (신규) 예시

위치 제한 및 위치 상세 검색 사용

자동 완성 (신규)은 기본적으로 IP 바이어스를 사용하여 검색 영역을 제어할 수 있습니다. IP 상세 검색을 통해 API는 결과를 편중할 수 있습니다. 원하는 경우 location 제한 또는 위치 편향을 사용할 수 있지만 둘 다 사용하여 검색할 영역을 지정할 수 있습니다.

위치 제한은 검색할 지역을 지정합니다. 지정된 범위를 벗어난 결과 반환되지 않습니다. 다음 예에서는 위치 제한을 사용하여 요청을 샌프란시스코를 중심으로 한 5,000미터 반경의 원형 위치 제한:

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Amoeba")
            .setLocationRestriction(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

위치 편향이 있으면 해당 위치가 특정 지역이나 지정된 위치를 반환할 수 있으며, 지정된 영역입니다. 다음 예는 위치 상세 검색을 사용하도록 이전 요청을 변경합니다.

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Amoeba")
            .setLocationBias(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

기본 유형 사용

기본 유형 매개변수를 사용하여 요청이 특정 유형이어야 합니다. 표 A표 B. 사용자는 최대 다섯 개의 값의 배열입니다. 생략하면 모든 유형이 반환됩니다.

다음 예는 'Sucer'라는 쿼리 문자열을 지정합니다. 기본 유형을 유형의 시설로만 제한하는 유형 매개변수 "sporting_goods_store":

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

final List<Place.Field> primaryTypes = Arrays.asList("sporting_goods_store");

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Soccer")
            .setIncludedPrimaryTypes(primaryTypes)
            .setLocationBias(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

기본 유형 매개변수를 생략하면 결과에 시설이 포함될 수 있습니다. 원하지 않는 유형(예: "athletic_field")

출처 사용

요청에 origin 매개변수를 포함하면 다음과 같이 지정됩니다. 위도 및 경도 좌표의 경우, API에는 직선 거리가 포함됩니다. 응답의 출발지에서 목적지로 전송( getDistanceMeters()). 다음 예는 원점을 샌프란시스코의 중심으로 설정합니다.

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Amoeba")
            .setOrigin(center)
            .setLocationRestriction(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

기여 분석

지도 없이도 자동 완성 (신규)을 사용할 수 있습니다. 만약 지도를 표시하는 경우 Google 지도를 사용해야 합니다. 다음에서 예측을 표시하는 경우 자동 완성 (신규) 서비스를 이용하지 않는다면 검색창/검색결과와 나란히 표시된 Google 로고를 포함해야 합니다. 대상 자세한 내용은 Google 로고 및 저작자 표시에 관해 자세히 알아보세요.