O SDK do Places para Android é compatível com Place Details (legado). Se você conhece o SDK do Places para Android (legado), o Place Details (novo) 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).
Inicialize 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 a ele. O SDK Places para Android versão 3.3.0 e mais recente adiciona muitos novos valores de tipo. Para conferir a lista completa, consulte Tipos de lugares 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 lugares (novo), incluindo todos os tipos de lugares adicionados na versão 3.3.0.
SDK do Places para Android: retorna os enums definidos por
Place.Types
, que não inclui os novos tipos adicionados na versão 3.3.0 e posteriores.
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 autoria. Se você mostrar a avaliação no seu app, também será necessário exibir qualquer atribuição ou atribuição de 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
No SDK do Places para Android (legado), o método
Place.getName()
retorna uma string de texto com o nome de um lugar. Para preencher o objeto Place
com o nome do lugar, inclua o 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 do idioma, faça o seguinte:
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 do idioma no objetoPlace
.Chame
PlacesClient.fetchPlace()
.PlacesClient.findCurrentPlace()
não é compatível com o campo de código do idioma.Use o método
Place.getNameLanguageCode()
para acessar o campo de código de idioma no objetoPlace
.
Definir código de região
O SDK do Places para Android (novo) adiciona o parâmetro de solicitação do código da 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 de viés nos resultados da pesquisa. Não há valor padrão. É necessário ativar o novo SDK para definir o código da região.
Se o nome do país no campo de endereço da 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), enquanto o código ISO 3166-1 é "gb" (tecnicamente para a entidade "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 um exemplo completo, consulte Place Details (novo).