Marker

Marker de la clase final pública extiende Object

Un ícono ubicado en un punto determinado de la superficie del mapa. Los íconos de marcador se dibujan orientados respecto de la pantalla del dispositivo en lugar de la superficie del mapa; es decir, no necesariamente cambiará su orientación debido a las rotaciones, la inclinación o el zoom del mapa.

Un marcador tiene las siguientes propiedades:

Alfa
Establece la opacidad del marcador. El valor predeterminado es 1.0.
Anclaje
Es el punto de la imagen que se colocará en la posición LatLng del marcador. El valor predeterminado es un 50% a partir de la izquierda y la parte inferior de la imagen.
Cargo
Es el valor LatLng correspondiente a la posición del marcador en el mapa. Puedes cambiar este valor en cualquier momento si quieres mover el marcador.
Título
Es una cadena 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
Es el texto adicional que se muestra debajo del título. Puedes cambiar este valor en cualquier momento.
Ícono
Es un mapa de bits que se muestra para el marcador. Si no la estableces, se mostrará un ícono predeterminado. Puedes especificar un color alternativo del í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 billboard
Si el marcador se encuentra plano respecto del mapa, permanecerá atascado en él a medida que la cámara se rote y se inclina, pero seguirá teniendo el mismo tamaño que el zoom de la cámara, a diferencia de un objeto GroundOverlay. Si el marcador es una valla publicitaria, siempre se dibujará mirando hacia la cámara, y rotará y se inclinará con la cámara. El valor predeterminado es un billboard (false).
Rotación
Es la rotación del marcador en grados en el sentido de las manecillas del reloj sobre el punto de anclaje del marcador. El eje de rotación es perpendicular al marcador. El valor de rotación 0 corresponde a la posición predeterminada del marcador. Cuando se utiliza un marcador plano en el mapa, la posición predeterminada se alinea con el norte y la rotación hace que siempre se quede plana en el mapa. Cuando se trata de una valla publicitaria, la posición predeterminada es hacia arriba y la rotación hace que siempre apunte hacia la cámara. El valor predeterminado es 0.
zIndex
Es el orden de dibujo del marcador. Los marcadores se dibujan en orden del zIndex. El marcador zIndex más alto se dibuja encima. Si configuras la propiedad zIndex para cada marcador, puedes controlar el objetivo de presión que tiene más probabilidades de que alcance el usuario. El valor predeterminado es 0.
Etiqueta
Es un Object asociado con el marcador. Por ejemplo, el objeto 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 que corresponde 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 se deben llamar en el subproceso de IU de Android. De lo contrario, se arrojará una IllegalStateException durante 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, consulta la guía para desarrolladores sobre Marcadores.

Resumen de clases anidadas

@interfaz Marker.CollisionBehavior Indica cómo se aborda el marcador cuando se ve afectado por una colisión con otros marcadores o etiquetas de mapa base. 

Resumen de métodos públicos

boolean
es igual a(Otro objeto)
Comprueba si este Marker es igual a otro.
float
getAlpha()
Obtiene el valor alfa del marcador.
Cadena
getId()
Obtiene el ID de este marcador.
LatLng
getPosition()
Muestra la posición del marcador.
float
getRotation()
Obtiene la rotación del marcador.
Cadena
getSnippet()
Obtiene el fragmento del marcador.
Objeto
getTag()
Obtiene la etiqueta del marcador.
Cadena
getTitle()
Obtiene el título del marcador.
float
getZIndex()
Muestra el zIndex del marcador.
int
void
hideInfoWindow()
Oculta la ventana de información si se muestra desde este marcador.
boolean
isDraggable()
Obtiene la capacidad de arrastre del marcador.
boolean
isFlat()
Obtiene la configuración plana del marcador.
boolean
isInfoWindowShown()
Muestra si la ventana de información se muestra actualmente encima de este marcador.
boolean
isVisible()
Obtiene la configuración de visibilidad de este marcador.
void
remove()
Quita este marcador del mapa.
void
setAlpha(alfa flotante)
Establece el valor alfa (opacidad) del marcador.
void
setAnchor(floatU, floatV)
Establece el punto de anclaje del marcador.
void
setDraggable(booleano arrastrable)
Establece la capacidad de arrastre del marcador.
void
setFlat(booleano plano)
Establece si este marcador debe quedar plano respecto del true del mapa o de una valla publicitaria orientada al false de la cámara.
void
setIcon(BitmapDescriptor iconDescriptor)
Establece el ícono del marcador.
void
setInfoWindowAnchor(floatU, floatV)
Especifica el punto de la imagen del marcador donde se debe anclar la ventana de información cuando se muestra.
void
setPosition(LatLng latlng)
Establece la ubicación del marcador.
void
setRotation(rotación de número de punto flotante)
Fija la rotación del marcador en grados en el sentido de las manecillas del reloj respecto del punto de anclaje del marcador.
void
setSnippet(fragmento de cadena)
Establece el fragmento del marcador.
void
setTag(etiqueta de objeto)
Establece la etiqueta del marcador.
void
setTitle(título de cadena)
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 es que este marcador es isVisible().

Resumen de métodos heredados

Métodos públicos

público booleano es igual a (otro objeto)

Comprueba si este Marker es igual a otro.

Parámetros
otro un objeto Object.
Devuelve
  • true si ambos objetos son el mismo objeto, es decir, este == otro.

public float getAlpha ()

Obtiene el valor alfa del marcador.

Devuelve
  • el valor alfa del marcador en el rango [0, 1].

String pública getId ()

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

Devuelve
  • el ID de este marcador.

público LatLng getPosition ()

Muestra la posición del marcador.

Devuelve
  • Un objeto LatLng que especifica la posición actual del marcador

public float getRotation ()

Obtiene la rotación del marcador.

Devuelve
  • la rotación del marcador en grados en el sentido de las manecillas del reloj desde la posición predeterminada.

String pública getSnippet ()

Obtiene el fragmento del marcador.

Devuelve
  • Es una cadena que contiene el fragmento del marcador.

objeto público getTag ()

Obtiene la etiqueta del marcador.

Devuelve
  • la etiqueta si se configuró con setTag; null si no se estableció ninguna

String pública getTitle ()

Obtiene el título del marcador.

Devuelve
  • Es una cadena que contiene el título del marcador.

public float getZIndex ()

Muestra el zIndex del marcador.

Devuelve
  • zIndex de este marcador.

public int hashCode ()

público void hideInfoWindow ()

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

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

público booleano isDraggable ()

Obtiene la capacidad de arrastre del marcador. Cuando un marcador es arrastrable, el usuario puede mantenerlo presionado para moverlo.

Devuelve
  • true si el marcador es arrastrable; de lo contrario, muestra false.

público booleano isFlat ()

Obtiene la configuración plana del marcador.

Devuelve
  • Es true si el marcador está plano respecto del mapa y false si debe apuntar hacia la cámara.

público booleano isInfoWindowShown ()

Muestra si la ventana de información se muestra actualmente encima de este marcador. Esto no considera si la ventana de información es realmente visible en la pantalla.

público booleano 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 el marcador se dibujará si está contenido en el viewport de la pantalla.

Devuelve
  • la visibilidad de este marcador.

public void remove ()

Quita este marcador del mapa. Una vez que se quita un marcador, no se define el comportamiento de ninguno de sus métodos.

público público setAlpha (float alpha)

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

Parámetros
Alfa

público void setAnchor (float anchorU, float anchorV)

Establece el punto de anclaje del marcador.

El anclaje 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], donde (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 escalando el redondeo después. 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 anclaje, como una proporción del ancho de la imagen (en el rango [0, 1]).
anchorV coordenada v del ancla, como una proporción de la altura de la imagen (en el rango [0, 1]).

público público setDraggable (boolean draggable)

Establece la capacidad de arrastre del marcador. Cuando un marcador es arrastrable, el usuario puede mantenerlo presionado para moverlo.

Parámetros
arrastrable

public void setFlat (booleana plana)

Establece si este marcador debe quedar plano respecto del true del mapa o de una valla publicitaria orientada al false de la cámara.

Parámetros
fijas

público void setIcon (BitmapDescriptor iconDescriptor)

Establece el ícono del marcador.

Parámetros
iconDescriptor si es nulo, se usa el marcador predeterminado.

public void setInfoWindowAnchor (float anchorU, float anchorV)

Especifica el punto de la imagen del marcador donde se debe anclar la ventana de información cuando se muestra. Esto se especifica en el mismo sistema de coordenadas que el ancla. 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]).
anchorV coordenada v del anclaje de la ventana de información, como una proporción de la altura de la imagen (en el rango [0, 1]).

público público setPosition (latlng de LatLng)

Establece la ubicación del marcador.

Parámetros
latlng

público público setRotation (rotación de número de punto flotante)

Fija la rotación del marcador en grados en el sentido de las manecillas del reloj respecto del punto de anclaje del marcador. El eje de rotación es perpendicular al marcador. Una rotación igual a 0 corresponde a la posición predeterminada del marcador.

Parámetros
rotación

público público setSnippet (Fragmento de cadena)

Establece el fragmento del marcador.

Parámetros
resumen si es nulo, se borra el fragmento.

public void setTag (etiqueta de objeto)

Establece la etiqueta del marcador.

Puedes usar esta propiedad para asociar un elemento Object arbitrario con este marcador. Por ejemplo, el objeto 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 que corresponde 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 pérdidas de memoria en tu app.

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

public void setTitle (Título de cadena)

Establece el título del marcador.

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

público público setVisible (boolean visible)

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

Parámetros
visible

público público setZIndex (float zIndex)

Establece el zIndex del marcador.

Parámetros
zIndex

público público showInfoWindow ()

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

Arroja
IllegalArgumentException si marker no está en este mapa