Políticas para API Maps JavaScript

Neste tópico, apresentamos os requisitos de atribuição para todos os aplicativos desenvolvidos com a API Maps JavaScript, 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.

Termos de Uso e Política de Privacidade

Se você desenvolver um aplicativo com a API Maps JavaScript, disponibilize os Termos de Uso e uma Política de Privacidade que atendam às diretrizes listadas no Contrato com o Google:

  • Os Termos de Uso e a Política de Privacidade precisam ser disponibilizados publicamente.
  • Declare explicitamente nos Termos de Uso do seu aplicativo que, ao usá-lo, as pessoas estão sujeitas aos Termos de Serviço do Google.
  • Avise aos usuários na sua Política de Privacidade que está usando as APIs Google Maps e incorpore a Política de Privacidade do Google para referência.

O lugar recomendado para os Termos de Uso e a Política de Privacidade depende da plataforma do aplicativo.

Aplicativos para dispositivos móveis

Se estiver desenvolvendo um app para dispositivos móveis, recomendamos que coloque um link para os Termos de Uso e a Política de Privacidade na página de download da loja de aplicativos relevante e no menu de configurações do aplicativo.

Aplicativos da Web

Se estiver desenvolvendo um aplicativo da Web, recomendamos que coloque um link para os Termos de Uso e a Política de Privacidade no rodapé do seu site.

Pré-busca, armazenamento em cache ou armazenamento de conteúdo

Aplicativos que usam a API Maps JavaScript estão vinculados aos termos do seu Contrato com o Google. Sujeito aos termos do Contrato, não faça pré-busca, indexação, armazenamento em cache ou no local de qualquer Conteúdo, exceto de acordo com as condições limitadas declaradas nos termos.

O ID de lugar, usado para identificar um local de maneira exclusiva, está isento das restrições de armazenamento em cache. Ele é retornado no campo "place_id" nas respostas da API Maps JavaScript. Aprenda a salvar, atualizar e gerenciar IDs no guia de IDs de lugar.

Mostrar resultados da API Maps JavaScript

Mostre os resultados da API Maps JavaScript no mapa do Google ou sem um mapa. Para colocar os resultados da API Maps JavaScript em um mapa, use o Google Maps. Não é permitido usar dados da API Maps JavaScript em um mapa que não seja do Google.

O logotipo do Google é incluído quando o aplicativo mostra dados em um mapa do Google e não pode ser alterado. Aplicativos que mostram dados do Google na mesma tela que um mapa não precisam fornecer atribuições adicionais ao Google.

Se o aplicativo mostrar dados em uma página ou visualização que não tem um mapa do Google, inclua o logotipo. Por exemplo, se o aplicativo apresentar dados do Google em uma guia e um mapa do Google em outra, a primeira precisa incluir o logotipo do Google. Se o aplicativo usar campos de pesquisa com ou sem preenchimento automático, mostre o logotipo inline.

O logotipo do Google deve ficar no canto inferior esquerdo do mapa e as informações de atribuição no canto inferior direito. Eles precisam estar no mapa apresentado como um todo, não abaixo dele ou em outro lugar no aplicativo. Exemplo com o logotipo do Google no canto inferior esquerdo do mapa e a atribuição no canto inferior direito.

posição da atribuição da política

O arquivo ZIP a seguir contém o logotipo do Google nos tamanhos corretos para aplicativos para computador, Android e iOS. Não redimensione nem modifique esses logotipos.

Download: google_logo.zip

Não modifique a atribuição. Não remova, oculte ou corte as informações de atribuição. Não é permitido usar os logotipos do Google inline (por exemplo, "Estes mapas são do [Google_logo]").

Mantenha a atribuição próxima. Se for usar capturas de tela de imagens do Google fora da incorporação direta, inclua a atribuição padrão como aparece na imagem. Se necessário, personalize o estilo e a posição do texto de atribuição, contanto que o texto fique próximo ao conteúdo e seja legível para a pessoa comum. Não distancie a atribuição do conteúdo, como no fim do livro, nos créditos dos arquivos ou programa ou no rodapé do site.

Inclua provedores de dados de terceiros. Alguns dados e imagens nos nossos produtos de mapas têm origens diferentes do Google. Se você usar essas imagens, o texto da atribuição deverá mostrar o nome "Google" e os provedores de dados relevantes, como "Dados do mapa: Google, Maxar Technologies". Apenas incluir o nome e o logotipo do Google quando provedores de dados de terceiros são citados nas imagens não é uma atribuição correta.

Se estiver usando a Plataforma Google Maps em um dispositivo em que não é prático mostrar a atribuição, entre em contato com a equipe de vendas do Google para discutir as licenças adequadas ao seu caso de uso.

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

Caso seu app mostre informações de avaliações chamando Place.fetchFields, ele também precisa apresentar as atribuições de terceiros para os detalhes de local obtidos.

A API retorna um objeto Place. Para recuperar atribuições do objeto Place, use a propriedade Place.attributions, que é retornada com todas as solicitações e não precisa ser especificada com os campos. Ela retorna uma List de objetos String ou null, caso não haja atribuições para mostrar. Exemplo de código para obter um lugar e listar as atribuições.

  // Use place ID to create a new Place instance.
  const place = new Place({
      id: 'ChIJB9a4Ifl744kRlpz0BQJzGQ8', // Crazy Good Kitchen
  });

  // Call fetchFields, passing the desired data fields.
  await place.fetchFields({
      fields: ["displayName", "formattedAddress", "location", "reviews"],
  });

  // Check for any place attributions.
  if (!place.attributions) {
      console.log('No attributions were found.');
      return;
  } else {
      // Log the place attribution
      for (var attribution of place.attributions) {
          console.log(attribution);
      }
  }

  

Mostrar uma avaliação

Um objeto Place contém até cinco avaliações, e cada uma é representada por um objeto Review. 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:

Atribuição do autor

Exemplo de como obter um lugar, conferir as avaliações e mostrar os dados da primeira avaliação:

  // Use place ID to create a new Place instance.
  const place = new Place({
      id: 'ChIJB9a4Ifl744kRlpz0BQJzGQ8', // Crazy Good Kitchen, Boston MA
  });

  // Call fetchFields, passing "reviews" and other needed fields.
  await place.fetchFields({
      fields: ["displayName", "formattedAddress", "location", "reviews"],
  });

  // If there are any reviews display the first one.
  if (!place.reviews) {
      console.log('No reviews were found.');
  } else {
      // Log the review count so we can see how many there are.
      console.log("REVIEW COUNT: " + place.reviews.length);

      // Get info for the first review.
      let reviewRating = place.reviews[0].rating;
      let reviewText = place.reviews[0].text;
      let authorName = place.reviews[0].authorAttribution.displayName;
      let authorUri = place.reviews[0].authorAttribution.uri;

      // Create a bit of HTML to add to the info window
      const contentString =
        '<div id="title"><b>' + place.displayName + '</b></div>' +
        '<div id="address">' + place.formattedAddress + '</div>' +
        '<a href="' + authorUri + '" target="_blank">Author: ' + authorName + '</a>' +
        '<div id="rating">Rating: ' + reviewRating + ' stars</div>' +
        '<div id="rating""><p>Review: ' + reviewText + '</p></div>';

      // Create an info window.
      infoWindow = new InfoWindow({
          content: contentString,
          ariaLabel: place.displayName,
      });

      // Add a marker for the place.
      const marker = new AdvancedMarkerElement({
          map,
          position: place.location,
          title: place.displayName,
      });

      // Show the info window.
      infoWindow.open({
          anchor: marker,
          map,
      });
  }
  

Mostrar atribuições de uma foto

Mostre as atribuições do autor de todas fotos que aparecem no seu app. A matriz photos contém os detalhes da foto em um objeto Place de uma resposta. Inclua o campo de dados photos na solicitação para adicionar a matriz photos à resposta.

Cada elemento da matriz de fotos é uma instância de Photo, que contém a matriz authorAttributions do tipo "AuthorAttribution". Os campos do objeto AuthorAttribution são strings que contêm displayName, uri e photoUri da atribuição. Se não houver atribuições, a string estará vazia.

Diretrizes de estilo de uma atribuição do Google

Estas são as diretrizes de estilo para atribuições do Google em CSS e HTML, caso não possa usar o logotipo para download do Google.

Espaço livre

O espaço livre ao redor do logotipo completo deve ser pelo menos igual à altura do "G" em Google.

O espaço entre a cópia da atribuição e o logotipo deve ter metade da largura do "G".

Legibilidade

Apresente uma assinatura clara, legível e na variação de cor adequada ao segundo plano. Garanta o contraste correto para a variação de logotipo selecionada.

Cor

Em segundo plano branco ou claro que usa um intervalo de 0% a 40% de tonalidade de preto, o texto deve ser no cinza 700 do Google Material.

Google
#5F6368
RGB 95 99 104
HSL 213 5 39
HSB 213 9 41

Em segundo plano escuro ou em fotografia e padrões simples, use branco para a assinatura e a atribuição.

Google
#FFFFFF
RGB 255 255 255
HSL 0 0 100
HSB 0 0 100

Fonte

Use Roboto.

CSS de exemplo

Aplique o CSS a seguir no texto "Google" para gerar um resultado com a fonte, a cor e o espaçamento apropriados em segundo plano branco ou claro.

font-family: Roboto;
font-style: normal;
font-weight: 500;
font-size: 16px;
line-height: 16px;
padding: 16px;
letter-spacing: 0.0575em; /* 0.69px */
color: #5F6368;