Puedes solicitar más detalles sobre un establecimiento o punto de interés usando su lugar de la API y crea un Solicitud de Place Details (nueva). La versión más completa de Place Details (nuevo) información sobre el lugar indicado, como su dirección completa, número de el número, las calificaciones y las opiniones de los usuarios.
Existen muchas maneras de obtener un ID de lugar. Puedes usar:
Solicitudes de Place Details (nuevo)
Para solicitar detalles del lugar, llama a
PlacesClient.fetchPlace()
y pasar un
FetchPlaceRequest
objeto que contiene un ID de lugar y una lista de campos, así como
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 como un archivo
Place
que incluye solo los campos que solicitaste usando el campo
en la lista de lectura. Los resultados de datos de lugares no pueden estar vacíos; por lo tanto, solo los resultados de lugares
con datos (por ejemplo, si un sitio solicitado no tiene fotos, la
fotos no aparecerá en el resultado).
Para acceder a los campos de datos, llama a
método.
Por ejemplo, para acceder al nombre del lugar, llama a getName()
.
Parámetros obligatorios
Los parámetros obligatorios para
FetchPlaceRequest
son:
-
ID de lugar
un identificador textual que identifica un sitio de forma exclusiva, obtenido de un Text Search (nueva), Nearby Search (nuevo) o Autocomplete (nuevo). Para obtener más información sobre los IDs de lugar, consulta la Descripción general de los IDs de lugar.
-
Lista de campos
Cuando solicitas un lugar, debes especificar qué datos del lugar deseas devolver. Para haz esto, pasa una lista de valores
Place.Field
especificando los datos que se deben devolver. No hay una lista predeterminada de que se muestran en la respuesta.Las listas de campos constituyen una práctica de diseño recomendada para asegurarse de no solicitar datos innecesarios, lo que ayuda a evitar tiempos de procesamiento y de facturación.Esta lista es importante porque afecta el costo de cada solicitud. Para obtener más información, consulta Uso y Facturación.
Especifica uno o más de los siguientes campos:
Los siguientes campos activan el SKU de Place Details (solo IDs):
Place.Field.ID
,Place.Field.NAME
,Place.Field.PHOTO_METADATAS
Los siguientes campos activan el SKU de Place Details (solo ubicación):
Place.Field.ADDRESS_COMPONENTS
,Place.Field.ADDRESS
,Place.Field.LAT_LNG
,Place.Field.PLUS_CODE
,Place.Field.TYPES
,Place.Field.VIEWPORT
Los siguientes campos activan el SKU de Place Details (Basic):
Place.Field.BUSINESS_STATUS
,Place.Field.ICON_BACKGROUND_COLOR
,Place.Field.ICON_URL
,Place.Field.UTC_OFFSET
,Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
Los siguientes campos activan el SKU de Place Details (Advanced):
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
Los siguientes campos activan el SKU de Place Details (preferido):
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
Parámetros opcionales
Los parámetros opcionales para
FetchPlaceRequest
son:
Código de la región
El código de región que se usa para dar formato a la respuesta, especificado como una 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 elregionCode
, el código de país se omite dePlace.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 el código ISO 3166-1 es "gb" (técnicamente para el del "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 de código de región, llama al método
setRegionCode()
cuando compiles el objetoFetchPlaceRequest
.-
Token de sesión
Los tokens de sesión son cadenas generadas por el usuario que hacen un seguimiento Llamadas de Autocomplete (nuevas) como "sesiones". Autocomplete (nuevo) usa tokens de sesión para Agrupar las fases de consulta y selección de lugares de una búsqueda de autocompletado del usuario en una sesión discreta para la facturación. Los tokens de sesión se pasan a Place Details (nuevo) de llamadas que siguen a las 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 objetoFetchPlaceRequest
.
Ejemplo de Place Details
En el siguiente ejemplo, se solicitan los campos ID
, NAME
y ADDRESS
para la
Empire State 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);