Place Details (nuevo)

Selecciona la plataforma: Android iOS JavaScript Servicio web

Puedes solicitar más detalles sobre un establecimiento o punto de interés en particular. Para ello, usa su ID de lugar y realiza una solicitud de Place Details (nuevo). Place Details (nuevo) muestra información más completa sobre el lugar indicado, como su dirección completa, su número de teléfono, su calificación y sus opiniones.

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

Solicitudes de Place Details (nuevas)

Para solicitar detalles de un 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) muestra los datos en forma de un objeto Place, que solo incluye los campos que solicitaste con la lista de campos. Los resultados de los datos de lugares 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:

  • ID de lugar

    Es un identificador textual que identifica un lugar de forma exclusiva y que se muestra en una Text Search (nuevo), 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 se deben devolver. Para ello, pasa una lista de valores Place.Field que especifiquen los datos que se mostrarán. No hay una lista predeterminada de campos que se muestran en la respuesta.

    Las listas de campos son una práctica de diseño recomendada para garantizar que no solicites datos innecesarios, lo que ayuda a evitar tiempos de procesamiento y cargos de facturación adicionales.Esta lista es una consideración 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 Essentials IDs Only:

      Place.Field.DISPLAY_NAME
      Place.Field.ID
      Place.Field.PHOTO_METADATAS
      Place.Field.RESOURCE_NAME
    • Los siguientes campos activan el SKU de Place Details Essentials:

      Place.Field.ADDRESS_COMPONENTS
      ADR_FORMAT_ADDRESS
      Place.Field.FORMATTED_ADDRESS
      Place.Field.LOCATION
      Place.Field.PLUS_CODE
      Place.Field.SHORT_FORMATTED_ADDRESS
      Place.Field.TYPES
      Place.Field.VIEWPORT
    • Los siguientes campos activan el SKU de Place Details Pro:

      Place.Field.ACCESSIBILITY_OPTIONS
      Place.Field.BUSINESS_STATUS
      Place.Field.GOOGLE_MAPS_URI
      Place.Field.ICON_BACKGROUND_COLOR
      Place.Field.ICON_MASK_URL
      Place.Field.PRIMARY_TYPE
      Place.Field.PRIMARY_TYPE_DISPLAY_NAME
      Place.Field.SUB_DESTINATIONS
      Place.Field.UTC_OFFSET
    • Los siguientes campos activan el SKU de Place Details Enterprise:

      Place.Field.CURRENT_OPENING_HOURS
      Place.Field.CURRENT_SECONDARY_OPENING_HOURS
      Place.Field.INTERNATIONAL_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
      Place.Field.WEBSITE_URI
    • Los siguientes campos activan el SKU de 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 opcionales

Los parámetros opcionales para FetchPlaceRequest son los siguientes:

  • Código de la región

    Es el código de región 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.FORMATTED_ADDRESS en la respuesta coincide con regionCode, se omite el código de país de Place.Field.FORMATTED_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 "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 objeto FetchPlaceRequest.

  • Token de sesión

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

    Para establecer el parámetro de 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, DISPLAY_NAME y FORMATTED_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.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);