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'