Wprowadzenie
Interfejs Places API obsługuje wyszukiwanie w pobliżu (starsza wersja). Jeśli znasz interfejs Nearby Search (starszy), Nearby Search (nowy) wprowadza te zmiany:
- Wyszukiwanie w pobliżu (nowe) korzysta z żądań HTTP POST. Przekazywanie parametrów w treści żądania lub w nagłówkach w ramach żądania HTTP POST. W przypadku wyszukiwania w pobliżu (starsza wersja) parametry adresu URL przekazujesz za pomocą żądania HTTP GET.
- Maskowanie pola jest wymagane. Musisz określić, które pola mają być zwracane w odpowiedzi. Nie ma domyślnej listy zwracanych pól. Jeśli pominiesz tę listę, metody zwrócą błąd. Więcej informacji znajdziesz w sekcji FieldMask.
- Interfejs Nearby Search (New) obsługuje zarówno klucze interfejsu API, jak i tokeny OAuth jako mechanizm uwierzytelniania.
- W przypadku wyszukiwania w pobliżu (nowego) jako format odpowiedzi obsługiwany jest tylko JSON.
- Wszystkie żądania zawierające zapytanie tekstowe powinny teraz korzystać z wyszukiwania tekstowego (nowego), ponieważ wyszukiwanie w pobliżu (nowe) nie obsługuje wprowadzania tekstu.
- Format odpowiedzi JSON w przypadku wyszukiwania w pobliżu (nowego) zmienił się w porównaniu z formatem starszych interfejsów API. Więcej informacji znajdziesz w artykule Migracja odpowiedzi interfejsu Places API.
W tabeli poniżej znajdziesz parametry wyszukiwania w pobliżu (starsza wersja), które zostały zmienione lub zmodyfikowane w wyszukiwaniu w pobliżu (nowa wersja), oraz parametry, które nie są już obsługiwane.
Bieżący parametr | Nowy parametr | Uwagi |
---|---|---|
keyword |
Nieobsługiwane. Zamiast niej używaj funkcji Wyszukiwanie tekstowe (nowa). | |
language |
languageCode |
|
location |
locationRestriction |
Wymagane. |
maxprice/minprice |
|
Nieobsługiwane. |
maxResultCount |
Nowy parametr. | |
opennow |
|
Nieobsługiwane. |
pagetoken |
Nieobsługiwane. | |
radius |
|
Skorzystaj z locationRestriction już teraz. |
rankby |
rankPreference |
|
regionCode |
Nowy parametr. | |
type |
includedTypes excludedTypes includedPrimaryTypes excludedPrimaryTypes
|
Nowe parametry akceptują też wiele wartości typu. Starszy interfejs API akceptuje tylko jedną wartość. |
Przykładowe żądanie
Ten przykładowy kod wysyła żądanie GET do wyszukiwania w pobliżu (starsza wersja). W tym przykładzie wysyłasz żądanie odpowiedzi w formacie JSON zawierającej informacje o miejscach typu restaurant
i przekazujesz wszystkie parametry jako parametry adresu URL:
curl -L -X GET \ 'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=37.7937%2C-122.3965&radius=500&type=restaurant&key=API_KEY'
W przypadku wyszukiwania w pobliżu (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żywamy też maski pola, aby odpowiedź zawierała tylko nazwę wyświetlaną i sformatowany adres miejsca:
curl -X POST -d '{ "includedTypes": ["restaurant"], "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } } }' \ -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:searchNearby