Method: places.autocomplete

Zwraca prognozy dla podanych danych wejściowych.

Żądanie HTTP

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

Adres URL używa składni transkodowania gRPC.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis 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
}
Pola
input

string

To pole jest wymagane. Ciąg tekstowy służący do wyszukiwania.

locationBias

object (LocationBias)

Opcjonalnie. Odchylenia wyników do określonej lokalizacji.

Należy ustawić maksymalnie jedną z tych wartości: locationBias lub locationRestriction. Jeśli żadna z tych opcji nie zostanie ustawiona, wyniki będą promowane ze względu na adres IP, co oznacza, że adres ten zostanie zmapowany na nieprecyzyjną lokalizację i wykorzystany jako sygnał odchylenia.

locationRestriction

object (LocationRestriction)

Opcjonalnie. Ogranicz wyniki do określonej lokalizacji.

Należy ustawić maksymalnie jedną z tych wartości: locationBias lub locationRestriction. Jeśli żadna z tych opcji nie zostanie ustawiona, wyniki będą promowane ze względu na adres IP, co oznacza, że adres ten zostanie zmapowany na nieprecyzyjną lokalizację i wykorzystany jako sygnał odchylenia.

includedPrimaryTypes[]

string

Opcjonalnie. Uwzględniono typ głównego miejsca (np. „restauracja” lub „stacja benzynowa”) ze strony https://developers.google.com/maps/documentation/places/web-service/place-types. Miejsce jest zwracane tylko wtedy, gdy na liście znajduje się jego główny typ. Można określić maksymalnie 5 wartości. Jeśli nie podasz żadnych typów miejsc, zwracane są wszystkie typy miejsc.

includedRegionCodes[]

string

Opcjonalnie. Uwzględnij wyniki tylko z określonych regionów określonych jako maksymalnie 15 2-znakowych kodów regionów CLDR. Pusty zestaw nie ogranicza wyników. Jeśli ustawisz zarówno wartość locationRestriction, jak i includedRegionCodes, wyniki będą znajdować się w obszarze skrzyżowania.

languageCode

string

Opcjonalnie. Język, w którym mają być zwracane wyniki. Wartość domyślna to en-US. Wyniki mogą być w różnych językach, jeśli język używany w input jest inny niż languageCode lub jeśli zwrócone miejsce nie ma tłumaczenia z języka lokalnego na languageCode.

regionCode

string

Opcjonalnie. Kod regionu określony jako dwuznakowy kod regionu CLDR. Ma to wpływ na formatowanie adresu i ranking wyników oraz może wpływać na zwracane wyniki. Nie ogranicza to wyników do określonego regionu. Aby ograniczyć wyniki do regionu, użyj operatora region_code_restriction.

origin

object (LatLng)

Opcjonalnie. Punkt początkowy, z którego należy obliczyć odległość geodezyjną do miejsca docelowego (zwrócony jako distanceMeters). Jeśli pominiesz tę wartość, odległość geodezyjna nie zostanie zwrócona.

inputOffset

integer

Opcjonalnie. Przesunięcie znaków w standardzie Unicode liczone od zera za pomocą input wskazującą pozycję kursora w pliku input. Położenie kursora może mieć wpływ na zwracane prognozy.

Jeśli pole jest puste, domyślnie przyjmuje długość input.

includeQueryPredictions

boolean

Opcjonalnie. Jeśli ma wartość true (prawda), odpowiedź będzie zawierać zarówno podpowiedzi dotyczące miejsca, jak i zapytania. W przeciwnym razie odpowiedź będzie zwracać tylko podpowiedzi dotyczące miejsc.

sessionToken

string

Opcjonalnie. Ciąg znaków, który identyfikuje sesję autouzupełniania na potrzeby rozliczeń. Musi to być bezpieczny adres URL i bezpieczny dla nazwy pliku ciąg base64 o długości nie większej niż 36 znaków ASCII. W przeciwnym razie zwracany jest błąd INVALID_ARGUMENT.

Sesja zaczyna się, gdy użytkownik zaczyna wpisywać zapytanie, a kończy się, gdy wybiera miejsce i wysyła żądanie informacji o miejscu lub weryfikacji adresu. Każda sesja może obejmować wiele zapytań, po których następuje 1 prośba o informacje o miejscu lub o weryfikację adresu. Dane logowania używane w przypadku każdego żądania w ramach sesji muszą należeć do tego samego projektu w konsoli Google Cloud. Po zakończeniu sesji token traci ważność. Aplikacja musi generować nowy token dla każdej sesji. Jeśli parametr sessionToken zostanie pominięty lub ponownie użyjesz tokena sesji, opłata za sesję zostanie naliczona tak, jakby nie podano żadnego tokena sesji (każde żądanie jest rozliczane oddzielnie).

Zalecamy stosowanie tych wytycznych:

  • Używaj tokenów sesji dla wszystkich wywołań autouzupełniania miejsc.
  • Generuj nowy token dla każdej sesji. Zalecamy użycie identyfikatora UUID w wersji 4.
  • Upewnij się, że dane logowania używane we wszystkich żądaniach autouzupełniania miejsc, informacji o miejscu i weryfikacji adresu w ramach sesji należą do tego samego projektu Cloud Console.
  • Pamiętaj, aby przekazywać unikalny token sesji dla każdej nowej sesji. Używanie tego samego tokena w więcej niż 1 sesji spowoduje, że każde żądanie zostanie rozliczone indywidualnie.

Treść odpowiedzi

Odpowiedź proto dotycząca miejsca places.autocomplete.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
Pola
suggestions[]

object (Suggestion)

Zawiera listę sugestii uporządkowanych malejąco według trafności.

LocationBias

Region do przeszukania. Wyniki mogą być stronnicze.

Zapis 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.
}
Pola

Pole sumy type.

type może być tylko jedną z tych wartości:

rectangle

object (Viewport)

Widoczny obszar wyznaczony przez róg północno-wschodni.

circle

object (Circle)

Okrąg określony przez punkt środkowy i promień.

LocationRestriction

Region do przeszukania. Wyniki będą ograniczone do określonego regionu.

Zapis 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.
}
Pola

Pole sumy type.

type może być tylko jedną z tych wartości:

rectangle

object (Viewport)

Widoczny obszar wyznaczony przez róg północno-wschodni.

circle

object (Circle)

Okrąg określony przez punkt środkowy i promień.

Sugestia

Wynik sugestii autouzupełniania.

Zapis 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.
}
Pola

Pole sumy kind.

kind może być tylko jedną z tych wartości:

placePrediction

object (PlacePrediction)

Prognoza dotycząca miejsca.

queryPrediction

object (QueryPrediction)

Prognoza dla zapytania.

PlacePrediction

Wyniki prognozy dla podpowiedzi autouzupełniania miejsc.

Zapis JSON
{
  "place": string,
  "placeId": string,
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  },
  "types": [
    string
  ],
  "distanceMeters": integer
}
Pola
place

string

Nazwa zasobu sugerowanego miejsca. Ta nazwa może być używana w innych interfejsach API, które akceptują nazwy miejsc.

placeId

string

Unikalny identyfikator sugerowanego miejsca. Tego identyfikatora można używać w innych interfejsach API, które akceptują identyfikatory miejsc.

text

object (FormattableText)

Zawiera zrozumiałą dla człowieka nazwę zwróconego wyniku. W przypadku wyników firmy zwykle jest to nazwa i adres firmy.

Parametr text jest zalecany dla programistów, którzy chcą wyświetlać pojedynczy element interfejsu. Deweloperzy, którzy chcą wyświetlać 2 osobne, ale powiązane ze sobą elementy interfejsu, mogą zamiast tego użyć elementu structuredFormat. Są to 2 różne sposoby przedstawiania prognozy dotyczącej miejsca. Użytkownicy nie powinni analizować działania structuredFormat na text i na odwrót.

Ten tekst może się różnić od wartości displayName zwróconej przez places.get.

Mogą być podane w różnych językach, jeśli input i languageCode są w różnym języku lub jeśli miejsce nie ma tłumaczenia z języka lokalnego na languageCode.

structuredFormat

object (StructuredFormat)

Podział prognozy miejsca na tekst główny zawierający nazwę miejsca i tekst dodatkowy zawierający dodatkowe cechy ujednoznaczniejące, np. nazwę miasta lub regionu.

Parametr structuredFormat jest zalecany dla programistów, którzy chcą wyświetlać 2 oddzielne, ale powiązane elementy interfejsu. Deweloperzy, którzy chcą wyświetlać pojedynczy element interfejsu, mogą zamiast tego użyć elementu text. Są to 2 różne sposoby przedstawiania prognozy dotyczącej miejsca. Użytkownicy nie powinni analizować działania structuredFormat na text i na odwrót.

types[]

string

Lista typów dotyczących tego miejsca z Tabeli A lub B na stronie https://developers.google.com/maps/documentation/places/web-service/place-types.

Typ to kategoria miejsca. Miejsca o wspólnych typach mają podobne cechy.

distanceMeters

integer

Długość geodezyjna w metrach od origin, jeśli określono origin. Niektóre prognozy, takie jak trasy, mogą nie wypełniać tego pola.

FormattableText

Tekst reprezentujący podpowiedź dotyczącą miejsca lub zapytania. Tekst może być używany w niezmienionej postaci lub w sposób sformatowany.

Zapis JSON
{
  "text": string,
  "matches": [
    {
      object (StringRange)
    }
  ]
}
Pola
text

string

Tekst, który może być użyty w niezmienionej formie lub za pomocą funkcji matches.

matches[]

object (StringRange)

Lista zakresów ciągów znaków wskazujących miejsce dopasowania żądania wejściowego w funkcji text. Możesz użyć zakresów do formatowania określonych części funkcji text. Podłańcuchy mogą nie być dokładnymi dopasowaniami do input, jeśli zostało ono określone na podstawie innych kryteriów (np. korekty pisowni lub transliteracji).

Te wartości to przesunięcia znaków Unicode text. Zakresy są gwarantowane uporządkowane w rosnących wartościach przesunięcia.

StringRange

Identyfikuje podłańcuch w podanym tekście.

Zapis JSON
{
  "startOffset": integer,
  "endOffset": integer
}
Pola
startOffset

integer

Przesunięcie od zera pierwszego znaku Unicode ciągu znaków (włącznie).

endOffset

integer

Przesunięcie od zera ostatniego znaku Unicode (wyłącznie).

StructuredFormat

Zawiera podział prognozy miejsca lub zapytania na tekst główny i dodatkowy.

W przypadku podpowiedzi dotyczących miejsc główny tekst zawiera konkretną nazwę miejsca. W przypadku prognoz zapytań tekst główny zawiera zapytanie.

Tekst dodatkowy zawiera dodatkowe elementy ujednoznaczniejące (np. nazwę miasta lub regionu), które umożliwiają dalszą identyfikację miejsca lub doprecyzowanie zapytania.

Zapis JSON
{
  "mainText": {
    object (FormattableText)
  },
  "secondaryText": {
    object (FormattableText)
  }
}
Pola
mainText

object (FormattableText)

Reprezentuje nazwę miejsca lub zapytania.

secondaryText

object (FormattableText)

Przedstawia dodatkowe jednoznaczne obiekty (takie jak miasto lub region) w celu dalszej identyfikacji miejsca lub doprecyzowania zapytania.

QueryPrediction

Wyniki prognozy dla prognozy autouzupełniania zapytania.

Zapis JSON
{
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  }
}
Pola
text

object (FormattableText)

Przewidywany tekst. Ten tekst nie reprezentuje miejsca, lecz zapytaniem, którego można użyć w punkcie końcowym wyszukiwania (np. wyszukiwanie tekstowe).

Parametr text jest zalecany dla programistów, którzy chcą wyświetlać pojedynczy element interfejsu. Deweloperzy, którzy chcą wyświetlać 2 osobne, ale powiązane ze sobą elementy interfejsu, mogą zamiast tego użyć elementu structuredFormat. Są to 2 różne sposoby reprezentowania prognozy zapytania. Użytkownicy nie powinni analizować działania structuredFormat na text i na odwrót.

Może występować w różnych językach, jeśli żądania input i languageCode są w różnych językach lub jeśli część zapytania nie ma tłumaczenia z języka lokalnego na languageCode.

structuredFormat

object (StructuredFormat)

Podział prognozy zapytania na tekst główny zawierający zapytanie i tekst dodatkowy z dodatkowymi cechami ujednoznaczniejącymi (np. nazwą miasta lub regionu).

Parametr structuredFormat jest zalecany dla programistów, którzy chcą wyświetlać 2 oddzielne, ale powiązane elementy interfejsu. Deweloperzy, którzy chcą wyświetlać pojedynczy element interfejsu, mogą zamiast tego użyć elementu text. Są to 2 różne sposoby reprezentowania prognozy zapytania. Użytkownicy nie powinni analizować działania structuredFormat na text i na odwrót.