Możesz poprosić o więcej szczegółów na temat konkretnego obiektu lub ciekawego miejsca, używając jego identyfikatora miejsca i przesyłając prośbę o szczegóły miejsca (nowość). Szczegóły miejsca (nowe) zwracają bardziej szczegółowe informacje o wybranym miejscu, takie jak pełny adres, numer telefonu, oceny i opinie użytkowników.
Identyfikator miejsca można uzyskać na wiele sposobów. Możesz użyć:
Prośby o szczegóły miejsca (nowe)
Możesz poprosić o szczegółowe informacje o miejscu, wywołując metodę PlacesClient.fetchPlace()
i przekazując obiekt FetchPlaceRequest
zawierający identyfikator miejsca i listę pól, a także dowolne opcjonalne parametry:
// Define a place ID.
final String placeId = "INSERT_PLACE_ID_HERE";
// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList("INSERT_PLACE_FIELDS_HERE");
// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);
// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);
Odpowiedzi na temat szczegółów miejsca (nowe)
Szczegóły miejsca (nowe) zwracają dane w postaci obiektu Place
, który zawiera tylko pola żądane za pomocą listy pól. Wyniki z danymi miejsc nie mogą być puste, więc zwracane są tylko wyniki miejsc z danymi (jeśli na przykład żądane miejsce nie ma zdjęć, nie będzie w nim pola zdjęć).
Aby uzyskać dostęp do pól danych, wywołaj odpowiednią metodę.
Na przykład aby uzyskać dostęp do nazwy miejsca, wywołaj getName()
.
Wymagane parametry
Wymagane parametry parametru FetchPlaceRequest
:
-
Identyfikator miejsca
Identyfikator tekstowy, który jednoznacznie identyfikuje miejsce, zwrócony z użyciem funkcji Wyszukiwanie tekstowe (nowe), Wyszukiwanie w pobliżu (nowe) lub Autouzupełnianie (nowe). Więcej informacji o identyfikatorach miejsc znajdziesz w artykule Omówienie identyfikatorów miejsc.
-
Lista pól
Zgłaszając prośbę o dane miejsce, musisz określić, które dane o nim mają zostać zwrócone. Aby to zrobić, przekaż listę wartości
Place.Field
, które określają dane do zwrócenia. Odpowiedź nie zawiera domyślnej listy zwróconych pól.Listy pól to sprawdzona metoda projektowania, dzięki której nie prosisz o niezbędne dane. Pozwala to uniknąć niepotrzebnego czasu przetwarzania i opłat. Ta lista ma duże znaczenie, ponieważ wpływa na koszt każdego żądania. Więcej informacji znajdziesz w artykule na temat użytkowania i rozliczeń.
Wypełnij co najmniej jedno z tych pól:
Te pola aktywują kod SKU szczegółów miejsca (tylko identyfikatory):
Place.Field.ID
,Place.Field.NAME
,Place.Field.PHOTO_METADATAS
Te pola aktywują kod SKU szczegółów miejsca (tylko lokalizacja):
Place.Field.ADDRESS_COMPONENTS
,Place.Field.ADDRESS
,Place.Field.LAT_LNG
,Place.Field.PLUS_CODE
,Place.Field.TYPES
,Place.Field.VIEWPORT
Te pola aktywują kod SKU informacji o miejscu (podstawowe):
Place.Field.BUSINESS_STATUS
,Place.Field.ICON_BACKGROUND_COLOR
,Place.Field.ICON_URL
,Place.Field.UTC_OFFSET
,Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
Te pola aktywują kod SKU szczegółów miejsca (zaawansowane):
Place.Field.CURRENT_OPENING_HOURS
,Place.Field.SECONDARY_OPENING_HOURS
,Place.Field.PHONE_NUMBER
,Place.Field.PRICE_LEVEL
,Place.Field.RATING
,Place.Field.OPENING_HOURS
,Place.Field.USER_RATINGS_TOTAL
,Place.Field.WEBSITE_URI
Te pola aktywują kod SKU szczegółów miejsca (preferowany):
Place.Field.CURBSIDE_PICKUP
,Place.Field.DELIVERY
,Place.Field.DINE_IN
,Place.Field.EDITORIAL_SUMMARY
,Place.Field.RESERVABLE
,Place.Field.REVIEWS
,Place.Field.SERVES_BEER
,Place.Field.SERVES_BREAKFAST
,Place.Field.SERVES_BRUNCH
,Place.Field.SERVES_DINNER
,Place.Field.SERVES_LUNCH
,Place.Field.SERVES_VEGETARIAN_FOOD
,Place.Field.SERVES_WINE
,Place.Field.TAKEOUT
Parametry opcjonalne
Opcjonalne parametry
FetchPlaceRequest
:
Kod regionu
Kod regionu używany do formatowania odpowiedzi podany jako wartość dwuznakowego kodu CLDR. Nie ma wartości domyślnej.
Jeśli nazwa kraju w polu
Place.Field.ADDRESS
w odpowiedzi jest zgodna z nazwąregionCode
, kod kraju jest pomijany w poluPlace.Field.ADDRESS
.Większość kodów CLDR jest identyczna z kodami ISO 3166-1 z kilkoma wyjątkami. Na przykład domena ccTLD Wielkiej Brytanii to „uk” (.co.uk), a kod ISO 3166-1 to „gb” (technicznie dla podmiotu „Wielka Brytania i Irlandia Północna”). Ten parametr może wpływać na wyniki w zależności od obowiązującego prawa.
Aby ustawić parametr kodu regionu, wywołaj metodę
setRegionCode()
podczas tworzenia obiektuFetchPlaceRequest
.-
Token sesji
Tokeny sesji to ciągi wygenerowane przez użytkownika, które śledzą wywołania autouzupełniania (nowe) jako „sesje”. Autouzupełnianie (nowość) korzysta z tokenów sesji do grupowania zapytania i umieszczania etapów wyboru wyszukiwania autouzupełniania użytkownika w oddzielnej sesji na potrzeby rozliczeń. Tokeny sesji są przekazywane do wywołań funkcji szczegółów miejsca (nowych) po wywołaniach autouzupełniania (nowych). Więcej informacji znajdziesz w artykule o tokenach sesji.
Aby ustawić parametr tokena sesji, podczas tworzenia obiektu
FetchPlaceRequest
wywołaj metodęsetSessionToken()
.
Przykład strony Szczegóły miejsca
W tym przykładzie żądamy pól ID
, NAME
i ADDRESS
w Empire State Building w Nowym Jorku.
// Define a place ID.
final String placeId = "ChIJaXQRs6lZwokRY6EFpJnhNNE";
// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME, Place.Field.ADDRESS);
// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);
// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);