Migracja do wyszukiwania tekstowego (nowość)

Places API obsługuje istniejące wyszukiwanie tekstowe. Jeśli znasz już istniejącą funkcję wyszukiwania tekstowego, nowa wersja tej funkcji wprowadza te zmiany:

  • Nowe wyszukiwanie tekstowe używa żądań POST HTTP. Przekazuj parametry w treści żądania lub w nagłówkach w ramach żądania POST HTTP. W przeciwieństwie do tego w przypadku istniejącego wyszukiwania tekstowego przekazujesz parametry adresu URL za pomocą żądania HTTP GET.
  • Maskowanie pól jest wymagane. Musisz określić pola, które chcesz zwrócić w odpowiedzi. Nie ma domyślnej listy zwróconych pól. Jeśli pominiesz tę listę, metody zwrócą błąd. Więcej informacji znajdziesz w sekcji FieldMask (Maska pola).
  • Nowe wyszukiwanie tekstowe obsługuje jako mechanizm uwierzytelniania zarówno klucze interfejsu API, jak i tokeny OAuth.
  • W nowym wyszukiwaniu tekstowym obsługiwany jest tylko format JSON.
  • Istniejące wyszukiwanie tekstowe umożliwia określenie współrzędnych szerokości i długości geograficznej w ciągu zapytania. Przykład: query=37.4239,-122.0925. Nowe wyszukiwanie tekstowe nie obsługuje tej opcji.

    Skorzystaj z funkcji Odwrotne geokodowanie, aby wyszukać współrzędne i zwrócić adres, lub Wyszukiwanie w pobliżu (nowość), aby znaleźć miejsca w pobliżu określonej lokalizacji.

  • Format odpowiedzi JSON dla interfejsu Text Search (nowego) API zmienił się niż format istniejących interfejsów API. Więcej informacji znajdziesz w artykule o migracji odpowiedzi interfejsu Places API.

W tabeli poniżej znajdziesz parametry istniejącego wyszukiwania tekstowego, które zostały zmienione lub zmodyfikowane na potrzeby nowej wyszukiwarki tekstowej, albo parametry, które nie są już obsługiwane.

Bieżący parametr Nowy parametr Uwagi
evOptions Nowy parametr.
language languageCode
location locationBias
maxprice/minprice priceLevels
opennow openNow
pagetoken Nieobsługiwane.
query textQuery Wymagane we wszystkich żądaniach.
radius locationBias Podczas definiowania obiektu locationBias podaj promień.
region regionCode
type includedType Przyjmuje tylko jedną wartość.
strictTypeFiltering Nowy parametr.

Przykładowe żądanie

Poniższe przykładowe żądanie GET korzysta z istniejącego wyszukiwania tekstowego. W tym przykładzie wysyłasz żądanie odpowiedzi JSON zawierającej informacje o „atrakcyjnym lokalu wegetariańskim w Sydney w Australii” i przekazujesz wszystkie parametry jako parametry adresu URL:

curl -L -X GET \
'https://maps.googleapis.com/maps/api/place/textsearch/json?query=Spicy%20Vegetarian%20Food%20in%20Sydney%20Australia&key=API_KEY

Za pomocą wyszukiwania tekstowego (nowego) wysyłasz żądanie POST i przekazujesz wszystkie parametry w treści żądania JSON lub w nagłówkach w ramach żądania POST. W tym przykładzie użyto też maski pola, więc odpowiedź zawiera tylko wyświetlaną nazwę i sformatowany adres miejsca:

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \
'https://places.googleapis.com/v1/places:searchText'