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 los mismos.
- Ancho
- Ancho de segmento de línea en píxeles de pantalla. El ancho es constante e independiente del nivel de zoom de la cámara. El valor predeterminado es 10.
- Color
- 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 usará al principio o al final de una polilínea. Tipos de límites admitidos:
ButtCap
,SquareCap
,RoundCap
(aplicable para un patrón de trazo sólido) yCustomCap
(aplicable para cualquier patrón de trazo). Predeterminado para el inicio y el final:ButtCap
. - Tipo de unión
- El tipo de unión define la forma que se usará cuando se unan segmentos de línea adyacentes en todos los vértices de la polilínea, excepto los vértices de inicio y finalización. Consulta
JointType
para conocer los tipos de unión compatibles. El valor predeterminado esDEFAULT
. - Patrón de trazo
- Sólido (predeterminado, representado por
null
) o una secuencia de objetosPatternItem
que se repetirán en la línea Tipos dePatternItem
disponibles:Gap
(definido por la longitud del espacio en píxeles),Dash
(definido por el ancho de la línea y longitud del 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 con respecto a otras superposiciones (incluidas
GroundOverlay
,TileOverlay
,Circle
yPolygon
, pero noMarker
). Una superposición con un índice z más grande se dibuja sobre las superposiciones con índices z más pequeños. Para las superposiciones con el mismo índice Z, el orden es arbitrario. El valor predeterminado de zIndex es 0. - Visibilidad
- Indica si la polilínea es visible o invisible, es decir, si se dibuja en el mapa. Una polilínea invisible no se dibuja, pero retiene todas las demás propiedades. El valor predeterminado es
true
, es decir, visible. - Estado geodésico
- Indica si los segmentos de la polilínea deben dibujarse como geodésicos, y no en las líneas rectas en la proyección de Mercator. La geodésica es la ruta más corta entre dos puntos de la superficie de la Tierra. La curva geodésica se construye bajo la suposición de que la Tierra es una esfera.
- Hacer clic
- Si deseas controlar los eventos que se activan cuando el usuario hace clic en la polilínea, establece esta propiedad en
true
. Puedes cambiar este valor en cualquier momento. El valor predeterminado esfalse
. Si esta propiedad se configura comotrue
, tu app recibirá notificaciones paraGoogleMap.OnPolylineClickListener
registradas a través desetOnPolylineClickListener(GoogleMap.OnPolylineClickListener)
. - Etiqueta
- Es un objeto
Object
asociado con la polilínea. Por ejemplo,Object
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
correspondiente 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 utilizados 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 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 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, lee la guía para desarrolladores de Formas.
Resumen de métodos públicos
boolean | |
int |
getColor()
Obtiene el color de esta polilínea.
|
Límite |
getEndCap()
Obtiene el tope en el vértice final de esta polilínea.
|
String |
getId()
Obtiene este ID de polilínea.
|
int |
getJointType()
Obtiene el tipo de unión usado en todos los vértices de la polilínea, excepto los vértices de inicio y final.
|
Lista<PatternItem> |
getPattern()
Obtiene el patrón de trazo de esta polilínea.
|
Enumerar LatLng> |
getPoints()
Muestra una instantánea de los vértices de esta polilínea en este momento .
|
Límite |
getStartCap()
Obtiene el límite en el vértice de inicio de esta polilínea.
|
Objeto |
getTag()
Obtiene la etiqueta para la polilínea.
|
flotante |
getWidth().
Obtiene el ancho de esta polilínea.
|
flotante |
getZIndex()
Obtiene el zIndex de esta polilínea.
|
int |
hashCode()
|
boolean |
isClickable()
Obtiene la posibilidad de hacer clics de la polilínea.
|
boolean |
isGeodésico()
Obtiene si cada segmento de la línea se dibuja como una línea geodésica o no.
|
boolean |
esVisible()
Obtiene la visibilidad de esta polilínea.
|
void |
remove()
Elimina 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 int)
Establece el color de esta polilínea.
|
void | |
void |
setGeodesic(geodésico booleano)
Establece si se debe trazar cada segmento de la línea como geodésico o no.
|
void |
setJointType(intjoinType)
Establece el tipo de unión para todos los vértices de la polilínea, excepto los vértices de inicio y final.
|
void | |
void | |
void | |
void | |
void |
setTag(etiqueta de objeto)
Establece la etiqueta para 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
Booleano público es igual a (Otro objeto)
public int getColor ()
Obtiene el color de esta polilínea.
Resultado que se muestra
- el color en formato ARGB.
Cap getEndCap () público
Obtiene el tope en el vértice final de esta polilínea.
Resultado que se muestra
- el tipo de extremo final.
public String getId ()
Obtiene este ID de polilínea. El ID será único entre todas las polilíneas en un mapa.
Resultado que se muestra
- el ID de esta polilínea.
public intgetJointType()
Obtiene el tipo de unión usado en todos los vértices de la polilínea, excepto los vértices de inicio y final. Consulta JointType
para ver los valores posibles.
Resultado que se muestra
- el tipo de unión.
List público<PatternItem> getPattern ()
Obtiene el patrón de trazo de esta polilínea.
Resultado que se muestra
- el patrón de trazo.
Lista pública getPoints ()
Muestra una instantánea de los vértices de esta polilínea en este momento . La lista que se muestra es una copia de la lista de vértices y, por lo tanto, los cambios en los vértices de la polilínea no se reflejarán en esta lista ni en la lista. Para cambiar los vértices de la polilínea, llama a setPoints(List)
.
Cap getStartCap () público
Obtiene el límite en el vértice de inicio de esta polilínea.
Resultado que se muestra
- el tope de inicio.
public Object getTag ()
Obtiene la etiqueta para la polilínea.
Resultado que se muestra
- la etiqueta si se configuró una etiqueta con
setTag
;null
si no se configuró ninguna.
flotante público getWidth ()
Obtiene el ancho de esta polilínea.
Resultado que se muestra
- el ancho en píxeles de la pantalla.
flotante público getZIndex ()
Obtiene el zIndex de esta polilínea.
Resultado que se muestra
- el zIndex de la polilínea.
public int hashCode ()
Booleano público isClickable ()
Obtiene la posibilidad de hacer clics de la polilínea. Si se puede hacer clic en la polilínea, tu app recibirá notificaciones para GoogleMap.OnPolylineClickListener
cuando el usuario haga clic en ella. El objeto de escucha de eventos se registra mediante setOnPolylineClickListener(GoogleMap.OnPolylineClickListener)
.
Resultado que se muestra
true
si se puede hacer clic en la polilínea. De lo contrario, muestrafalse
.
booleano público isGeodesic ()
Obtiene si cada segmento de la línea se dibuja como una línea geodésica o no.
Resultado que se muestra
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 de Mercator.
Booleano público isVisible ()
Obtiene la visibilidad de esta polilínea.
Resultado que se muestra
- la visibilidad de esta polilínea.
vacío público quitar ()
Elimina esta polilínea del mapa. Después de quitar una polilínea, el comportamiento de todos sus métodos es indefinido.
vacío 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 para GoogleMap.OnPolylineClickListener
cuando el usuario haga clic en ella. El objeto de escucha de eventos se registra mediante setOnPolylineClickListener(GoogleMap.OnPolylineClickListener)
.
Parámetros
se le puede hacer clic | Nueva configuración de clic para la polilínea. |
---|
void público setColor (int color)
Establece el color de esta polilínea.
Parámetros
color | el color en formato ARGB |
---|
vacío 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 tope final. No puede ser null .
|
---|
vacío público setGeodesic (geodésico booleano)
Establece si se debe trazar cada segmento de la línea como geodésico o no.
Parámetros
geodésico | si es true , cada segmento se dibuja como una línea geodésica; si es false , cada uno se dibuja como una línea recta en la proyección de Mercator.
|
---|
vacío público setJointType (int joinType)
Establece el tipo de unión para todos los vértices de la polilínea, excepto los vértices de inicio y final.
Consulta JointType
para obtener 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
Tipo de unión | el tipo de unión. |
---|
public void setPattern (List<PatternItem> pattern)
Establece el patrón de trazo de la polilínea. El patrón de trazo predeterminado es sólido y se representa con null
.
Parámetros
patrón | el patrón de trazo. |
---|
void público setPoints (List<LatLng> points)
Establece los puntos de esta polilínea. Este método tomará una copia de los puntos, por lo que las mutaciones adicionales a points
no tendrán efecto en esta polilínea.
Parámetros
puntos | Una lista de LatLng que son los vértices de la polilínea.
|
---|
public void setSpans (List<StyleSpan> spans)
Establece los intervalos de la polilínea.
Parámetros
intervalos |
---|
vacío público setStartCap (Cap startCap)
Establece el límite en el vértice de inicio de esta polilínea. El límite de inicio predeterminado es ButtCap
.
Parámetros
CapCapa | el límite de inicio. No puede ser null .
|
---|
vacío público setTag (etiqueta de objeto)
Establece la etiqueta para la polilínea.
Puedes usar esta propiedad para asociar un Object
arbitrario con esta polilínea. Por ejemplo, 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
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 setVisible (booleano visible)
Establece la visibilidad de esta polilínea. Cuando no es visible, no se dibuja una polilínea, pero conserva todas las demás propiedades.
Parámetros
visible | si es true , la polilínea es visible; si es false , no lo es.
|
---|
vacío público setWidth (ancho flotante)
Establece el ancho de esta polilínea.
Parámetros
ancho | el ancho en píxeles de la pantalla |
---|
public void setZIndex (float zIndex)
Establece el zIndex de esta polilínea. Las polilíneas con zIndices más altos se dibujan encima de las que tienen índices más bajos.
Parámetros
Índice Z | el zIndex de esta polilínea. |
---|