Você pode pedir mais detalhes sobre um estabelecimento ou ponto de interesse específico usando o ID do lugar e fazendo uma solicitação do Place Details (novo). O Place Details (New) retorna informações mais abrangentes sobre o lugar indicado, como endereço completo, número de telefone, classificação e avaliações dos usuários.
Há muitas maneiras de conseguir um ID de lugar. Você pode usar:
Solicitações do Place Details (novo)
Para solicitar detalhes de um lugar, chame
PlacesClient.fetchPlace()
e transmita um objeto
FetchPlaceRequest
que contenha um ID de lugar e uma lista de campos, além
de quaisquer parâmetros opcionais:
// 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);
Respostas do Place Details (novo)
O Place Details (novo) retorna dados na forma de um objeto
Place, que inclui apenas os campos solicitados usando a lista de campos. Os resultados de dados de lugar não podem ficar vazios. Portanto, apenas aqueles que têm dados são retornados. Por exemplo, se um lugar solicitado não tiver fotos, o campo "fotos" não vai aparecer no resultado.
Para acessar campos de dados, chame o
método correspondente.
Por exemplo, para acessar o nome do lugar, chame getName().
Parâmetros obrigatórios
Os parâmetros obrigatórios para
FetchPlaceRequest
são:
- 
    ID do lugarUm identificador textual que identifica um lugar de forma exclusiva, retornado de uma Pesquisa de texto (novo), Pesquisa nas proximidades (novo) ou Preenchimento automático (novo). Para mais informações sobre IDs de lugar, consulte a visão geral de IDs de lugar. 
- 
    Lista de camposAo solicitar um lugar, você precisa especificar quais dados retornar. Para fazer isso, transmita uma lista de valores Place.Fieldespecificando os dados a serem retornados. Não há uma lista padrão de campos retornados na resposta.As listas de campos são uma boa prática de design para garantir que você não solicite dados desnecessários, o que ajuda a evitar tempo de processamento e cobranças desnecessárias.Essa lista é uma consideração importante porque afeta o custo de cada solicitação. Para mais informações, consulte Uso e faturamento. Especifique um ou mais dos seguintes campos: - Os campos a seguir acionam a SKU Place Details Essentials IDs Only: - Place.Field.ID
 - Place.Field.PHOTO_METADATAS
 - Place.Field.RESOURCE_NAME
 
- Os campos a seguir acionam a SKU Place Details Essentials: - Place.Field.ADDRESS_COMPONENTS
 - ADR_FORMAT_ADDRESS
 - Place.Field.FORMATTED_ADDRESS*
 * Use em vez de- Place.Field.ADDRESS(descontinuado).
 - Place.Field.LOCATION*
 * Use em vez de- Place.Field.LAT_LNG(descontinuado).
 - Place.Field.PLUS_CODE
 - Place.Field.SHORT_FORMATTED_ADDRESS
 - Place.Field.TYPES
 - Place.Field.VIEWPORT
- Os seguintes campos acionam a SKU Place Details Pro: - Place.Field.ACCESSIBILITY_OPTIONS*
 * Use em vez de- Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE(descontinuado).
 - Place.Field.BUSINESS_STATUS
 - Place.Field.DISPLAY_NAME*
 * Use em vez de- Place.Field.NAME, que está suspenso.
 - Place.Field.GOOGLE_MAPS_URI
 - Place.Field.ICON_BACKGROUND_COLOR
 - Place.Field.ICON_MASK_URL*
 * Use em vez de- Place.Field.ICON_URL(descontinuado).
 - Place.Field.PRIMARY_TYPE
 - Place.Field.PRIMARY_TYPE_DISPLAY_NAME
 - Place.Field.SUB_DESTINATIONS
 - Place.Field.UTC_OFFSET
- Os seguintes campos acionam a SKU do Place Details Enterprise: - Place.Field.CURRENT_OPENING_HOURS
 - Place.Field.CURRENT_SECONDARY_OPENING_HOURS
 - Place.Field.INTERNATIONAL_PHONE_NUMBER*
 * Use em vez de- Place.Field.PHONE_NUMBER, que foi descontinuado.
 - 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*
 * Use em vez de- Place.Field.USER_RATINGS_TOTAL, que está suspenso.
 - Place.Field.WEBSITE_URI
- Os seguintes campos acionam a SKU do Place Details 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.TAKEOUT
 
Parâmetros opcionais
Os parâmetros opcionais para
FetchPlaceRequest
são:
- Código de região- O código da região usado para formatar a resposta, especificado como um valor de código CLDR de dois caracteres. Não há valor padrão. - Se o nome do país do campo - Place.Field.FORMATTED_ADDRESSna resposta corresponder ao- regionCode, o código do país será omitido de- Place.Field.FORMATTED_ADDRESS.- A maioria dos códigos CLDR é idêntica aos códigos ISO 3166-1, com algumas exceções notáveis. Por exemplo, o ccTLD do Reino Unido é "uk" (.co.uk), enquanto o código ISO 3166-1 é "gb" (tecnicamente para a entidade "Reino Unido da Grã-Bretanha e Irlanda do Norte"). O parâmetro pode afetar os resultados com base na legislação aplicável. - Para definir o parâmetro de código da região, chame o método - setRegionCode()ao criar o objeto- FetchPlaceRequest.
- 
    Token da sessãoOs tokens de sessão são strings geradas pelo usuário que rastreiam chamadas do Autocomplete (New) como "sessões". O Autocomplete (novo) usa tokens de sessão para agrupar as fases de consulta e seleção de local de uma pesquisa de preenchimento automático do usuário em uma sessão discreta para fins de faturamento. Os tokens de sessão são transmitidos para chamadas de Place Details (novo) que seguem chamadas de Autocomplete (novo). Para mais informações, consulte Tokens de sessão. Para definir o parâmetro de token de sessão, chame o método setSessionToken()ao criar o objetoFetchPlaceRequest.
Exemplo de Place Details
O exemplo a seguir solicita os campos ID, DISPLAY_NAME e FORMATTED_ADDRESS do Empire State Building em Nova York.
// 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);