Neste tópico, apresentamos os requisitos de atribuição para todos os aplicativos desenvolvidos com o SDK do Places para Android, incluindo o serviço Place Autocomplete que faz parte da API. Para conferir mais termos da Plataforma Google Maps, consulte os Termos de Serviço da Plataforma Google Maps.
Políticas
Esta seção descreve as políticas relevantes para o SDK do Places para Android. As políticas fornecem diretrizes e requisitos de implementação prática para ajudar você a usar o serviço corretamente e de acordo com as expectativas da Plataforma Google Maps.
Exceções das restrições de armazenamento em cache
Observe que o ID de lugar, usado para identificar um local de maneira exclusiva, está
isento das restrições de armazenamento em cache.
Portanto, é permitido armazenar valores de ID de local indefinidamente.
Ele é retornado no campo place_id nas
respostas da API. Aprenda a salvar, atualizar e gerenciar IDs no guia de IDs de lugar.
Países e territórios do Espaço Econômico Europeu
Este produto tem Termos de Serviço diferentes para clientes com um endereço de faturamento no Espaço Econômico Europeu (EEE) e também pode ter funcionalidades diferentes. Antes de criar com a Plataforma Google Maps, revise os termos e informações específicos do EEE a seguir:
- Termos de Serviço da Plataforma Google Maps no EEE
- Termos de Serviço específicos da Plataforma Google Maps no EEE
- Perguntas frequentes sobre o EEE
- Requisitos de segurança rodoviária da Plataforma Google Maps
Se o endereço de faturamento não estiver no EEE, os seguintes Termos de Serviço serão aplicáveis:
- Termos de Serviço da plataforma do Google Maps
- Termos de Serviço específicos da Plataforma Google Maps
Requisitos de atribuição do Google Maps
Esta seção fornece requisitos e diretrizes de atribuição para mostrar o Google Maps e o conteúdo nos seus aplicativos.
Exemplo de atribuição
A seguir, confira um exemplo de atribuição para o Kit de Interface do Places.
Mostrar a atribuição do Google Maps
Você precisa seguir os requisitos de atribuição do Google Maps ao mostrar conteúdo das APIs da Plataforma Google Maps no seu app ou site. Não é necessário adicionar uma atribuição extra se o conteúdo for mostrado em um mapa do Google em que a atribuição já esteja visível.
Atribuição do Google Maps incluída
Para a atribuição do Google Maps que já é fornecida pela Plataforma Google Maps em a interface do usuário, como no Kit de Interface do Places:
- Não remova a atribuição incluída, independentemente de onde ela seja mostrada. Não altere, oculte, ou obscureça a atribuição e verifique se ela está claramente visível no plano de fundo.
- Sempre diferencie visualmente o conteúdo da Plataforma Google Maps de outros conteúdos usando indicações da interface como uma borda, cor de plano de fundo, sombra ou espaço em branco suficiente.
- Ao fazer modificações visuais, você precisa seguir todos os requisitos de atribuição do Google Maps.
Logotipo e atribuição de texto do Google Maps
A atribuição precisa ser feita com o logotipo do Google Maps sempre que possível. Em casos em que o espaço é limitado, o texto Google Maps é aceitável. É necessário que os usuários finais sempre saibam qual conteúdo é fornecido pelo Google Maps.
Atribuição de logotipo
Siga estes requisitos para usar o logotipo do Google Maps no seu app ou site.Fazer o download dos logotipos do Google Maps
Use os arquivos de logotipo oficiais do Google Maps. Faça o download dos logotipos abaixo e siga as diretrizes desta seção.
Fazer o download dos recursos de atribuição do Google MapsAo usar o logotipo do Google Maps, siga estas diretrizes.
- Não modifique o logotipo de maneira alguma.
- Mantenha a proporção do logotipo para evitar distorção.
- Use o logotipo com contorno em um plano de fundo com muitos detalhes, como um mapa ou uma imagem.
- Use o logotipo sem contorno em um plano de fundo simples, como uma cor sólida ou um gradiente sutil.
Especificação do tamanho do logotipo
Siga estas especificações de tamanho para o logotipo do Google Maps:- Altura mínima do logotipo: 16 dp
- Altura máxima do logotipo: 19 dp
- Espaço livre mínimo do logotipo: 10 dp à esquerda, à direita e na parte de cima, 5 dp na parte de baixo
Para saber mais sobre dp, consulte Densidade de pixels no site do Material Design.
Acessibilidade do logotipo
Siga estes requisitos de acessibilidade para o logotipo do Google Maps:- Mantenha um contraste acessível entre o logotipo e o plano de fundo.
- Inclua um rótulo de acessibilidade com o texto Google Maps.
Atribuição de texto
Se o tamanho da interface não for compatível com o uso do logotipo do Google Maps, você poderá escrever Google Maps no texto. Siga estas diretrizes:
- Não modifique o texto Google Maps de maneira alguma:
- Não altere a capitalização de Google Maps
- Não quebre Google Maps em várias linhas
- Não localize Google Maps para outro idioma.
- Impeça que os navegadores traduzam Google Maps usando o atributo HTML
translate="no".
Estilize o texto do Google Maps conforme descrito na tabela a seguir:
Requisitos de estilo de texto do Google Maps Propriedade Estilo Família de fontes Roboto. O carregamento da fonte é opcional. Família de fontes substitutas Qualquer fonte Sans Serif já usada no seu produto ou "Sans-Serif" para invocar a fonte padrão do sistema Estilo da fonte Normal Espessura da fonte 400 Cor da fonte Branco, preto (#1F1F1F) ou cinza (#5E5E5E). Mantenha o contraste acessível (4,5:1) com o plano de fundo. Tamanho da fonte Tamanho mínimo da fonte: 12 sp
Tamanho máximo da fonte: 16 sp
Para saber mais sobre sp, consulte Unidades de tamanho da fonte no site do Material Design.Espaçamento entre letras Normal
CSS de exemplo
O CSS a seguir renderiza o Google Maps com o estilo tipográfico e a cor adequados em um plano de fundo branco ou claro.
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap'); .GMP-attribution { font-family: Roboto, Sans-Serif; font-style: normal; font-weight: 400; font-size: 1rem; letter-spacing: normal; white-space: nowrap; color: #5e5e5e; }
Requisitos visuais
Siga estes requisitos para o tratamento visual da atribuição do Google Maps.Posicione a atribuição perto da parte de cima ou de baixo do conteúdo e no mesmo contêiner visual. Para uma única linha de conteúdo, a atribuição pode ser posicionada à direita ou à esquerda.
Diferencie visualmente o conteúdo da Plataforma Google Maps de outros conteúdos usando indicações da interface, como uma borda, cor de plano de fundo, sombra ou espaço em branco suficiente.
- Não represente o Google Maps de forma incorreta atribuindo-o a conteúdo que não seja da Plataforma Google Maps.
- Verifique se a atribuição está sempre visível e legível. Nunca remova, oculte, obscureça ou modifique.
As figuras a seguir mostram exemplos desses requisitos visuais.
Provedores de dados de terceiros
Alguns dados e imagens nos nossos produtos de mapas têm origens diferentes do Google. Para alguns produtos, como a API Map Tiles, podemos fornecer a atribuição necessária ao provedor de dados de terceiros. Quando isso acontecer, o texto da sua atribuição deverá mostrar o nome "Google Maps" e os provedores de dados relevantes, como "Dados do mapa: Google, Maxar Technologies." Quando o Google fornece atribuição de terceiros, apenas incluir o nome e o logotipo do Google Maps não é uma atribuição correta.
Outros requisitos de atribuição
Siga estas instruções para recuperar atribuições de terceiros e mostrá-las no seu app.
Recuperar atribuições de um lugar
Se o app mostrar informações obtidas chamando get place by ID, ele também precisará mostrar as atribuições de terceiros para os detalhes de local obtidos.
A API retorna um
Place
objeto. Para recuperar atribuições do Place objeto, chame
Place.getAttributions().
O método retorna uma List de objetos String ou nulo se não houver atribuições para mostrar.
String placeId = "INSERT_PLACE_ID_HERE"; List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME); FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields); placesClient.fetchPlace(request).addOnSuccessListener((response) -> { Place place = response.getPlace(); textView.append("Place found: " + place.getName()); List<String> attributions = place.getAttributions(); if (attributions != null) { StringBuilder stringBuilder = new StringBuilder("Attributions: "); for (String attribution : attributions) { stringBuilder.append(attribution).append("\n"); } textView.append(stringBuilder.toString()); }}).addOnFailureListener((exception) -> { if (exception instanceof ApiException) { // Handle the error. } } );
Mostrar atribuições de uma foto
Mostre as atribuições de todas fotos de lugares que aparecem no seu app.
PhotoMetadatapode conter um dos dois tipos de atribuições:
- Attributions, uma string de atribuição acessada por
PhotoMetadata.getAttributions(). - AuthorAttributions, um
AuthorAttributionsobjeto acessado porPhotoMetadata.getAuthorAttributions().
Para receber as atribuições de string de uma foto, chame PhotoMetadata.getAttributions(). O método retorna uma sequência de caracteres HTML ou uma string vazia se não houver atribuições para mostrar.
// Get the photo metadata from the Place object. PhotoMetadata photoMetadata = place.getPhotoMetadatas().get(0); // Get the attribution text. String attributions = photoMetadata.getAttributions();
Para receber as atribuições de autor de uma foto, chame PhotoMetadata.getAuthorAttributions(). O método retorna um objeto AuthorAttributions. Esse objeto contém um List
de AuthorAttribution
objetos, um por atribuição de autor.
// Get the photo metadata from the Place object. PhotoMetadata photoMetadata = place.getPhotoMetadatas().get(0); // Get the author attributions object. AuthorAttributions authorAttributions = photoMetadata.getAuthorAttributions(); List<AuthorAttribution> authorAttributionList = authorAttributions.asList();
Atribuições de resultados da pesquisa
Na Europa, ao usar a classificação não adulterada do Google, os produtos de pesquisa precisam ter um texto explicativo a no máximo um clique de distância que descreva os principais fatores e a ponderação deles que determinam a classificação dos resultados da pesquisa. Texto explicativo:
Cabeçalho: Sobre estes resultados
Corpo: quando você pesquisa empresas ou lugares perto de um local, o Google Maps mostra resultados locais. Vários fatores, principalmente relevância, distância e destaque, são combinados para ajudar a encontrar os melhores resultados para sua pesquisa.
Botão 1: Saiba mais
"Saiba mais" texto precisa ter um link para um artigo da Central de Ajuda.
Botão 2: OK
Mostrar uma avaliação
Um objeto Place pode conter até cinco avaliações, em que cada avaliação
é representada por um
Review
objeto. Você pode mostrar essas avaliações no seu app, caso queira.
Quando elas têm contribuição de usuários do Google, inclua o nome do autor em um lugar próximo. Inclua a foto do autor quando ela aparece no campo de atribuição do objeto Review e também um link para o perfil. Exemplo da avaliação de um parque:

O Google também recomenda que você mostre como as avaliações estão sendo classificadas para o usuário final.
Para acessar as avaliações, chame
Place.getReviews():
// Specify the fields to return. final List<Place.Field> placeFields = Arrays.asList(Place.Field.REVIEWS); // Construct a request object, passing the place ID and fields array. final FetchPlaceRequest request = FetchPlaceRequest.newInstance("INSERT_PLACE_ID_HERE", placeFields); placesClient.fetchPlace(request).addOnSuccessListener((response) -> { Place place = response.getPlace(); List<Review> reviews = place.getReviews(); // For loop for iterating over the List for (int i = 0; i < reviews.size(); i++) { // For each review, get the Review object. Review placeReview = reviews.get(i); // Get any attribution and author attribution. String reviewAttribution = placeReview.getAttribution(); AuthorAttribution authorAttribution = placeReview.getAuthorAttribution(); // Display the review contents and attributions as necessary. } }).addOnFailureListener((exception) -> { if (exception instanceof ApiException) { // Handle the error. } });
Exibir atribuições de terceiros
As atribuições a provedores terceirizados contêm conteúdo e links em formato HTML que você precisa preservar e mostrar ao usuário no formato em que são fornecidos. O Google recomenda mostrar essas informações abaixo dos detalhes do lugar.
A API gera atribuições para todos os lugares usados pelo app. As atribuições são fornecidas por chamada de API, não por lugar.
Uma maneira de mostrar as atribuições é com um
TextView.
Exemplo:
TextView attributionsText = (TextView) findViewById(R.id.attributions); String thirdPartyAttributions = place.getAttributions(); attributionsText.setText(thirdPartyAttributions);
Exemplo de uma atribuição de terceiros
Listings by <a href="https://www.example.com/">Example Company</a>
Preenchimento automático de endereços de usuários finais
Quando um usuário final usa a funcionalidade de preenchimento automático no aplicativo do cliente para digitar um endereço de rua e esse endereço de rua teria sido fornecido de forma completa e precisa pelo usuário final sem o preenchimento automático, o endereço selecionado pelo usuário final não está sujeito às restrições de conteúdo do Google Maps no seu contrato da Plataforma Google Maps. Essa exceção se aplica apenas ao endereço de rua selecionado pelo usuário final e somente para a transação específica desse usuário final. Ela não se aplica à lista de endereços sugeridos fornecida pela funcionalidade de preenchimento automático ou a outros conteúdos do Google Maps. Essa exceção não se aplica a nenhuma funcionalidade de pesquisa de PDI ou endereço oferecida por outros serviços da Plataforma Google Maps.

Na imagem anterior, a lista de endereços à esquerda ainda está sujeita às restrições de conteúdo do Google Maps. Depois que o usuário final seleciona o endereço escolhido, esse endereço não está sujeito às restrições de conteúdo do Google Maps apenas para a transação aplicável desse usuário final.