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 (nowa wersja) 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) obsługiwany jest tylko format odpowiedzi 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 w Nearby Search (Legacy), które zostały zmienione lub zmodyfikowane w Nearby Search (New), 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 |
includedTypesexcludedTypesincludedPrimaryTypesexcludedPrimaryTypes
|
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