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 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 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 unMap<Marker, Object>
separado. Como otro ejemplo, puedes asociar un ID deString
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 | |
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 |
hashCode()
|
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 | |
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 | |
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)
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, muestrafalse
.
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 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
|
---|