Marcador

classe final pública Marker estende o objeto

Um ícone colocado em um determinado ponto na superfície do mapa. O ícone do marcador é desenhado na tela do dispositivo, e não na superfície do mapa. Ou seja, ele não muda necessariamente de orientação devido a rotações, inclinação ou zoom do mapa.

Um marcador tem as seguintes propriedades:

Alfa
Define a opacidade do marcador. O padrão é 1.0.
Anchor
O ponto na imagem que será colocado na posição LatLng do marcador. O padrão é 50% da esquerda e da parte de baixo da imagem.
Cargo
O valor LatLng para a posição do marcador no mapa. Você poderá alterar esse valor a qualquer momento se quiser mover o marcador.
Título
Uma string de texto que é mostrada em uma janela de informações quando o usuário toca no marcador. É possível alterar esse valor a qualquer momento.
Snippet
O texto adicional que é exibido abaixo do título. É possível alterar esse valor a qualquer momento.
Icon
Um bitmap que é exibido para o marcador. Se o ícone não for definido, será exibido um ícone padrão. Você pode especificar uma cor alternativa para o ícone padrão usando defaultMarker(float).
Status de arrastar
Se você quiser permitir que o usuário arraste o marcador, defina essa propriedade como true. É possível alterar esse valor a qualquer momento. O padrão é false.
Visibilidade
Por padrão, o marcador fica visível. Para tornar o marcador invisível, defina esta propriedade como false. É possível alterar esse valor a qualquer momento.
Plano ou outdoor
Se o marcador for plano em relação ao mapa, ele vai permanecer preso no mapa conforme a câmera gira e inclina-se, mas ainda permanecerá do mesmo tamanho que o zoom da câmera, ao contrário de um GroundOverlay. Se for um outdoor, o marcador vai ser sempre desenhado de frente para a câmera, além de girar e inclinar com a câmera. O padrão é um outdoor (false)
Rotação
A rotação do marcador em graus no sentido horário em torno do ponto de fixação do marcador. O eixo de rotação é perpendicular ao marcador. Uma rotação de 0 corresponde à posição padrão do marcador. Quando o marcador é plano no mapa, a posição padrão é alinhada ao norte, e a rotação mantém o marcador sempre plano. Quando ele é um outdoor, a posição padrão aponta para cima, e a rotação o coloca sempre de frente para a câmera. O valor padrão é 0.
zIndex
A ordem de desenho do marcador. Os marcadores são desenhados na ordem do zIndex, com o marcador zIndex mais alto desenhado no topo. Ao definir a propriedade zIndex de cada marcador, você pode controlar qual ponto de toque seu usuário tem mais chances de atingir. O valor padrão é 0.
Tag
Um Object associado ao marcador. Por exemplo, Object pode conter dados sobre o que o marcador representa. Isso é mais fácil do que armazenar um Map<Marker, Object> separado. Também é possível associar um ID String correspondente ao ID de um conjunto de dados. O SDK do Google Maps para Android não lê nem grava essa propriedade.

Os métodos nessa classe precisam ser chamados na linha de execução de interface do Android. Caso contrário, uma IllegalStateException vai ser gerada no momento da execução.

Exemplo

GoogleMap map = ... // get a map.
 // Add a marker at San Francisco.
 Marker marker = map.addMarker(new MarkerOptions()
     .position(new LatLng(37.7750, 122.4183))
     .title("San Francisco")
     .snippet("Population: 776733"));
 

Guia do desenvolvedor

Para ver mais informações, leia o guia do desenvolvedor sobre Marcadores.

Resumo de classes aninhadas

@interface Marker.CollisionBehavior Indica como o marcador é tratado quando se envolve em uma colisão com outros marcadores ou rótulos de mapa básico. 

Resumo do método público

boolean
igual a(objeto "outro")
Testa se esse Marker é igual a outro.
float
getAlpha()
Recebe o alfa do marcador.
String
getId()
Extrai o ID desse marcador.
LatLng
getPosition()
Retorna a posição do marcador.
float
getRotation()
Recebe a rotação do marcador.
String
getSnippet()
Extrai o snippet do marcador.
Objeto
getTag()
Recebe a tag do marcador.
String
getTitle()
Recebe o título do marcador.
float
getZIndex()
Retorna o zIndex do marcador.
int
void
hideInfoWindow()
Oculta a janela de informações se ela for mostrada neste marcador.
boolean
isDraggable()
Recupera a capacidade de arrastar do marcador.
boolean
isFlat()
Recebe a configuração simples do marcador.
boolean
isInfoWindowShown()
Retorna se a janela de informações está sendo exibida acima desse marcador.
boolean
isVisible()
Recebe a configuração de visibilidade deste marcador.
void
remove()
Remove este marcador do mapa.
void
setAlpha(alfa flutuante)
Define o alfa (opacidade) do marcador.
void
setAnchor(anchorU flutuante, âncoraV flutuante)
Define o ponto de fixação do marcador.
void
setDraggable(booleano arrastável)
Define a capacidade de arrastar do marcador.
void
setFlat(booleano simples)
Define se este marcador precisa ficar plano em relação ao true do mapa ou em um outdoor voltado para a câmera false.
void
setIcon(BitmapDescriptor iconDescriptor)
Define o ícone do marcador.
void
setInfoWindowAnchor(anchorU flutuante, anchorV flutuante)
Especifica o ponto na imagem do marcador em que a janela de informações vai ser ancorada quando ela for mostrada.
void
setPosition(LatLng latlng)
Define o local do marcador.
void
setRotation(rotação flutuante)
Define a rotação do marcador em graus no sentido horário em relação ao ponto de fixação do marcador.
void
setSnippet(snippet de string)
Define o snippet do marcador.
void
setTag(tag de objeto)
Define a tag do marcador.
void
setTitle(título da string)
Define o título do marcador.
void
setVisible(booleano visível)
Define a visibilidade deste marcador.
void
setZIndex(zIndex flutuante)
Define o zIndex do marcador.
void
showInfoWindow()
Mostra a janela de informações desse marcador no mapa, se o marcador for isVisible().

Resumo do método herdado

Métodos públicos

public booleano é igual a (Outro objeto)

Testa se esse Marker é igual a outro.

Parâmetros
Outras um Object.
Retorna
  • true se os dois objetos forem o mesmo, ou seja, == other.

public float getAlpha ()

Recebe o alfa do marcador.

Retorna
  • o alfa do marcador no intervalo [0, 1].

public String getId ()

Extrai o ID desse marcador. O ID será exclusivo entre todos os marcadores em um mapa.

Retorna
  • o ID deste marcador.

public LatLng getPosition ()

Retorna a posição do marcador.

Retorna
  • Um objeto LatLng que especifica a posição atual do marcador.

public float getRotation ()

Recebe a rotação do marcador.

Retorna
  • a rotação do marcador em graus no sentido horário a partir da posição padrão.

public String getSnippet ()

Extrai o snippet do marcador.

Retorna
  • String com o snippet do marcador.

Objeto público getTag ()

Recebe a tag do marcador.

Retorna
  • a tag se ela tiver sido definida com setTag, e null se nenhuma tag tiver sido definida.

public String getTitle ()

Recebe o título do marcador.

Retorna
  • String com o título do marcador.

public float getZIndex ()

Retorna o zIndex do marcador.

Retorna
  • o zIndex deste marcador.

public int hashCode ()

public void hideInfoWindow ()

Oculta a janela de informações se ela for mostrada neste marcador.

Este método não terá efeito se o marcador não estiver visível.

public boolean isDraggable ()

Recupera a capacidade de arrastar do marcador. Quando um marcador é arrastável, o usuário pode movê-lo pelo usuário ao tocar nele e mantê-lo pressionado.

Retorna
  • true se o marcador for arrastável. Caso contrário, retorna false.

public booleano isFlat ()

Recebe a configuração simples do marcador.

Retorna
  • true se o marcador for plano em relação ao mapa; false se o marcador estiver de frente para a câmera.

public boolean isInfoWindowShown ()

Retorna se a janela de informações está sendo exibida acima desse marcador. Ela não considera se ela está ou não visível na tela.

public boolean isVisible ()

Recebe a configuração de visibilidade deste marcador. Isso não indica se o marcador está na janela de visualização da tela. Indica se o marcador será desenhado se estiver na janela de visualização da tela.

Retorna
  • a visibilidade deste marcador.

public void remover ()

Remove este marcador do mapa. Depois que um marcador é removido, o comportamento de todos os métodos dele fica indefinido.

public void setAlpha (flutuante alfa)

Define o alfa (opacidade) do marcador. Esse valor é de 0 a 1, em que 0 significa que o marcador é completamente transparente, e 1 significa que o marcador é completamente opaco.

Parâmetros
amor

public void setAnchor (float anchorU, float anchorV)

Define o ponto de fixação do marcador.

A âncora especifica o ponto na imagem do ícone que está ancorado à posição do marcador na superfície da Terra.

O ponto de fixação é especificado no espaço contínuo [0.0, 1.0] x [0.0, 1.0], em que (0, 0) é o canto superior esquerdo da imagem e (1, 1) é o canto inferior direito. O ponto de fixação em uma imagem de W x H é o ponto de grade discreto mais próximo em uma grade (W + 1) x (H + 1), obtido ao dimensionar o arredondamento. Por exemplo, em uma imagem 4 x 2, o ponto de fixação (0,7, 0,6) é resolvido para o ponto da grade em (3, 1).

 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----+-----+
 |     |     |   X |     |   (U, V) = (0.7, 0.6)
 |     |     |     |     |
 *-----+-----+-----+-----*
 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----X-----+   (X, Y) = (3, 1)
 |     |     |     |     |
 |     |     |     |     |
 *-----+-----+-----+-----*
 

Parâmetros
anchorU Coordenada u da âncora, como uma proporção da largura da imagem (no intervalo [0, 1]).
anchorV Coordenada v da âncora, como uma proporção da altura da imagem (no intervalo [0, 1]).

public void setDraggable (boolean draggable)

Define a capacidade de arrastar do marcador. Quando um marcador é arrastável, o usuário pode movê-lo pelo usuário ao tocar nele e mantê-lo pressionado.

Parâmetros
draggable

public void setFlat (booleano plano)

Define se este marcador precisa ficar plano em relação ao true do mapa ou em um outdoor voltado para a câmera false.

Parâmetros
fixas

public void setIcon (BitmapDescriptor iconDescriptor)

Define o ícone do marcador.

Parâmetros
iconDescriptor Se o valor for nulo, o marcador padrão será usado.

public void setInfoWindowAnchor (float anchorU, float anchorV)

Especifica o ponto na imagem do marcador em que a janela de informações vai ser ancorada quando ela for mostrada. Isso é especificado no mesmo sistema de coordenadas que a âncora. Consulte setAnchor(float, float) para mais detalhes. O padrão é a parte superior central da imagem.

Parâmetros
anchorU Coordenada u da âncora da janela de informações, como uma proporção da largura da imagem (no intervalo [0, 1]).
anchorV Coordenada v da âncora da janela de informações, como uma proporção da altura da imagem (no intervalo [0, 1]).

public void setPosition (LatLng latlng)

Define o local do marcador.

Parâmetros
latlng

public void setRotation (flutuação)

Define a rotação do marcador em graus no sentido horário em relação ao ponto de fixação do marcador. O eixo de rotação é perpendicular ao marcador. Uma rotação de 0 corresponde à posição padrão dele.

Parâmetros
rotação

public void setSnippet (Snippet de string)

Define o snippet do marcador.

Parâmetros
snippet se o valor for nulo, o snippet será apagado.

public void setTag (tag de objeto)

Define a tag do marcador.

Você pode usar essa propriedade para associar um Object arbitrário a esse marcador. Por exemplo, Object pode conter dados sobre o que o marcador representa. Isso é mais fácil do que armazenar um Map<Marker, Object> separado. Como outro exemplo, você pode associar um ID String correspondente ao ID de um conjunto de dados. O SDK do Google Maps para Android não lê nem grava essa propriedade. É sua responsabilidade chamar setTag(null) para limpar a tag quando você não precisar mais dela e evitar vazamentos de memória no app.

Parâmetros
tag se nulo, a tag é apagada.

public void setTitle (Título da string)

Define o título do marcador.

Parâmetros
título se nulo, o título é apagado.

public void setVisible (boolean visible)

Define a visibilidade deste marcador. Se definida como false e uma janela de informações estiver sendo mostrada para esse marcador, a janela será ocultada.

Parâmetros
visível

public void setZIndex (float zIndex)

Define o zIndex do marcador.

Parâmetros
zIndex

public void showInfoWindow ()

Mostra a janela de informações desse marcador no mapa, se o marcador for isVisible().

Gera
IllegalArgumentException se marker não estiver neste mapa