Marcador

la clase final pública Marker extiende el objeto

Un ícono ubicado en un punto específico de la superficie del mapa. Los iconos de marcadores se dibujan orientados respecto de la pantalla del dispositivo y no de la superficie del mapa; es decir, no se modifican necesariamente la orientación debido a rotaciones, inclinaciones o acercamientos del mapa.

Un marcador tiene las siguientes propiedades:

Alfa
Establece la opacidad del marcador. El valor predeterminado es 1.0.
Anclaje
Es el punto en la imagen que se colocará en la posición LatLng del marcador. El valor predeterminado es el 50% del lado izquierdo de la imagen y en su parte inferior.
Cargo
Es el valor LatLng para la posición del marcador en el mapa. Puedes cambiar este valor en cualquier momento si deseas mover el marcador.
Título
Una string de texto que se muestra en una ventana de información cuando el usuario presiona el marcador. Puedes cambiar este valor en cualquier momento.
Fragmento
Texto adicional que se muestra debajo del título. Puedes cambiar este valor en cualquier momento.
Ícono
Un mapa de bits que se muestra para el marcador. Si no lo estableces, se mostrará un ícono predeterminado. Puedes especificar una coloración alternativa para el ícono predeterminado con defaultMarker(float).
Estado del arrastre
Si quieres permitir que el usuario arrastre el marcador, establece esta propiedad en true. Puedes cambiar este valor en cualquier momento. El valor predeterminado es false.
Visibilidad
De forma predeterminada, el marcador es visible. Para hacer que el marcador sea invisible, establece esta propiedad en false. Puedes cambiar este valor en cualquier momento.
Plano o cartel
Si el marcador se encuentra plano sobre el mapa, permanecerá atascado en el mapa a medida que la cámara gire e incline, pero seguirá teniendo el mismo tamaño que el zoom de la cámara, a diferencia de un objeto GroundOverlay. Si el marcador es un cartel, siempre se dibujará frente a la cámara y se rotará y se inclinará con la cámara. La opción predeterminada es Billboard (false)
Rotación
La rotación del marcador en grados en sentido horario respecto del punto de anclaje del marcador. El eje de rotación es perpendicular al marcador. Una rotación de 0 corresponde a la posición predeterminada del marcador. Cuando el marcador se encuentra plano sobre el mapa, se posiciona de manera predeterminada la orientación norte, y la rotación hace que siempre permanezca plano en el mapa. Cuando el marcador es un cartel, la posición predeterminada es hacia arriba y la rotación hace que siempre apunte hacia la cámara. El valor predeterminado es 0.
Índice Z
Es el orden de dibujo del marcador. Los marcadores se dibujan en el orden del índice z, y el marcador de zIndex más alto se dibuja en la parte superior. Si configuras la propiedad zIndex para cada marcador, puedes controlar qué objetivo táctil presiona tu usuario. El valor predeterminado es 0.
Etiqueta
Es un objeto Object asociado con el marcador. Por ejemplo, Object puede contener datos sobre lo que representa el marcador. Esto es más fácil que almacenar un Map<Marker, Object> separado. Como otro ejemplo, puedes asociar un ID de String correspondiente al ID de un conjunto de datos. El SDK de Google Maps para Android no lee ni escribe esta propiedad.

Los métodos de esta clase deben llamarse en el subproceso de la IU de Android. De lo contrario, se arrojará una IllegalStateException en el tiempo de ejecución.

Ejemplo

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"));
 

Guía para desarrolladores

Para obtener más información, lee la guía para desarrolladores Marcadores.

Resumen de clases anidadas

Interfaz Marker.CollisionBehavior Indica cómo se aborda el marcador cuando se produce una colisión con otros marcadores o etiquetas del mapa base. 

Resumen de métodos públicos

boolean
equals(Objeto otro)
Comprueba si este Marker es igual a otro.
flotante
getAlpha()
Obtiene la versión alfa del marcador.
String
getId()
Obtiene este ID de marcador.
LatLng.
getPosition()
Muestra la posición del marcador.
flotante
getRotation()
Obtiene la rotación del marcador.
String
getSnippet()
Obtiene el fragmento del marcador.
Objeto
getTag()
Obtiene la etiqueta para el marcador.
String
getTitle()
Obtiene el título del marcador.
flotante
getZIndex()
Muestra el índice z del marcador.
int
void
hideInfoWindow()
Oculta la ventana de información si se muestra desde este marcador.
boolean
esDraggable()
Obtiene la capacidad de arrastrar del marcador.
boolean
isFlat()
Obtiene la configuración plana del marcador.
boolean
isInfoWindowShown()
Muestra si la ventana de información se muestra actualmente sobre este marcador.
boolean
esVisible()
Obtiene la configuración de visibilidad de este marcador.
void
remove()
Elimina este marcador del mapa.
void
setAlpha(número de punto flotante)
Establece el valor alfa (opacidad) del marcador.
void
setAnchor(anchor floatU, float anchorV)
Establece el punto de anclaje del marcador.
void
setDraggable(elemento arrastrable booleano)
Establece la capacidad de arrastrar del marcador.
void
setFlat(booleano plano)
Establece si este marcador debe ser plano respecto del mapa true o de un cartel frente a la cámara false.
void
setIcon(BitmapDescriptor)
Establece el ícono del marcador.
void
setInfoWindowAnchor(anchor floatU, float anchorV)
Especifica el punto en la imagen del marcador en el cual se debe fijar la ventana de información cuando se muestra.
void
setPosition(LatLng latlng)
Establece la ubicación del marcador.
void
setRotation(rotación de punto flotante)
Establece la rotación del marcador en grados en sentido horario respecto del punto de anclaje del marcador.
void
setSnippet(Fragmento de string)
Establece el fragmento del marcador.
void
setTag(etiqueta de objeto)
Establece la etiqueta para el marcador.
void
setTitle(título de la string)
Establece el título del marcador.
void
setVisible(booleano visible)
Establece la visibilidad de este marcador.
void
setZIndex(zIndex flotante)
Establece el zIndex del marcador.
void
showInfoWindow()
Muestra la ventana de información de este marcador en el mapa, si isVisible().

Resumen de métodos heredados

Métodos públicos

Booleano público es igual a (Otro objeto)

Comprueba si este Marker es igual a otro.

Parámetros
otro un Object
Resultado que se muestra
  • true si ambos objetos son el mismo objeto, es decir, esto == otro.

public float getAlpha ()

Obtiene la versión alfa del marcador.

Resultado que se muestra
  • el alfa del marcador en el rango [0, 1].

public String getId ()

Obtiene este ID de marcador. El ID será único entre todos los marcadores de un mapa.

Resultado que se muestra
  • el ID de este marcador.

público LatLng getPosition ()

Muestra la posición del marcador.

Resultado que se muestra
  • Un objeto LatLng que especifica la posición actual del marcador

flotante público getRotation ()

Obtiene la rotación del marcador.

Resultado que se muestra
  • la rotación del marcador en grados en sentido horario respecto de la posición predeterminada.

public String getSnippet ()

Obtiene el fragmento del marcador.

Resultado que se muestra
  • String que contiene el fragmento del marcador.

public Object getTag ()

Obtiene la etiqueta para el marcador.

Resultado que se muestra
  • la etiqueta si se configuró una etiqueta con setTag; null si no se configuró ninguna.

public String getTitle ()

Obtiene el título del marcador.

Resultado que se muestra
  • String que contiene el título del marcador.

flotante público getZIndex ()

Muestra el índice z del marcador.

Resultado que se muestra
  • zIndex de este marcador.

public int hashCode ()

vacío público hideInfoWindow ()

Oculta la ventana de información si se muestra desde este marcador.

Este método no tiene efecto si este marcador no está visible.

Booleano público isDraggable ()

Obtiene la capacidad de arrastrar del marcador. Cuando un marcador es arrastrable, el usuario puede moverlo manteniéndolo presionado.

Resultado que se muestra
  • true si el marcador es arrastrable; de lo contrario, muestra false.

Booleano público isFlat ()

Obtiene la configuración plana del marcador.

Resultado que se muestra
  • true si el marcador es plano respecto del mapa; false si el marcador debe colocarse frente a la cámara.

Booleano público isInfoWindowShown ()

Muestra si la ventana de información se muestra actualmente sobre este marcador. No se tiene en cuenta si la ventana de información es realmente visible en la pantalla.

Booleano público isVisible ()

Obtiene la configuración de visibilidad de este marcador. Ten en cuenta que esto no indica si el marcador está dentro del viewport de la pantalla. Indica si se dibujará el marcador si se encuentra dentro de la ventana de visualización de la pantalla.

Resultado que se muestra
  • la visibilidad de este marcador.

vacío público quitar ()

Elimina este marcador del mapa. Después de quitar un marcador, el comportamiento de todos sus métodos no está definido.

vacío público setAlpha (número de punto flotante)

Establece el valor alfa (opacidad) del marcador. Este valor es de 0 a 1, donde 0 significa que el marcador es completamente transparente y 1 significa que es completamente opaco.

Parámetros
Alfa

vacío público setAnchor (float anchorU, float anchorV)

Establece el punto de anclaje del marcador.

El ancla especifica el punto en la imagen del ícono que está anclado a la posición del marcador en la superficie de la Tierra.

El punto de anclaje se especifica en el espacio continuo [0.0, 1.0] x [0.0, 1.0], en el que (0, 0) es la esquina superior izquierda de la imagen y (1, 1) es la esquina inferior derecha. El punto de anclaje de una imagen W x H es el punto de cuadrícula discreto más cercano en una cuadrícula (W + 1) x (H + 1), que se obtiene mediante el escalamiento de ese redondeo. Por ejemplo, en una imagen de 4 x 2, el punto de anclaje (0.7, 0.6) se resuelve en el punto de cuadrícula en (3, 1).

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

Parámetros
anchorU coordenada u del ancla, como una proporción del ancho de la imagen (en el rango [0, 1]).
anclaV coordenadas v del ancla, como proporción de la altura de la imagen (en el rango [0, 1]).

vacío público setDraggable (booleano arrastrable)

Establece la capacidad de arrastrar del marcador. Cuando un marcador es arrastrable, el usuario puede moverlo manteniéndolo presionado.

Parámetros
arrastrable

vacío público setFlat (booleano plano)

Establece si este marcador debe ser plano respecto del mapa true o de un cartel frente a la cámara false.

Parámetros
estable

vacío público setIcon (BitmapDescriptor iconDescriptor)

Establece el ícono del marcador.

Parámetros
íconoDescriptor Si es nulo, se usa el marcador predeterminado.

vacío público setInfoWindowAnchor (anchor floatU, float anchorV)

Especifica el punto en la imagen del marcador en el cual se debe fijar la ventana de información cuando se muestra. Esto se especifica en el mismo sistema de coordenadas que el anclaje. Consulta setAnchor(float, float) para obtener más información. El valor predeterminado es la parte superior central de la imagen.

Parámetros
anchorU coordenada u del anclaje de la ventana de información, como una proporción del ancho de la imagen (en el rango [0, 1]).
anclaV coordenadas v del anclaje de la ventana de información, como una proporción de la altura de la imagen (en el rango [0, 1]).

vacío público setPosition (LatLng latlng)

Establece la ubicación del marcador.

Parámetros
latlng

vacío público setRotation (rotación de punto flotante)

Establece la rotación del marcador en grados en sentido horario respecto del punto de anclaje del marcador. El eje de rotación es perpendicular al marcador. Una rotación de 0 corresponde a la posición predeterminada del marcador.

Parámetros
rotación

vacío público setSnippet (Fragmento de string)

Establece el fragmento del marcador.

Parámetros
fragmento Si es nulo, el fragmento se borra.

vacío público setTag (etiqueta de objeto)

Establece la etiqueta para el marcador.

Puedes usar esta propiedad para asociar un Object arbitrario con este marcador. Por ejemplo, Object puede contener datos sobre lo que representa el marcador. Esto es más fácil que almacenar un Map<Marker, Object> separado. Como otro ejemplo, puedes asociar un ID de String correspondiente al ID de un conjunto de datos. El SDK de Google Maps para Android no lee ni escribe esta propiedad. Es tu responsabilidad llamar a setTag(null) para borrar la etiqueta cuando ya no la necesites y evitar fugas de memoria en tu app.

Parámetros
etiqueta de política Si es nulo, la etiqueta se borra.

vacío público setTitle (título de string)

Establece el título del marcador.

Parámetros
título Si es nulo, se borra el título.

vacío público setVisible (booleano visible)

Establece la visibilidad de este marcador. Si se configura en false y actualmente se muestra una ventana de información para este marcador, se ocultará.

Parámetros
visible

public void setZIndex (float zIndex)

Establece el zIndex del marcador.

Parámetros
Índice Z

vacío público showInfoWindow ()

Muestra la ventana de información de este marcador en el mapa, si isVisible().

Arroja
IllegalArgumentException si marker no está en este mapa