Una polilínea es una lista de puntos en la que los segmentos de línea se dibujan entre puntos consecutivos. Una polilínea tiene las siguientes propiedades:
- Puntos
- Los vértices de la línea. Los segmentos de línea se dibujan entre puntos consecutivos. Una polilínea no está cerrada de forma predeterminada. Para formar una polilínea cerrada, los puntos de inicio y finalización deben ser iguales.
- Ancho
- Ancho del segmento de línea en píxeles de pantalla. El ancho es constante y no depende del nivel de zoom de la cámara. El valor predeterminado es 10.
- Color
- Es el color del segmento de línea en formato ARGB, el mismo formato que usa
Color
. El valor predeterminado es el negro (0xff000000
). - Límite de inicio/finalización
- Define la forma que se utilizará al principio o al final de una polilínea. Tipos de limitaciones compatibles:
ButtCap
,SquareCap
,RoundCap
(aplicable para el patrón de trazo sólido) yCustomCap
(aplicable para cualquier patrón de trazo). Valor predeterminado para inicio y fin:ButtCap
. - Tipo de unión
- El tipo de unión define la forma que se usará al unir segmentos de líneas adyacentes en todos los vértices de la polilínea, excepto en los vértices inicial y final. Consulta
JointType
para ver los tipos de unión admitidos. El valor predeterminado esDEFAULT
. - Patrón de trazo
- Sólido (predeterminado, representado por
null
) o una secuencia de objetosPatternItem
que se repetirá a lo largo de la línea. Tipos dePatternItem
disponibles:Gap
(definido por la longitud de espacio en píxeles),Dash
(definido por el ancho de la línea y la longitud de guion en píxeles) yDot
(circular, centrado en la línea, diámetro definido por el ancho de la línea en píxeles). - Índice Z
- Es el orden en el que se dibuja esta superposición de mosaicos con respecto a otras superposiciones (incluidos los objetos
GroundOverlay
,TileOverlay
,Circle
yPolygon
, pero no losMarker
). Una superposición con un índice z más grande se dibuja sobre aquellas con índices z más pequeños. Para las superposiciones con el mismo índice Z, el orden es arbitrario. El valor predeterminado del zIndex es 0. - Visibilidad
- Indica si la polilínea es visible o invisible, es decir, si se dibujó en el mapa. Las polilíneas invisibles no se dibujan, pero conservan todas las demás propiedades. El valor predeterminado es
true
, es decir, visible. - Estado geodésico
- Indica si los segmentos de la polilínea se deben dibujar como líneas geodésicas, en lugar de líneas rectas en la proyección Mercator. Una línea geodésica es la ruta más corta entre dos puntos de la superficie terrestre. La curva geodésica se construye suponiendo que la Tierra es una esfera.
- Posibilidad de hacer clics
- Si quieres controlar los eventos que se activan cuando el usuario hace clic en la polilínea, configura esta propiedad como
true
. Puedes cambiar este valor en cualquier momento. El valor predeterminado esfalse
. Si esta propiedad se configura comotrue
, tu app recibirá notificaciones para elGoogleMap.OnPolylineClickListener
registrado a través desetOnPolylineClickListener(GoogleMap.OnPolylineClickListener)
. - Etiqueta
- Es un objeto
Object
asociado con la polilínea. Por ejemplo, el objetoObject
puede contener datos sobre lo que representa la polilínea. Esto es más fácil que almacenar unMap<Polyline, 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. - Intervalos
- Define los intervalos con diferentes estilos que se usan para renderizar esta polilínea. Puedes usar esta propiedad para crear una polilínea con diferentes
StrokeStyle
en distintos segmentos de la polilínea.
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 thin red line from London to New York.
Polyline line = map.addPolyline(new PolylineOptions()
.add(new LatLng(51.5, -0.1), new LatLng(40.7, -74.0))
.width(5)
.color(Color.RED));
Guía para desarrolladores
Para obtener más información, consulta la guía para desarrolladores sobre Formas.
Resumen de métodos públicos
boolean |
es igual a(Otro objeto)
Comprueba si este
Polyline es igual a otro. |
int |
getColor()
Obtiene el color de esta polilínea.
|
Bloq Mayús |
getEndCap()
Obtiene el tope en el vértice final de esta polilínea.
|
Cadena |
getId()
Obtiene el ID de esta polilínea.
|
int |
getJointType()
Obtiene el tipo de unión usado en todos los vértices de la polilínea, excepto en los vértices inicial y final.
|
List<PatternItem> |
getPattern()
Obtiene el patrón de trazo de esta polilínea.
|
List<LatLng> |
getPoints()
Muestra una instantánea de los vértices de la polilínea en ese momento .
|
Bloq Mayús |
getStartCap()
Obtiene el tope en el vértice inicial de esta polilínea.
|
Objeto |
getTag()
Obtiene la etiqueta de la polilínea.
|
float |
getWidth()
Obtiene el ancho de esta polilínea.
|
float |
getZIndex()
Obtiene el zIndex de esta polilínea.
|
int |
hashCode()
|
boolean |
isClickable()
Obtiene la posibilidad de hacer clics de la polilínea.
|
boolean |
isGeodesic()
Obtiene si cada segmento de la línea se dibuja como una línea geodésica o no.
|
boolean |
isVisible()
Obtiene la visibilidad de esta polilínea.
|
void |
remove()
Quita esta polilínea del mapa.
|
void |
setClickable(booleano en el que se puede hacer clic)
Establece la posibilidad de hacer clics en la polilínea.
|
void |
setColor(color total)
Establece el color de esta polilínea.
|
void | |
void |
setGeodesic(geodésica booleana)
Establece si se debe dibujar cada segmento de la línea como una línea geodésica.
|
void |
setJointType(int-joinType)
Establece el tipo de unión para todos los vértices de la polilínea, excepto para los vértices inicial y final.
|
void | |
void | |
void | |
void | |
void |
setTag(etiqueta de objeto)
Establece la etiqueta de la polilínea.
|
void |
setVisible(booleano visible)
Establece la visibilidad de esta polilínea.
|
void |
setWidth(ancho flotante)
Establece el ancho de esta polilínea.
|
void |
setZIndex(zIndex flotante)
Establece el zIndex de esta polilínea.
|
Resumen de métodos heredados
Métodos públicos
público booleano es igual a (otro objeto)
public int getColor ()
Obtiene el color de esta polilínea.
Devuelve
- el color en formato ARGB.
public Cap getEndCap ()
Obtiene el tope en el vértice final de esta polilínea.
Devuelve
- el tipo de limitación final.
String pública getId ()
Obtiene el ID de esta polilínea. El ID será único entre todas las polilíneas de un mapa.
Devuelve
- el ID de esta polilínea.
public int getJointType ()
Obtiene el tipo de unión usado en todos los vértices de la polilínea, excepto en los vértices inicial y final. Consulta JointType
para ver los valores posibles.
Devuelve
- el tipo de unión.
public List<PatternItem> getPattern ()
Obtiene el patrón de trazo de esta polilínea.
Devuelve
- patrón de trazo.
Lista pública<LatLng> getPoints ()
Muestra una instantánea de los vértices de la polilínea en ese momento . La lista que se muestra es una copia de la lista de vértices, por lo que los cambios en los vértices de la polilínea no se reflejarán en esta lista ni los cambios en esta lista. Para cambiar los vértices de la polilínea, llama a setPoints(List)
.
public Cap getStartCap ()
Obtiene el tope en el vértice inicial de esta polilínea.
Devuelve
- el límite de inicio.
objeto público getTag ()
Obtiene la etiqueta de la polilínea.
Devuelve
- la etiqueta si se configuró con
setTag
;null
si no se estableció ninguna
public float getWidth ()
Obtiene el ancho de esta polilínea.
Devuelve
- el ancho en píxeles de pantalla.
public float getZIndex ()
Obtiene el zIndex de esta polilínea.
Devuelve
- el zIndex de la polilínea.
public int hashCode ()
público booleano isClickable ()
Obtiene la posibilidad de hacer clics de la polilínea. Si se puede hacer clic en la polilínea, tu app recibirá notificaciones en GoogleMap.OnPolylineClickListener
cuando el usuario haga clic en ella. El objeto de escucha de eventos se registra a través de setOnPolylineClickListener(GoogleMap.OnPolylineClickListener)
.
Devuelve
true
si se puede hacer clic en la polilínea; de lo contrario, muestrafalse
.
público booleano isGeodesic ()
Obtiene si cada segmento de la línea se dibuja como una línea geodésica o no.
Devuelve
- Es
true
si cada segmento se dibuja como una línea geodésica;false
si cada segmento se dibuja como una línea recta en la proyección Mercator.
público booleano isVisible ()
Obtiene la visibilidad de esta polilínea.
Devuelve
- la visibilidad de esta polilínea.
public void remove ()
Quita esta polilínea del mapa. Una vez que se quita una polilínea, no se define el comportamiento de ninguno de sus métodos.
público público setClickable (booleano en el que se puede hacer clic)
Establece la posibilidad de hacer clics en la polilínea. Si se puede hacer clic en la polilínea, tu app recibirá notificaciones en GoogleMap.OnPolylineClickListener
cuando el usuario haga clic en ella. El objeto de escucha de eventos se registra a través de setOnPolylineClickListener(GoogleMap.OnPolylineClickListener)
.
Parámetros
se le puede hacer clic | Nueva configuración de posibilidad de hacer clics para la polilínea. |
---|
público público setColor (int color)
Establece el color de esta polilínea.
Parámetros
color [color] | el color en formato ARGB |
---|
público público setEndCap (Cap endCap)
Establece el tope en el vértice final de esta polilínea. El límite final predeterminado es ButtCap
.
Parámetros
endCap | el límite final. No debe ser null .
|
---|
público público setGeodesic (boolean geodesic)
Establece si se debe dibujar cada segmento de la línea como una línea geodésica.
Parámetros
geodésico | Si es true , cada segmento se dibuja como una línea geodésica. Si es false , cada segmento se dibuja como una línea recta en la proyección Mercator.
|
---|
público público setJointType (int JoinType)
Establece el tipo de unión para todos los vértices de la polilínea, excepto para los vértices inicial y final.
Consulta JointType
para ver los valores permitidos. Se usará el valor predeterminado DEFAULT
si el tipo de unión no está definido o no es uno de los valores permitidos.
Parámetros
jointType | el tipo de unión. |
---|
público público setPattern (List<PatternItem>)
Establece el patrón de trazo de la polilínea. El patrón de trazo predeterminado es sólido, representado por null
.
Parámetros
patrón | patrón de trazo. |
---|
público público setPoints (List<LatLng> puntos)
Establece los puntos de esta polilínea. Este método tomará una copia de los puntos, por lo que las demás mutaciones de points
no tendrán efecto en esta polilínea.
Parámetros
puntos | una lista de elementos LatLng que son los vértices de la polilínea
|
---|
public void setSpans (List<StyleSpan> intervalos)
Establece los intervalos de la polilínea.
Parámetros
intervalos |
---|
public void setStartCap (Cap startCap)
Establece el tope en el vértice inicial de esta polilínea. El límite de inicio predeterminado es ButtCap
.
Parámetros
startCap | el límite de inicio. No debe ser null .
|
---|
public void setTag (etiqueta de objeto)
Establece la etiqueta de la polilínea.
Puedes usar esta propiedad para asociar un elemento Object
arbitrario con la polilínea. Por ejemplo, el objeto Object
puede contener datos sobre lo que representa la polilínea. Esto es más fácil que almacenar un Map<Polyline, 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. |
---|
público público setVisible (boolean visible)
Establece la visibilidad de esta polilínea. Cuando no está visible, no se dibuja una polilínea, pero conserva todas sus demás propiedades.
Parámetros
visible | Si es true , la polilínea es visible; si es false , no lo es.
|
---|
público void setWidth (ancho de número de punto flotante)
Establece el ancho de esta polilínea.
Parámetros
ancho | el ancho en píxeles de la pantalla |
---|
público público setZIndex (float zIndex)
Establece el zIndex de esta polilínea. Las polilíneas con índices z más altos se dibujan encima de las que tienen índices más bajos.
Parámetros
zIndex | el zIndex de esta polilínea. |
---|