Detalhes do lugar (novo)

Selecione a plataforma: Android iOS JavaScript Serviço da Web

Para pedir mais detalhes sobre um estabelecimento ou ponto de interesse específico, use o ID de lugar correspondente e faça uma solicitação do Place Details (novo). Place Details (novo) retorna informações mais abrangentes sobre o lugar indicado, como endereço completo, número de telefone, classificação e avaliações de usuários.

Há muitas maneiras de se obter um ID de lugar. Você pode usar:

Solicitações de Place Details (novo)

Para solicitar detalhes do lugar, chame PlacesClient.fetchPlace() e transmita um objeto FetchPlaceRequest que contém um ID de lugar e uma lista de campos, bem como todos os 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 lugares não podem ficar vazios. Portanto, apenas os resultados com dados são retornados. Por exemplo, se um lugar solicitado não tiver fotos, o campo de fotos não estará presente 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:

Parâmetros opcionais

Os parâmetros opcionais de 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 no campo Place.Field.ADDRESS na resposta corresponder a regionCode, o código do país será omitido de Place.Field.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 do código da região, chame o método setRegionCode() ao criar o objeto FetchPlaceRequest.

  • Token da sessão

    Tokens de sessão são strings geradas pelo usuário que rastreiam chamadas de preenchimento automático (novo) 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 com preenchimento automático do usuário em uma sessão discreta para fins de faturamento. Os tokens de sessão são transmitidos para as chamadas do Place Details (novo) que seguem as chamadas do Autocomplete (novo). Para mais informações, consulte Tokens de sessão.

    Para definir o parâmetro do token de sessão, chame o método setSessionToken() ao criar o objeto FetchPlaceRequest.

Exemplo de Place Details

O exemplo a seguir solicita os campos ID, NAME e ADDRESS para o Empire State Building na cidade de 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.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);