Migrar para o Place Details (novo)

O SDK do Places para Android oferece suporte aos Detalhes do lugar. Se você já conhece o SDK do Places para Android, a nova versão do Place Details faz as seguintes mudanças:

  • Usa um novo modelo de preços. Para informações de preços de todas as APIs, consulte SDK do Places para Android (novo).

  • É necessário inicializar o app chamando o método Places.initializeWithNewPlacesApiEnabled(). Para mais informações sobre como selecionar o serviço da API Places, consulte Configurar seu projeto do Google Cloud.

  • O mascaramento de campo é obrigatório. É necessário especificar quais campos você quer que sejam retornados na resposta. Não há uma lista padrão de campos retornados. Se você omitir essa lista, os métodos vão retornar um erro.

As seções a seguir descrevem outras mudanças.

Acessar novos tipos de lugar

Cada lugar pode ter um ou mais valores de tipo associados. O Places SDK for Android versão 3.3.0 e mais recentes adiciona muitos novos valores de tipo. Para conferir a lista completa, consulte Tipos de lugar expandidos.

O método Place.getPlaceTypes() retorna os valores de tipo como uma lista de valores de string. Os valores retornados dependem da sua versão do SDK do Places para Android:

  • SDK do Places para Android (novo): retorna as strings definidas pelas tabelas A e B mostradas em Tipos de lugar (novo), incluindo todos os tipos de lugar adicionados na versão 3.3.0.

  • SDK do Places para Android: retorna os tipos enumerados definidos por Place.Types, que não inclui os novos tipos adicionados na versão 3.3.0 e mais recentes.

Acessar avaliações de lugares

O SDK do Places para Android (novo) adiciona a classe Review, que contém uma avaliação de um lugar. O objeto Place pode conter até cinco avaliações.

A classe Review também pode conter uma atribuição e uma atribuição de autor. Se você mostrar a avaliação no seu app, também precisará mostrar qualquer atribuição ou atribuição do autor. Para mais informações, consulte Mostrar uma avaliação.

Para mais informações, consulte a documentação sobre atribuições.

Acessar o código do idioma do nome do lugar

O método Place.getName() atual retorna uma string de texto contendo o nome de um lugar. Para preencher o objeto Place com o nome do lugar, inclua Place.Field.DISPLAY_NAME na lista de campos da solicitação de detalhes do lugar.

O objeto Place agora contém o código de idioma da string de nome. Para preencher o objeto Place com o código de idioma, faça o seguinte:

  1. Inclua o Place.Field.DISPLAY_NAME na lista de campos da solicitação. Esse valor configura a resposta para incluir o nome do lugar e o código de idioma no objeto Place.

  2. Chame PlacesClient.fetchPlace(). PlacesClient.findCurrentPlace() não oferece suporte ao campo de código do idioma.

  3. Use o método Place.getNameLanguageCode() para acessar o campo de código de idioma no objeto Place.

Definir código de região

O SDK do Places para Android (novo) adiciona o parâmetro de solicitação do código de região aos detalhes do lugar. O código da região é usado para formatar a resposta, especificado como um valor de código CLDR de dois caracteres. Esse parâmetro também pode ter um efeito enviesado nos resultados da pesquisa. Não há um valor padrão. É necessário ativar o novo SDK para definir o código da região.

Se o nome do país do campo de endereço na resposta corresponder ao código da região, o código do país será omitido do endereço.

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), e o código ISO 3166-1 é "gb" (tecnicamente, para a entidade "O Reino Unido da Grã-Bretanha e Irlanda do Norte"). O parâmetro pode afetar os resultados com base na legislação aplicável.

Exemplo de solicitação

Para conferir um exemplo completo, consulte Place Details (New).