Você pode pedir mais detalhes sobre um estabelecimento ou ponto de interesse usando o ID do lugar e fazendo uma solicitação do Place Details (novo) . O Place Details (novo) retorna informações mais abrangentes sobre o lugar indicado, como endereço completo, número de telefone, classificações e avaliações de usuários.
Há muitas maneiras de conseguir um ID de lugar. Você pode usar:
Solicitações do Place Details (novo)
Você pode pedir detalhes do lugar chamando
PlacesClient.fetchPlace()
e transmitindo um objeto
FetchPlaceRequest
que contenha um ID de lugar e uma lista de campos, bem
como 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
Place
objeto, que inclui apenas os campos solicitados usando a lista
de campos. Os resultados de dados de lugares não podem estar vazios. Portanto, apenas os resultados de lugares 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
método.
Por exemplo, para acessar o nome do lugar, chame getName().
Parâmetros obrigatórios
Os parâmetros obrigatórios para
FetchPlaceRequest
são:
-
ID de lugar
Um identificador textual que identifica um lugar de forma exclusiva, retornado de uma Text Search (novo), Nearby Search (novo), ou preenchimento automático (novo). Para mais informações sobre IDs de local, consulte a visão geral de IDs de local.
-
Lista de campos
Ao solicitar um lugar, você precisa especificar quais dados retornar. Para fazer isso, transmita uma lista de
Place.Fieldvalores especificando 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 peça 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 Utilização 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
Para uma lista completa de campos e as SKUs associadas, consulte Campos de dados de lugares (novo).
Os campos a seguir acionam a SKU Place Details Essentials:
Place.Field.ADDRESS_COMPONENTS
ADR_FORMAT_ADDRESS
Place.Field.FORMATTED_ADDRESS*
* Use em vez dePlace.Field.ADDRESS(descontinuado).
Place.Field.LOCATION*
* Use em vez dePlace.Field.LAT_LNG(descontinuado).
Place.Field.PLUS_CODE
Place.Field.SHORT_FORMATTED_ADDRESS
Place.Field.TYPES
Place.Field.VIEWPORTPara uma lista completa de campos e as SKUs associadas, consulte Campos de dados de lugares (novo).
Os campos a seguir acionam a SKU Place Details Pro:
Place.Field.ACCESSIBILITY_OPTIONS*
* Use em vez dePlace.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE(descontinuado).
Place.Field.BUSINESS_STATUS
Place.Field.DISPLAY_NAME*
* Use em vez dePlace.Field.NAME, que foi descontinuado.
Place.Field.GOOGLE_MAPS_URI
Place.Field.ICON_BACKGROUND_COLOR
Place.Field.ICON_MASK_URL*
* Use em vez dePlace.Field.ICON_URL(descontinuado).
Place.Field.PRIMARY_TYPE
Place.Field.PRIMARY_TYPE_DISPLAY_NAME
Place.Field.SUB_DESTINATIONS
Place.Field.UTC_OFFSETPara uma lista completa de campos e as SKUs associadas, consulte Campos de dados de lugares (novo).
Os campos a seguir acionam a SKU Place Details Enterprise:
Place.Field.CURRENT_OPENING_HOURS
Place.Field.CURRENT_SECONDARY_OPENING_HOURS
Place.Field.INTERNATIONAL_PHONE_NUMBER*
* Use em vez dePlace.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 dePlace.Field.USER_RATINGS_TOTAL, que foi descontinuado.
Place.Field.WEBSITE_URIPara uma lista completa de campos e as SKUs associadas, consulte Campos de dados de lugares (novo).
Os campos a seguir acionam a SKU 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.TAKEOUTPara uma lista completa de campos e as SKUs associadas, consulte Campos de dados de lugares (novo).
Parâmetros opcionais
Os parâmetros opcionais para
FetchPlaceRequest
são:
Código de região
O código de região usado para formatar a resposta, especificado como um código CLDR de duas letras valor. Não há valor padrão.
Se o nome do país do
Place.Field.FORMATTED_ADDRESScampo na resposta corresponder aoregionCode, o código do país será omitido dePlace.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 do "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 de região, chame o
setRegionCode()método ao criar oFetchPlaceRequestobjeto.-
Token de sessão
Os tokens de sessão são strings geradas pelo usuário que rastreiam chamadas de preenchimento automático (novo) como "sessões". O preenchimento automático (novo) usa tokens de sessão para agrupar as fases de consulta e seleção de lugares 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 do Place Details (novo) que seguem chamadas de preenchimento automático (novo). Para mais informações, consulte Tokens de sessão.
Para definir o parâmetro de token de sessão, chame o
setSessionToken()ao criar oFetchPlaceRequest.
Exemplo do Place Details
O exemplo a seguir pede os campos ID, DISPLAY_NAME e FORMATTED_ADDRESS do 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.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);