Pronto!

Para começar a desenvolver, acesse nossa documentação do desenvolvedor.

Ativar a Google Maps JavaScript API

Para começar, orientaremos você pelo Console do Desenvolvedor do Google para realizar algumas atividades:

  1. Criar ou selecionar um projeto
  2. Ativar a Google Maps JavaScript API e serviços relacionados
  3. Criar chaves apropriadas
Continuar

Guia de estilo

Com opções de estilo, você pode personalizar a apresentação de estilos de mapa Google padrão, alterando o visual dos componentes, como vias, estacionamentos, estabelecimentos e outros pontos de interesse. Assim como alterar o estilo desses recursos, você pode ocultá-los totalmente. Isso significa que você pode enfatizar componentes específicos do mapa ou fazer o mapa complementar o estilo da página em que está inserido.

Exemplos

A declaração de estilo em JSON a seguir deixa todos os componentes do mapa cinzas, colore a geometria de vias arteriais em azul e oculta totalmente as etiquetas das paisagens:

[
  {
    "featureType": "all",
    "stylers": [
      { "color": "#C0C0C0" }
    ]
  },{
    "featureType": "road.arterial",
    "elementType": "geometry",
    "stylers": [
      { "color": "#CCFFFF" }
    ]
  },{
    "featureType": "landscape",
    "elementType": "labels",
    "stylers": [
      { "visibility": "off" }
    ]
  }
]

O objeto JSON

Uma declaração de estilo JSON consiste nos dois elementos a seguir:

  • featureType (opcional) - os recursos a selecionar para essa modificação de estilo. Recursos são características geográficas do mapa, que incluem vias, estacionamentos, corpos hídricos e outros. Se você não especificar um recurso, todos os recursos serão selecionados.
  • elementType (opcional) - a propriedade do recurso específico a selecionar. Elementos são subpartes de um recurso, incluindo etiquetas e geometria. Se você não especificar um elemento, todos os elementos do recurso serão selecionados.
  • stylers - as regras a aplicar aos recursos e elementos selecionados. Os estilizadores indicam a cor, a visibilidade e o peso do recurso. Você pode aplicar um ou mais estilizadores a um recurso.

Para especificar um estilo, é preciso combinar um conjunto de seletores featureType e elementType e os stylers em uma matriz de estilo. Você pode definir qualquer combinação de recursos em uma única matriz. No entanto, há um limite para o número de estilos que se pode aplicar de uma vez só. Se a matriz de estilo exceder o limite de caracteres, nenhum estilo será aplicado.

O resto desta página tem mais informações sobre recursos, elementos e estilizadores.

featureType

O snippet em JSON a seguir seleciona todas as vias do mapa:

{
  "featureType": "road"
}

Recursos, ou tipos de recurso, são características geográficas do mapa, que incluem estradas, parques, corpos hídricos, estabelecimentos e outros.

Os recursos formam uma árvore de categorias, com all sendo a raiz. Se você não especificar um recurso, todos os recursos serão selecionados. Especificar um recurso de all produz o mesmo efeito.

Alguns recursos contêm recursos secundários que se especifica usando um ponto. Por exemplo, landscape.natural ou road.local. Se você só especificar o recurso primário, como road, os estilos definidos para o primário aplicam-se a todos os seus secundários, como road.local e road.highway.

Observe que recursos primários podem conter elementos não incluídos em todos os seus secundários.

Os seguintes recursos estão disponíveis:

  • all (padrão) seleciona todos os recursos.
  • administrative seleciona todas as áreas administrativas. A aplicação de estilo afeta somente as etiquetas de áreas administrativas, não de bordas nem preenchimento geográficos.
    • administrative.country seleciona países.
    • administrative.land_parcel seleciona partes de terra.
    • administrative.locality seleciona localidades.
    • administrative.neighborhood seleciona bairros.
    • administrative.province seleciona províncias.
  • landscape seleciona todas as paisagens naturais.
    • landscape.man_made seleciona estruturas construídas pelo homem.
    • landscape.natural seleciona recursos naturais.
    • landscape.natural.landcover seleciona propriedades da camada da superfície do solo.
    • landscape.natural.terrain seleciona propriedades de terreno.
  • poi seleciona todos os pontos de interesse.
    • poi.attraction seleciona locais turísticos.
    • poi.business seleciona estabelecimentos.
    • poi.government seleciona edifícios públicos.
    • poi.medical seleciona serviços de emergência, incluindo hospitais, farmácias, polícia, médicos e outros.
    • poi.park seleciona estacionamentos.
    • poi.place_of_worship seleciona locais de culto, incluindo igrejas, templos, mesquitas e outros.
    • poi.school seleciona escolas.
    • poi.sports_complex seleciona complexos esportivos.
  • road seleciona todas as vias.
    • road.arterial seleciona vias arteriais.
    • road.highway seleciona rodovias.
    • road.highway.controlled_access seleciona rodovias com acesso controlado.
    • road.local seleciona vias locais.
  • transit seleciona todas as estações e linhas de trânsito.
    • transit.line seleciona linhas de trânsito.
    • transit.station seleciona todas as estações de trânsito.
    • transit.station.airport seleciona aeroportos.
    • transit.station.bus seleciona pontos de ônibus.
    • transit.station.rail seleciona estações de trem e metrô.
  • water seleciona corpos hídricos.

elementType

O snippet em JSON a seguir seleciona as etiquetas de todas as vias locais:

{
  "featureType": "road.local",
  "elementType": "labels"
}

Elementos são subdivisões de um recurso. Uma via, por exemplo, é composta pela linha gráfica (a geometria) no mapa, e pelo texto que indica seu nome (uma etiqueta).

Os elementos a seguir estão disponíveis, mas observe que um recurso específico pode oferecer suporte a todos, alguns ou nenhum dos elementos:

  • all (padrão) selecione todos os elementos do recurso especificado.
  • geometry seleciona todos os elementos geométricos do recurso especificado.
    • geometry.fill seleciona apenas o preenchimento da geometria do recurso.
    • geometry.stroke seleciona apenas o traço da geometria do recurso.
  • labels seleciona as etiquetas de texto associadas ao recurso especificado.
    • labels.icon seleciona apenas o ícone exibido no rótulo do recurso.
    • labels.text seleciona apenas o texto do rótulo.
    • labels.text.fill seleciona apenas o preenchimento do rótulo. Normalmente, o preenchimento de um rótulo é renderizado como um contorno colorido que rodeia o texto do rótulo.
    • labels.text.stroke seleciona apenas o traço do texto do rótulo.

stylers

Estilizadores são opções de formatação aplicáveis a recursos e elementos de um mapa.

O snippet em JSON a seguir exibe um recurso em verde brilhante, usando um valor RGB:

"stylers": [
  { "color": "#99FF33" }
]

Esse snippet remove toda a intensidade da cor do recurso, independentemente da cor inicial. O efeito é renderizar a escala de cinza do recurso:

"stylers": [
  { "saturation": -100 }
]

Este snippet esconde o recurso totalmente:

    "stylers": [
      { "visibility": "off" }
    ]

As seguintes opções de estilo são oferecidas:

  • hue (uma string hexadecimal em RGB de formato #RRGGBB) indica a cor básica.

    Observação: Essa opção define o matiz ao mesmo tempo em que mantém a saturação e o tom especificados no estilo Google padrão (ou em outras opções de estilo que você definir no mapa). A cor resultante tem relação com o estilo do mapa de base. Se o Google fizer alguma alteração no estilo do mapa de base, ela afetará os recursos do seu mapa estilizados com hue. Se possível, é melhor usar um estilizador color absoluto.

  • lightness (um valor de ponto flutuante entre -100 e 100) indica a mudança percentual de brilho do elemento. Valores negativos reduzem o brilho (-100 especifica a cor preta) e valores negativos aumentam o brilho (+100 especifica a cor branca).

    Observação: Essa opção define o tom ao mesmo tempo em que mantém a saturação e o matiz especificados no estilo Google padrão (ou em outras opções de estilo que você definir no mapa). A cor resultante tem relação com o estilo do mapa de base. Se o Google fizer alguma alteração no estilo do mapa de base, ela afetará os recursos do seu mapa estilizados com lightness. Se possível, é melhor usar um estilizador color absoluto.

  • saturation (um valor de ponto flutuante entre -100 e 100) indica a mudança percentual na intensidade da cor básica a ser aplicada ao elemento.

    Observação: Essa opção define a saturação ao mesmo tempo em que mantém o matiz e o tom especificados no estilo Google padrão (ou em outras opções de estilo que você definir no mapa). A cor resultante tem relação com o estilo do mapa de base. Se o Google fizer alguma alteração no estilo do mapa de base, ela afetará os recursos do seu mapa estilizados com saturation. Se possível, é melhor usar um estilizador color absoluto.

  • gamma (um valor de ponto flutuante entre 0.01 e 10.0, onde 1.0 não aplica correções) indica a quantidade de correção de gama a ser aplicada ao elemento. As correções de gama modificam o tom das cores de maneira não linear, embora não afetem valores de branco e preto. Normalmente se usa esse recurso para modificar o contraste de vários elementos. Por exemplo, é possível modificar a gama para aumentar ou diminuir o contraste entre as margens e o interior dos elementos.

    Observação: Essa opção ajusta o tom relacionado ao estilo Google padrão usando uma curva de gama. Se o Google fizer alguma alteração no estilo do mapa de base, ela afetará os recursos do seu mapa estilizados com gama. Se possível, é melhor usar um estilizador color absoluto.

  • invert_lightness (se true) inverte o tom atual. Isso é útil, por exemplo, para alternar rapidamente para um mapa mais escuro com texto em branco.

    Observação: Essa opção simplesmente inverte o estilo Google padrão. Se o Google fizer alguma alteração no estilo do mapa de base, ela afetará os recursos do seu mapa estilizados com invert_lightness. Se possível, é melhor usar um estilizador color absoluto.

  • visibility (on, off ou simplified) indica se e como o elemento é exibido no mapa. Uma visibilidade simplified remove alguns recursos de estilo dos recursos afetados. Por exemplo, vias são simplificadas para linhas mais finas sem contornos e parques deixam de ter o texto dos rótulos, mas retêm o ícone do rótulo.
  • color (uma string hexadecimal em RGB de formato #RRGGBB) define a cor do recurso.
  • weight (um valor inteiro, maior ou igual a zero) define o peso do recurso, em pixels. Um valor alto de peso pode resultar em truncamento perto das margens da borda.

As regras de estilo se aplicam na ordem em que forem especificadas. Não combine operações em uma única operação de estilo. Em vez disso, defina cada operação como uma entrada separada na matriz de estilo.

Observação: A ordem é importante, pois algumas operações não são comutativas. Recursos e/ou elementos modificados por meio de operações de estilo (normalmente) já têm estilos. Caso haja estilos, as operações os modificam.

O modelo matiz, saturação e tom

Mapas estilizados usam o modelo matiz, saturação e tom (HSL, na sigla em inglês) para detonar cor nas operações de estilo. A tonalidade é a cor básica, a saturação é a intensidade dessa cor e o brilho é a quantidade relativa de branco ou preto na cor constituinte.

A correção de gama modifica o tom no espaço da cor, geralmente aumentando ou reduzindo o contraste. Além disso, o modelo de HSL define a cor dentro de um espaço coordenado, onde hue indica a orientação em uma paleta de cores e saturation e lightness indicam amplitudes em diferentes eixos. Tonalidades são medidas dentro de um espaço de cor RGB, que é similar à maioria dos espaços de cor RGB, mas sem os tons de preto e branco.

Modelo matiz, saturação e tom

Embora hue assuma um valor de cor hexadecimal HTML, só usa este valor para determinar a cor básica — ou seja, sua orientação na paleta de cores, não definindo saturação nem tom, que são indicados em separado como mudanças percentuais.

Por exemplo, você pode definir o matiz de verde puro como hue:0x00ff00 ou hue:0x000100. Ambas as matizes são idênticas. Ambos os valores apontam para o verde puro no modelo de cor HSL.

Uma paleta de cores RGB

Os valores em RGB de hue, que consiste em frações ideais de vermelho, verde e azul não indicam um matiz, porque nenhum desses valores indica uma orientação no espaço de coordenadas HSL. Alguns exemplos são "#000000" (preto), "#FFFFFF" (branco), e todos os tons puros de cinza. Para indicar preto, branco ou cinza, remova todos os valores de saturation (defina o valor como -100) e ajuste lightness.

Além disso, ao modificar recursos existentes que já têm um esquema de cores, alterar um valor como hue não altera os valores existentes para saturation ou lightness.

Enviar comentários sobre…

Google Maps JavaScript API
Google Maps JavaScript API
Precisa de ajuda? Acesse nossa página de suporte.