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 umMap<Marker, Object>
separado. Também é possível associar um IDString
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 | |
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 |
hashCode()
|
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 | |
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 | |
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)
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
, enull
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, retornafalse
.
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 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
|
---|