Place Details (nuevo)

Puedes solicitar más detalles sobre un establecimiento o lugar de interés en particular mediante su ID de lugar y una solicitud de Place Details (nuevo). Place Details (nuevo) devuelve información más completa sobre el lugar indicado, como la dirección completa, el número de teléfono, las calificaciones y las opiniones de los usuarios.

Existen muchas formas de obtener un ID de lugar. Puedes usar:

Solicitudes de Place Details (nuevo)

Para solicitar detalles del lugar, llama a PlacesClient.fetchPlace() y pasa un objeto FetchPlaceRequest que contenga un ID de lugar y una lista de campos, así como cualquier parámetro opcional:

// 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);

Respuestas de Place Details (nuevo)

Place Details (nuevo) devuelve datos en forma de objeto Place, que incluye solo los campos que solicitaste con la lista de campos. Los resultados de datos de lugar no pueden estar vacíos, por lo que solo se muestran resultados de lugares con datos (por ejemplo, si un lugar solicitado no tiene fotos, el campo de fotos no estará presente en el resultado).

Para acceder a los campos de datos, llama al método correspondiente. Por ejemplo, para acceder al nombre del lugar, llama a getName().

Parámetros obligatorios

Los parámetros obligatorios para FetchPlaceRequest son los siguientes:

Parámetros opcionales

Los parámetros opcionales para FetchPlaceRequest son los siguientes:

  • Código de la región

    El código regional que se usa para dar formato a la respuesta, especificado como un valor de código CLDR de dos caracteres. No hay un valor predeterminado.

    Si el nombre del país del campo Place.Field.ADDRESS en la respuesta coincide con regionCode, el código de país se omitirá de Place.Field.ADDRESS.

    La mayoría de los códigos CLDR son idénticos a los códigos ISO 3166-1, con algunas excepciones notables. Por ejemplo, el ccTLD del Reino Unido es "uk" (.co.uk), mientras que su código ISO 3166-1 es "gb" (técnicamente para la entidad de "Reino Unido de Gran Bretaña e Irlanda del Norte"). El parámetro puede afectar los resultados según la ley aplicable.

    Para establecer el parámetro del código regional, llama al método setRegionCode() cuando compiles el objeto FetchPlaceRequest.

  • Token de sesión

    Los tokens de sesión son cadenas generadas por el usuario que hacen un seguimiento de las llamadas de Autocomplete (nuevo) como "sesiones". La función Autocomplete (nuevo) usa tokens de sesión para agrupar las fases de consulta y selección de lugares de una búsqueda con autocompletado de un usuario en una sesión discreta con fines de facturación. Los tokens de sesión se pasan a llamadas de Place Details (nuevo) que siguen a las llamadas de Autocomplete (nuevo). Para obtener más información, consulta Tokens de sesión.

    Para establecer el parámetro del token de sesión, llama al método setSessionToken() cuando compiles el objeto FetchPlaceRequest.

Ejemplo de Place Details

En el siguiente ejemplo, se solicitan los campos ID, NAME y ADDRESS para el Empire State Building en la ciudad de Nueva 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);