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 esfalse
. - 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 objetoObject
puede contener datos sobre lo que representa el marcador. Esto es más fácil que almacenar unMap<Marker, Object>
separado. Como otro ejemplo, puedes asociar un ID deString
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 |
hashCode()
|
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 | |
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 | |
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)
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, muestrafalse
.
público booleano isFlat ()
Obtiene la configuración plana del marcador.
Devuelve
- Es
true
si el marcador está plano respecto del mapa yfalse
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
|
---|