Możesz poprosić o więcej informacji o konkretnej firmie lub konkretnym miejscu, używając identyfikatora miejsca i wysyłając żądanie informacji o miejscu (nowe). Informacje o miejscu (nowe) zwracają bardziej szczegółowe informacje o wskazanym 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ć:
Żądania dotyczące informacji o miejscu (nowe)
Możesz poprosić o 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 parametry opcjonalne:
// 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 dotyczące informacji o miejscu (New)
Informacje o miejscu (nowe) zwracają dane w postaci obiektu Place, który zawiera tylko pola określone na liście pól. Wyniki danych o miejscu nie mogą być puste, więc zwracane są tylko wyniki z danymi (np. jeśli żądane miejsce nie ma zdjęć, pole zdjęć nie będzie widoczne w wyniku).
Aby uzyskać dostęp do pól danych, wywołaj odpowiednią metodę.
Aby na przykład uzyskać dostęp do nazwy miejsca, wywołaj getName().
Wymagane parametry
Wymagane parametry dla FetchPlaceRequest to:
-
Identyfikator miejsca
Identyfikator tekstowy, który jednoznacznie identyfikuje miejsce, zwracany przez Wyszukiwanie tekstu (nowe), Wyszukiwanie w pobliżu (nowe) lub Autouzupełnianie (nowe). Więcej informacji o identyfikatorach miejsc znajdziesz w omówieniu identyfikatorów miejsc.
-
Lista pól
Gdy wysyłasz żądanie dotyczące miejsca, musisz określić, które dane o miejscu mają zostać zwrócone. Aby to zrobić, przekaż listę wartości
Place.Fieldokreślających dane, które mają zostać zwrócone. W odpowiedzi nie ma domyślnej listy zwracanych pól.Listy pól to dobra praktyka projektowa, która pozwala uniknąć żądania niepotrzebnych danych, co pomaga uniknąć niepotrzebnego czasu przetwarzania i opłat.Ta lista jest ważna, ponieważ wpływa na koszt każdego żądania. Więcej informacji znajdziesz w artykule Użycie i rozliczenia.
Określ co najmniej jedno z tych pól:
Te pola aktywują SKU Informacje o miejscu – Essentials (tylko identyfikatory):
Place.Field.ID
Place.Field.PHOTO_METADATAS
Place.Field.RESOURCE_NAME
Pełną listę pól i powiązanych z nimi kodów SKU znajdziesz w artykule Pola danych o miejscach (nowe).
Te pola aktywują SKU Informacje o miejscu – Essentials:
Place.Field.ADDRESS_COMPONENTS
ADR_FORMAT_ADDRESS
Place.Field.FORMATTED_ADDRESS*
* Używaj zamiastPlace.Field.ADDRESS(wycofano).
Place.Field.LOCATION*
* Używaj zamiastPlace.Field.LAT_LNG(wycofano).
Place.Field.PLUS_CODE
Place.Field.SHORT_FORMATTED_ADDRESS
Place.Field.TYPES
Place.Field.VIEWPORTPełną listę pól i powiązanych z nimi kodów SKU znajdziesz w artykule Pola danych o miejscach (nowe).
Następujące pola aktywują kod SKU Informacje o miejscu Pro:
Place.Field.ACCESSIBILITY_OPTIONS*
* Używaj zamiastPlace.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE(wycofane).
Place.Field.BUSINESS_STATUS
Place.Field.DISPLAY_NAME*
* Używaj zamiast wycofanego parametruPlace.Field.NAME.
Place.Field.GOOGLE_MAPS_URI
Place.Field.ICON_BACKGROUND_COLOR
Place.Field.ICON_MASK_URL*
* Używaj zamiastPlace.Field.ICON_URL(wycofany).
Place.Field.PRIMARY_TYPE
Place.Field.PRIMARY_TYPE_DISPLAY_NAME
Place.Field.SUB_DESTINATIONS
Place.Field.UTC_OFFSETPełną listę pól i powiązanych z nimi kodów SKU znajdziesz w artykule Pola danych o miejscach (nowe).
Następujące pola aktywują kod SKU Informacje o miejscu Enterprise:
Place.Field.CURRENT_OPENING_HOURS
Place.Field.CURRENT_SECONDARY_OPENING_HOURS
Place.Field.INTERNATIONAL_PHONE_NUMBER*
* Używaj zamiast wycofanego parametruPlace.Field.PHONE_NUMBER.
Place.Field.NATIONAL_PHONE_NUMBER
Place.Field.OPENING_HOURS
Place.Field.PRICE_LEVEL
Place.Field.RATING
Place.Field.SECONDARY_OPENING_HOURS
Place.Field.USER_RATING_COUNT*
* Używaj zamiast wycofanego atrybutuPlace.Field.USER_RATINGS_TOTAL.
Place.Field.WEBSITE_URIPełną listę pól i powiązanych z nimi kodów SKU znajdziesz w artykule Pola danych o miejscach (nowe).
Następujące pola aktywują SKU informacji o miejscu Enterprise Plus:
Place.Field.ALLOWS_DOGS
Place.Field.CURBSIDE_PICKUP
Place.Field.DELIVERY
Place.Field.DINE_IN
Place.Field.EDITORIAL_SUMMARY
Place.Field.EV_CHARGE_OPTIONS
Place.Field.FUEL_OPTIONS
Place.Field.GOOD_FOR_CHILDREN
Place.Field.GOOD_FOR_GROUPS
Place.Field.GOOD_FOR_WATCHING_SPORTS
Place.Field.LIVE_MUSIC
Place.Field.MENU_FOR_CHILDREN
Place.Field.OUTDOOR_SEATING
Place.Field.PARKING_OPTIONS
Place.Field.PAYMENT_OPTIONS
Place.Field.RESERVABLE
Place.Field.RESTROOM
Place.Field.REVIEWS
Place.Field.SERVES_BEER
Place.Field.SERVES_BREAKFAST
Place.Field.SERVES_BRUNCH
Place.Field.SERVES_COCKTAILS
Place.Field.SERVES_COFFEE
Place.Field.SERVES_DESSERT
Place.Field.SERVES_DINNER
Place.Field.SERVES_LUNCH
Place.Field.SERVES_VEGETARIAN_FOOD
Place.Field.SERVES_WINE
Place.Field.TAKEOUTPełną listę pól i powiązanych z nimi kodów SKU znajdziesz w artykule Pola danych o miejscach (nowe).
Parametry opcjonalne
Parametry opcjonalne dla FetchPlaceRequest:
Kod regionu
Kod regionu używany do formatowania odpowiedzi, określony jako dwuznakowy kod CLDR. Nie ma wartości domyślnej.
Jeśli nazwa kraju w polu
Place.Field.FORMATTED_ADDRESSw odpowiedzi jest zgodna zregionCode, kod kraju jest pomijany w poluPlace.Field.FORMATTED_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 „Zjednoczone Królestwo Wielkiej Brytanii i Irlandii Północnej”). Parametr może wpływać na wyniki na podstawie obowiązujących przepisów.
Aby ustawić parametr kodu regionu, wywołaj metodę
setRegionCode()podczas tworzenia obiektuFetchPlaceRequest.-
Token sesji
Tokeny sesji to ciągi znaków generowane przez użytkownika, które śledzą wywołania Autouzupełniania (nowego) jako „sesje”. Autouzupełnianie (nowe) używa tokenów sesji do grupowania faz zapytania i wyboru miejsca w ramach wyszukiwania z autouzupełnianiem w osobną sesję na potrzeby rozliczeń. Tokeny sesji są przekazywane do wywołań informacji o miejscu (nowych), które następują po wywołaniach autouzupełniania (nowych). Więcej informacji znajdziesz w sekcji Tokeny sesji.
Aby ustawić parametr tokena sesji, wywołaj metodę
setSessionToken()podczas tworzenia obiektuFetchPlaceRequest.
Przykład informacji o miejscu
W tym przykładzie żądane są pola ID, DISPLAY_NAME i FORMATTED_ADDRESS dotyczące 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.DISPLAY_NAME, Place.Field.FORMATTED_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);