Autouzupełnianie (nowość)

Usługa Autouzupełnianie (nowa) to usługa internetowa, która zwraca prognozy miejsc i prognozy zapytań w odpowiedzi na żądanie HTTP. W żądaniu podaj tekstowy ciąg wyszukiwania i granice geograficzne określające obszar wyszukiwania.

Usługa Autouzupełnianie (Nowa) może dopasowywać pełne słowa i podciągi znaków z danych wejściowych, rozwiązując nazwy miejsc, adresy i kodów kreskowych. Aplikacje mogą więc wysyłać zapytania w miarę wpisywania przez użytkownika tekstu, aby na bieżąco wyświetlać prognozy dotyczące miejsc i zapytań.

Odpowiedź interfejsu Autocomplete API (New) może zawierać 2 typy prognoz:

  • Prognozy miejsc: miejsca, takie jak firmy, adresy i ciekawe miejsca, na podstawie określonego ciągu tekstowego i obszaru wyszukiwania. Domyślnie zwracane są prognozy dotyczące miejsc.
  • Prognozy zapytań: ciągi znaków zapytania pasujące do podanego ciągu tekstowego i obszaru wyszukiwania. Domyślnie nie są zwracane prognozy zapytań. Aby dodać do odpowiedzi prognozy zapytań, użyj parametru żądania includeQueryPredictions.

Na przykład wywołujesz interfejs API, podając jako dane wejściowe ciąg znaków zawierający częściowe dane wejściowe użytkownika „Sicilian piz”, a obszar wyszukiwania ograniczony do San Francisco w Kalifornii. Odpowiedź zawiera listę przewidywanych miejsc pasujących do ciągu wyszukiwania i obszaru wyszukiwania, np. restaurację o nazwie „Sicilian Pizza Kitchen” wraz ze szczegółami.

Zwrócone prognozy miejsc są przeznaczone do wyświetlania użytkownikowi, aby ułatwić mu wybór odpowiedniego miejsca. Aby uzyskać więcej informacji o dowolnym z zwróconych przewidywanych miejsc, możesz wysłać żądanie Szczegóły miejsca (nowe).

Odpowiedź może też zawierać listę przewidywanych zapytań pasujących do ciągu wyszukiwania i obszaru wyszukiwania, np. „Pizza i makaron po sycylijsku”. Każda prognoza zapytania w odpowiedzi zawiera pole text z zalecanym ciągiem znaków do wyszukiwania tekstowego. Użyj tego ciągu jako danych wejściowych w funkcji Wyszukiwanie tekstowe (nowa), aby przeprowadzić bardziej szczegółowe wyszukiwanie.

Narzędzie APIs Explorer umożliwia wysyłanie żądań na żywo, dzięki czemu możesz zapoznać się z interfejsem API i jego opcjami:

Prośby o autouzupełnianie (nowe)

Żądanie Autocomplete (New) to żądanie HTTP POST do adresu URL w formie:

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

Przekaż wszystkie parametry w treści żądania JSON lub w nagłówkach jako część żądania POST. Na przykład:

curl -X POST -d '{
  "input": "pizza",
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965
      },
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Informacje o odpowiedzi

Autouzupełnianie (nowy) zwraca w odpowiedzi obiekt JSON. W odpowiedzi:

  • Tablica suggestions zawiera wszystkie przewidywane miejsca i zapytania w kolejności zależnej od ich przewidywanej trafności. Każde miejsce jest reprezentowane przez pole placePrediction, a każde zapytanie – przez pole queryPrediction.
  • Pole placePrediction zawiera szczegółowe informacje o jednym przewidywanym miejscu, w tym identyfikator miejsca i opis tekstowy.
  • Pole queryPrediction zawiera szczegółowe informacje o pojedynczej prognozie zapytania.

Pełny obiekt JSON ma postać:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }]
        },
      ...
    },
    {
      "queryPrediction": {
        "text": {
          "text": "Amoeba Music",
          "matches": [
            {
              "endOffset": 6
            }]
        },
        ...
    }
  ...]
}

Wymagane parametry

  • dane wejściowe

    Tekst, w którym ma być przeprowadzone wyszukiwanie. Określ pełne słowa i podciągi znaków, nazwy miejsc, adresy i kody plus. Usługa Autocomplete (New) zwraca dopasowania na podstawie tego ciągu znaków i porządkuje wyniki według ich trafności.

Parametry opcjonalne

  • FieldMask

    Określ listę pól, które mają być zwracane w odpowiedzi, tworząc maskę pola odpowiedzi. Przekaż do metody maskę pola odpowiedzi, używając nagłówka HTTP X-Goog-FieldMask.

    Podaj listę pól sugestii oddzielonych przecinkami. Na przykład:suggestions.placePrediction.placesuggestions.placePrediction.text sugestii.

      X-Goog-FieldMask: places.displayName,places.formattedAddress

    Aby pobrać wszystkie pola, użyj zapytania *.

      X-Goog-FieldMask: *
  • includedPrimaryTypes

    Miejsce może mieć tylko jeden podstawowy typ z tych wymienionych w tabeli A lub tabeli B. Na przykład: typ podstawowy może być "mexican_restaurant" lub "steak_house".

    Domyślnie interfejs API zwraca wszystkie miejsca na podstawie parametru input, niezależnie od wartości głównego typu powiązanego z miejscem. Ogranicz wyniki do określonego typu głównego lub typów głównych, podając parametr includedPrimaryTypes.

    Użyj tego parametru, aby określić maksymalnie 5 wartości typu z tabeli A lub tabeli B. Aby miejsce zostało uwzględnione w odpowiedzi, musi odpowiadać jednej z podanych wartości typu podstawowego.

    Ten parametr może też zawierać wartość (regions) lub (cities). Typ kolekcji (regions) to filtry obszarów lub podziałów, np. dzielnic i kodów pocztowych. Filtry kolekcji typu (cities) dla miejsc zidentyfikowanych przez Google jako miasto.

    Prośba jest odrzucana z błędem INVALID_REQUEST, jeśli:

    • Podano więcej niż 5 typów.
    • Oprócz (cities) lub (regions) można określić dowolny typ.
    • Wszelkie nierozpoznane typy są określane.
  • includePureServiceAreaBusinesses

    Jeśli ustawisz wartość true, odpowiedź będzie zawierać firmy, które odwiedzają klientów lub dostarczają im produkty bezpośrednio, ale nie mają fizycznej lokalizacji firmy. Jeśli ustawisz wartość false, interfejs API zwróci tylko firmy, które mają fizyczną lokalizację.

  • includeQueryPredictions

    Jeśli true, odpowiedź zawiera zarówno przewidywane miejsca, jak i zapytania. Wartość domyślna to false, co oznacza, że odpowiedź zawiera tylko prognozy dotyczące miejsc.

  • includedRegionCodes

    Uwzględnij tylko wyniki z listy podanych regionów, podanych jako tablica maksymalnie 15-znakowych wartości ccTLD („domena najwyższego poziomu”). Jeśli nie zostanie podany, nie zostaną zastosowane żadne ograniczenia odpowiedzi. Aby na przykład ograniczyć regiony do Niemiec i Francji:

        "includedRegionCodes": ["de", "fr"]

    Jeśli określisz zarówno parametr locationRestriction, jak i includedRegionCodes, wyniki będą się znajdować w obszarze przecięcia tych 2 ustawień.

  • inputOffset

    Odsunięcie znaku Unicode liczone od 0, wskazujące pozycję kursora w pozycji input. Pozycja kursora może wpływać na prognozy zwracane przez model. Jeśli to pole jest puste, domyślnie zostanie użyta długość input.

  • languageCode

    Preferowany język, w którym mają być zwracane wyniki. Wyniki mogą być podane w różnych językach, jeśli język używany w funkcji input różni się od wartości określonej przez funkcję languageCode lub jeśli zwrócone miejsce nie ma tłumaczenia z języka lokalnego na język languageCode.

    • Aby określić preferowany język, musisz użyć kodów języka BCP-47 IETF.
    • Jeśli parametr languageCode nie zostanie podany, interfejs API używa wartości określonej w nagłówku Accept-Language. Jeśli nie określisz żadnej opcji, zostanie użyta wartość domyślna en. Jeśli podasz nieprawidłowy kod języka, API zwróci błąd INVALID_ARGUMENT.
    • Preferowany język ma niewielki wpływ na zestaw wyników zwracanych przez interfejs API oraz na ich kolejność. Ma to też wpływ na możliwość poprawiania przez interfejs API błędów ortograficznych.
    • Interfejs API próbuje podać adres ulicy, który jest czytelny zarówno dla użytkownika, jak i dla lokalnej ludności, a jednocześnie odzwierciedla dane wejściowe użytkownika. Prognozy dotyczące miejsc są formatowane w różny sposób w zależności od danych wejściowych użytkownika w każdej prośbie.
      • Pasujące terminy w parametrze input są wybierane jako pierwsze, przy użyciu nazw zgodnych z ustawieniami języka wskazanymi przez parametr languageCode (jeśli są dostępne), a w przeciwnym razie przy użyciu nazw, które najlepiej pasują do danych wprowadzonych przez użytkownika.
      • Adresy ulic są formatowane w języku lokalnym, w sposób czytelny dla użytkownika, gdy to możliwe, tylko po wybraniu odpowiednich terminów dopasowanych do terminów w parametrze input.
      • Wszystkie inne adresy są zwracane w preferowanym języku po dopasowaniu terminów do tych w parametrze input. Jeśli nazwa nie jest dostępna w wybranym języku, interfejs API stosuje najbliższe dopasowanie.
  • locationBias lub locationRestriction

    Aby określić obszar wyszukiwania, możesz użyć parametru locationBias lub locationRestriction, ale nie obu jednocześnie. Parametr locationRestriction określa region, w którym muszą się znajdować wyniki, a parametr locationBias – region, w pobliżu którego muszą się znajdować wyniki, ale nie muszą znajdować się w tym obszarze.

    • locationBias

      Określa obszar wyszukiwania. Ta lokalizacja służy jako preferencja, co oznacza, że mogą być zwracane wyniki z okolic wskazanej lokalizacji, w tym poza wskazanym obszarem.

    • locationRestriction

      Określa obszar wyszukiwania. Wyniki spoza określonego obszaru nie są zwracane.

    Określ region locationBias lub locationRestriction jako prostokątny obszar wyświetlania lub koło.

    • Okrąg jest definiowany przez punkt środkowy i promień w metrach. Promień musi mieścić się w przedziale od 0,0 do 50 000,0. Wartością domyślną jest 0,0. W przypadku pola locationRestriction promień musi mieć wartość większą niż 0,0. W przeciwnym razie żądanie nie zwraca żadnych wyników.

      Na przykład:

      "locationBias": {
        "circle": {
          "center": {
            "latitude": 37.7937,
            "longitude": -122.3965
          },
          "radius": 500.0
        }
      }
    • Prostokąt to widoczny obszar z uwzględnieniem szerokości i długości geograficznej, reprezentowany przez 2 punkty low i high po przeciwległych przekątnych. Widoczny obszar jest uważany za zamknięty obszar, co oznacza, że obejmuje swoją krawędź. Granice szerokości geograficznej muszą mieścić się w zakresie od –90° do 90°, a granice długości geograficznej – od –180° do 180°:

      • Jeśli low = high, widoczny obszar składa się z tego pojedynczego punktu.
      • Jeśli low.longitude > high.longitude, zakres długości geograficznej jest odwrócony (widoczny obszar przecina linię długości geograficznej 180°).
      • Jeśli low.longitude = –180 stopni, a high.longitude = 180 stopni, widoczny obszar obejmuje wszystkie długości geograficzne.
      • Jeśli low.longitude = 180 stopni, a high.longitude = -180 stopni, zakres długości geograficznej jest pusty.

      Wartości low i high muszą być wypełnione, a reprezentowane pole nie może być puste. Pusta wizjer prowadzi do błędu.

      Na przykład ten widok zawiera w pełni Nowy Jork:

      "locationBias": {
        "rectangle": {
          "low": {
            "latitude": 40.477398,
            "longitude": -74.259087
          },
          "high": {
            "latitude": 40.91618,
            "longitude": -73.70018
          }
        }
      }
  • pochodzenie

    Punkt początkowy, z którego ma być obliczana odległość w prostej linii do miejsca docelowego (zwracana jako distanceMeters). Jeśli ta wartość zostanie pominięta, odległość w prostej linii nie zostanie zwrócona. Należy je podać w formacie współrzędnych geograficznych:

    "origin": {
        "latitude": 40.477398,
        "longitude": -74.259087
    }
  • regionCode

    Kod regionu użyty do sformatowania odpowiedzi, podany jako kod domeny krajowej najwyższego poziomu („domena najwyższego poziomu”) o dwóch znakach. Większość kodów ccTLD jest identyczna z kodami ISO 3166-1, z kilkoma wyjątkami. Na przykład ccTLD Wielkiej Brytanii to „uk” (.co.uk), a jej kod ISO 3166-1 to „gb” (technicznie dla podmiotu „Zjednoczone Królestwo Wielkiej Brytanii i Irlandii Północnej”).

    Jeśli podasz nieprawidłowy kod regionu, interfejs API zwróci błąd INVALID_ARGUMENT. Parametr może wpływać na wyniki w zależności od obowiązujących przepisów.

  • sessionToken

    Tokeny sesji to tworzone przez użytkownika ciągi znaków, które śledzą wywołania funkcji Autouzupełnianie (nowa) jako „sesje”. Autouzupełnianie (nowa wersja) używa tokenów sesji, aby grupować fazy zapytania i wyboru w wyszukiwaniu autouzupełniania użytkownika w oddzielną sesję na potrzeby rozliczeń. Więcej informacji znajdziesz w artykule Tokeny sesji.

Przykłady autouzupełniania (nowa wersja)

Ograniczanie wyszukiwania do obszaru za pomocą atrybutu locationRestriction

locationRestriction określa obszar wyszukiwania. Wyniki poza określonym obszarem nie są zwracane. W tym przykładzie użyjesz zapytania locationRestriction, aby ograniczyć prośbę do okręgu o promieniu 5000 metrów z San Francisco jako środkiem:

curl -X POST -d '{
  "input": "Art museum",
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Wszystkie wyniki z określonych obszarów są zawarte w tablicy suggestions:

  {
    "suggestions": [
      {
        "placePrediction": {
          "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q",
          "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q",
          "text": {
            "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA",
            "matches": [
              {
                "startOffset": 6,
                "endOffset": 16
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "Asian Art Museum",
              "matches": [
                {
                  "startOffset": 6,
                  "endOffset": 16
                }
              ]
            },
            "secondaryText": {
              "text": "Larkin Street, San Francisco, CA, USA"
            }
          },
          "types": [
            "establishment",
            "museum",
            "point_of_interest"
          ]
        }
      },
      {
        "placePrediction": {
          "place": "places/ChIJI7NivpmAhYARSuRPlbbn_2w",
          "placeId": "ChIJI7NivpmAhYARSuRPlbbn_2w",
          "text": {
            "text": "de Young Museum, Hagiwara Tea Garden Drive, San Francisco, CA, USA",
            "matches": [
              {
                "endOffset": 15
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "de Young Museum",
              "matches": [
                {
                  "endOffset": 15
                }
              ]
            },
            "secondaryText": {
              "text": "Hagiwara Tea Garden Drive, San Francisco, CA, USA"
            }
          },
          "types": [
            "establishment",
            "point_of_interest",
            "tourist_attraction",
            "museum"
          ]
        }
      },
      /.../
    ]
  }

Możesz też użyć locationRestriction, aby ograniczyć wyszukiwanie do prostokątnego widocznego obszaru. W tym przykładzie ograniczamy żądanie do centrum San Francisco:

  curl -X POST -d '{
    "input": "Art museum",
    "locationRestriction": {
      "rectangle": {
        "low": {
          "latitude": 37.7751,
          "longitude": -122.4219
        },
        "high": {
          "latitude": 37.7955,
          "longitude": -122.3937
        }
      }
    }
  }' \
  -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
  https://places.googleapis.com/v1/places:autocomplete

Wyniki są zawarte w tablicy suggestions:

  {
    "suggestions": [
      {
        "placePrediction": {
          "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q",
          "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q",
          "text": {
            "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA",
            "matches": [
              {
                "startOffset": 6,
                "endOffset": 16
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "Asian Art Museum",
              "matches": [
                {
                  "startOffset": 6,
                  "endOffset": 16
                }
              ]
            },
            "secondaryText": {
              "text": "Larkin Street, San Francisco, CA, USA"
            }
          },
          "types": [
            "point_of_interest",
            "museum",
            "establishment"
          ]
        }
      },
      {
        "placePrediction": {
          "place": "places/ChIJyQNK-4SAhYARO2DZaJleWRc",
          "placeId": "ChIJyQNK-4SAhYARO2DZaJleWRc",
          "text": {
            "text": "International Art Museum of America, Market Street, San Francisco, CA, USA",
            "matches": [
              {
                "startOffset": 14,
                "endOffset": 24
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "International Art Museum of America",
              "matches": [
                {
                  "startOffset": 14,
                  "endOffset": 24
                }
              ]
            },
            "secondaryText": {
              "text": "Market Street, San Francisco, CA, USA"
            }
          },
          "types": [
            "museum",
            "point_of_interest",
            "tourist_attraction",
            "art_gallery",
            "establishment"
          ]
        }
      }
    ]
  }

Wyszukiwanie z uwzględnieniem lokalizacji za pomocą parametru locationBias

W przypadku locationBias lokalizacja służy jako preferencja, co oznacza, że mogą być zwracane wyniki z okolic wybranej lokalizacji, w tym poza wybranym obszarem. W tym przykładzie kierujesz prośbę do centrum San Francisco:

curl -X POST -d '{
  "input": "Amoeba",
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Wyniki zawierają teraz znacznie więcej elementów, w tym wyniki poza promieniem 5000 metrów:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "electronics_store",
          "point_of_interest",
          "store",
          "establishment",
          "home_goods_store"
        ]
      }
    },
    {
      "placePrediction": {
        "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw",
        "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw",
        "text": {
          "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Telegraph Avenue, Berkeley, CA, USA"
          }
        },
        "types": [
          "electronics_store",
          "point_of_interest",
          "establishment",
          "home_goods_store",
          "store"
        ]
      }
    },
    ...
  ]
}

Możesz też użyć locationBias, aby ograniczyć wyszukiwanie do prostokątnego widocznego obszaru. W tym przykładzie ograniczamy żądanie do centrum San Francisco:

  curl -X POST -d '{
    "input": "Amoeba",
    "locationBias": {
      "rectangle": {
        "low": {
          "latitude": 37.7751,
          "longitude": -122.4219
        },
        "high": {
          "latitude": 37.7955,
          "longitude": -122.3937
        }
      }
    }
  }' \
  -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
  https://places.googleapis.com/v1/places:autocomplete

Chociaż wyniki wyszukiwania w prostokątnym obszarze widoku są widoczne w odpowiedzi, niektóre z nich znajdują się poza określonymi granicami ze względu na stronniczość. Wyniki są też zawarte w tablicy suggestions:

  {
    "suggestions": [
      {
        "placePrediction": {
          "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
          "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
          "text": {
            "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "Amoeba Music",
              "matches": [
                {
                  "endOffset": 6
                }
              ]
            },
            "secondaryText": {
              "text": "Haight Street, San Francisco, CA, USA"
            }
          },
          "types": [
            "point_of_interest",
            "store",
            "establishment"
          ]
        }
      },
      {
        "placePrediction": {
          "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw",
          "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw",
          "text": {
            "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "Amoeba Music",
              "matches": [
                {
                  "endOffset": 6
                }
              ]
            },
            "secondaryText": {
              "text": "Telegraph Avenue, Berkeley, CA, USA"
            }
          },
          "types": [
            "point_of_interest",
            "store",
            "establishment"
          ]
        }
      },
      {
        "placePrediction": {
          "place": "places/ChIJRdmfADq_woARYaVhnfQSUTI",
          "placeId": "ChIJRdmfADq_woARYaVhnfQSUTI",
          "text": {
            "text": "Amoeba Music, Hollywood Boulevard, Los Angeles, CA, USA",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "Amoeba Music",
              "matches": [
                {
                  "endOffset": 6
                }
              ]
            },
            "secondaryText": {
              "text": "Hollywood Boulevard, Los Angeles, CA, USA"
            }
          },
          "types": [
            "point_of_interest",
            "store",
            "establishment"
          ]
        }
      },
    /.../
    ]
  }

Używanie atrybutu includedPrimaryTypes

Parametr includedPrimaryTypes umożliwia określenie maksymalnie 5 wartości typu z tabeli A, tabeli B, tylko (regions) lub tylko (cities). Aby miejsce zostało uwzględnione w odpowiedzi, musi ono odpowiadać jednej z podanych wartości typu podstawowego.

W tym przykładzie podajesz ciąg znaków input „Soccer” i używasz parametru includedPrimaryTypes, aby ograniczyć wyniki do obiektów typu "sporting_goods_store":

curl -X POST -d '{
  "input": "Soccer",
  "includedPrimaryTypes": ["sporting_goods_store"],
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Jeśli pominiesz parametr includedPrimaryTypes, wyniki mogą obejmować lokale, których nie chcesz uwzględniać, np. "athletic_field".

Żądanie prognozy zapytań

Domyślnie nie są zwracane prognozy zapytań. Aby dodać do odpowiedzi prognozy zapytań, użyj parametru żądania includeQueryPredictions. Na przykład:

curl -X POST -d '{
  "input": "Amoeba",
  "includeQueryPredictions": true,
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Tablica suggestions zawiera teraz zarówno prognozy dotyczące miejsc, jak i prognozy dotyczące zapytań, jak pokazano powyżej w sekcji Informacje o odpowiedzi. Każda prognoza zapytania zawiera pole text z zalecanym ciągiem tekstowy do wyszukiwania. Aby uzyskać więcej informacji o dowolnym z zwróconych prognoz zapytań, możesz wysłać prośbę Wyszukiwanie tekstu (nowa wersja).

Użyj punktu początkowego

W tym przykładzie w żądaniu jako współrzędne szerokości i długości geograficznej podaj origin. Gdy podasz origin, interfejs API uwzględni w odpowiedzi pole distanceMeters, które zawiera odległość w linii prostej od origin do miejsca docelowego. W tym przykładzie punkt początkowy znajduje się w centrum San Francisco:

curl -X POST -d '{
  "input": "Amoeba",
  "origin": {
    "latitude": 37.7749,
    "longitude": -122.4194
  },
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Odpowiedź zawiera teraz distanceMeters:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "home_goods_store",
          "establishment",
          "point_of_interest",
          "store",
          "electronics_store"
        ],
        "distanceMeters": 3012
      }
    }
  ]
}

Wypróbuj

Narzędzie API Explorer umożliwia wysyłanie przykładowych żądań, dzięki czemu możesz zapoznać się z interfejsem API i jego opcjami.

Wypróbuj

Narzędzie APIs Explorer umożliwia wysyłanie przykładowych żądań, dzięki czemu możesz zapoznać się z interfejsem API i jego opcjami.

  1. Po prawej stronie strony kliknij ikonę interfejsu API api.

  2. Opcjonalnie możesz zmodyfikować parametry żądania.

  3. Kliknij przycisk Wykonaj. W oknie wybierz konto, którego chcesz użyć do wysłania prośby.

  4. W panelu narzędzia APIs Explorer kliknij ikonę pełnego ekranu Pełny ekran, aby rozwinąć okno narzędzia APIs Explorer.