Uma polilinha é uma lista de pontos, em que segmentos de linha são desenhados entre pontos consecutivos. Uma polilinha tem as seguintes propriedades:
- Pontos
- Os vértices da linha. Segmentos de linha são desenhados entre pontos consecutivos. Uma polilinha não é fechada por padrão. Para formar uma polilinha fechada, os pontos de início e término precisam ser os mesmos.
- Largura
- Largura do segmento de linha em pixels da tela. A largura é constante e independente do nível de zoom da câmera. O valor padrão é 10.
- Cor
- Cor do segmento de linha em formato ARGB, o mesmo formato usado por
Color
. O valor padrão é preto (0xff000000
). - Limite inicial/final
- Define a forma a ser usada no início ou no final de uma polilinha. Tipos de limite aceitos:
ButtCap
,SquareCap
,RoundCap
(aplicável a padrão de traço sólido) eCustomCap
(aplicável a qualquer padrão de traço). Padrão para início e fim:ButtCap
. - Tipo de junção
- O tipo de junção define a forma a ser usada ao unir segmentos de linha adjacentes em todos os vértices da polilinha, exceto nos vértices inicial e final. Consulte
JointType
para os tipos de junção compatíveis. O valor padrão éDEFAULT
. - Padrão de traço
- Solida (padrão, representada por
null
) ou uma sequência de objetosPatternItem
a serem repetidos ao longo da linha. Tipos dePatternItem
disponíveis:Gap
(definido pelo tamanho do intervalo em pixels),Dash
(definido pela largura da linha e comprimento do traço em pixels) eDot
(circular, centralizado na linha, diâmetro definido pela largura da linha em pixels). - Z-index
- É a ordem em que a sobreposição de blocos é desenhada em relação a outras sobreposições (incluindo
GroundOverlay
s,TileOverlay
s,Circle
s ePolygon
s, mas nãoMarker
s). Uma sobreposição com um Z-index maior é desenhada sobre aquelas com Z-index menores. A ordem das sobreposições que têm o mesmo índice z é aleatória. O zIndex padrão é 0. - Visibilidade
- Indica se a polilinha é visível ou invisível, ou seja, se é desenhada no mapa. Uma polilinha invisível não é desenhada, mas mantém todas as outras propriedades. O padrão é
true
, ou seja, visível. - Status geodésico
- Indica se os segmentos da polilinha precisam ser desenhados como geodésicos, em vez de linhas retas na projeção de Mercator. Uma geodésica é o caminho mais curto entre dois pontos na superfície da Terra. A curva geodésica é construída supondo que a Terra seja uma esfera
- Facilidade de clique
- Se você quiser processar eventos disparados quando o usuário clicar na polilinha, defina essa propriedade como
true
. É possível alterar esse valor a qualquer momento. O padrão éfalse
. Se ela for definida comotrue
, seu app vai receber notificações para oGoogleMap.OnPolylineClickListener
registrado pelosetOnPolylineClickListener(GoogleMap.OnPolylineClickListener)
. - Tag
- Um
Object
associado à polilinha. Por exemplo,Object
pode conter dados sobre o que a polilinha representa. Isso é mais fácil do que armazenar umMap<Polyline, Object>
separado. Também é possível associar um IDString
correspondente ao ID de um conjunto de dados. O SDK do Google Maps para Android não lê nem grava essa propriedade. - Períodos
- Define os períodos com estilos diferentes usados para renderizar essa polilinha. Você pode usar essa propriedade para criar uma polilinha com diferentes
StrokeStyle
em diferentes segmentos da polilinha.
Os métodos nessa classe precisam ser chamados na linha de execução de interface do Android. Caso contrário, uma IllegalStateException
vai ser gerada no momento da execução.
Exemplo
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));
Guia do desenvolvedor
Para mais informações, leia o guia do desenvolvedor sobre Formas.
Resumo do método público
boolean | |
int |
getColor()
Recebe a cor desta polilinha.
|
Cap |
getEndCap()
Recebe o limite no vértice final desta polilinha.
|
String |
getId()
Recebe o ID dessa polilinha.
|
int |
getJointType()
Extrai o tipo de junção usado em todos os vértices da polilinha, exceto os vértices inicial e final.
|
List<PatternItem> |
getPattern()
Recebe o padrão do traço desta polilinha.
|
List<LatLng> |
getPoints()
Retorna um instantâneo dos vértices desta polilinha neste momento .
|
Cap |
getStartCap()
Recebe o limite no vértice inicial desta polilinha.
|
Objeto |
getTag()
Recebe a tag da polilinha.
|
float |
getWidth()
Recebe a largura desta polilinha.
|
float |
getZIndex()
Recebe o zIndex desta polilinha.
|
int |
hashCode()
|
boolean |
isClickable()
Recebe a capacidade de receber cliques da polilinha.
|
boolean |
isGeodesic()
Extrai se cada segmento da linha é desenhado como geodésica ou não.
|
boolean |
isVisible()
Recebe a visibilidade desta polilinha.
|
void |
remove()
Remove essa polilinha do mapa.
|
void |
setClickable(booleano clicável)
Define a capacidade de receber cliques da polilinha.
|
void |
setColor(int color)
Define a cor desta polilinha.
|
void | |
void |
setGeodesic(booleana geodésica)
Define se deve desenhar cada segmento da linha como geodésica ou não.
|
void |
setJointType(intjoinType)
Define o tipo de junção para todos os vértices da polilinha, exceto os vértices inicial e final.
|
void | |
void | |
void | |
void | |
void |
setTag(tag de objeto)
Define a tag para a polilinha.
|
void |
setVisible(booleano visível)
Define a visibilidade desta polilinha.
|
void |
setWidth(largura flutuante)
Define a largura desta polilinha.
|
void |
setZIndex(zIndex flutuante)
Define o zIndex dessa polilinha.
|
Resumo do método herdado
Métodos públicos
public booleano é igual a (Outro objeto)
public int getColor ()
Recebe a cor desta polilinha.
Retorna
- a cor no formato ARGB.
público Cap getEndCap ()
Recebe o limite no vértice final desta polilinha.
Retorna
- o tipo de imagem final.
public String getId ()
Recebe o ID dessa polilinha. O ID será exclusivo entre todas as polilinhas em um mapa.
Retorna
- o ID desta polilinha.
public int getJointType ()
Extrai o tipo de junção usado em todos os vértices da polilinha, exceto os vértices inicial e final. Consulte
JointType
para conferir os possíveis valores.
Retorna
- o tipo de junção.
public List<PatternItem> getPattern ()
Recebe o padrão do traço desta polilinha.
Retorna
- o padrão do traço.
public List<LatLng> getPoints ()
Retorna um instantâneo dos vértices desta polilinha neste momento . A lista retornada é uma cópia da lista de vértices. Portanto, as mudanças nos vértices da polilinha não serão refletidas por essa lista, nem as alterações nessa lista serão refletidas pela polilinha. Para mudar os vértices da polilinha, chame setPoints(List)
.
público Cap getStartCap ()
Recebe o limite no vértice inicial desta polilinha.
Retorna
- o limite inicial.
Objeto público getTag ()
Recebe a tag da polilinha.
Retorna
- a tag se ela tiver sido definida com
setTag
, enull
se nenhuma tag tiver sido definida.
public float getWidth ()
Recebe a largura desta polilinha.
Retorna
- a largura em pixels da tela.
public float getZIndex ()
Recebe o zIndex desta polilinha.
Retorna
- o zIndex da polilinha.
public int hashCode ()
public boolean isClickable ()
Recebe a capacidade de receber cliques da polilinha. Se a polilinha for clicável, seu app receberá notificações para GoogleMap.OnPolylineClickListener
quando o usuário clicar nela. O listener de eventos é registrado usando setOnPolylineClickListener(GoogleMap.OnPolylineClickListener)
.
Retorna
true
se a polilinha for clicável. Caso contrário, retornafalse
.
public boolean isGeodesic ()
Extrai se cada segmento da linha é desenhado como geodésica ou não.
Retorna
true
se cada segmento for desenhado como geodésicos.false
se cada segmento for desenhado como uma linha reta na projeção de Mercator.
public boolean isVisible ()
Recebe a visibilidade desta polilinha.
Retorna
- a visibilidade desta polilinha.
public void remover ()
Remove essa polilinha do mapa. Depois que uma polilinha é removida, o comportamento de todos os métodos dela fica indefinido.
public void setClickable (booleano clicável)
Define a capacidade de receber cliques da polilinha. Se a polilinha for clicável, seu app receberá notificações para GoogleMap.OnPolylineClickListener
quando o usuário clicar nela. O listener de eventos é registrado usando setOnPolylineClickListener(GoogleMap.OnPolylineClickListener)
.
Parâmetros
clicável | Nova configuração de clicabilidade para a polilinha. |
---|
public void setColor (int color)
Define a cor desta polilinha.
Parâmetros
cor | a cor no formato ARGB |
---|
public void setEndCap (Cap endCap)
Define o limite no vértice final desta polilinha. O limite final padrão é ButtCap
.
Parâmetros
endCap | a imagem final. Não pode ser null .
|
---|
public void setGeodesic (boolean geodesic)
Define se deve desenhar cada segmento da linha como geodésica ou não.
Parâmetros
geodesic | se definido como true , cada segmento será desenhado como uma geodésica. Se for false , cada segmento será desenhado como uma linha reta na projeção de Mercator.
|
---|
public void setJointType (intjoinType)
public void setPattern (padrão List<PatternItem>)
Define o padrão do traço da polilinha. O padrão do traço é sólido, representado por null
.
Parâmetros
padrão | o padrão do traço. |
---|
public void setPoints (List<LatLng> points)
Define os pontos dessa polilinha. Esse método usa uma cópia dos pontos. Portanto, outras mutações em points
não terão efeito nessa polilinha.
Parâmetros
points | Uma lista de LatLng s que são os vértices da polilinha.
|
---|
public void setStartCap (Cap startCap)
Define o limite no vértice inicial desta polilinha. O limite inicial padrão é ButtCap
.
Parâmetros
startCap | o limite inicial. Não pode ser null .
|
---|
public void setTag (tag de objeto)
Define a tag para a polilinha.
Você pode usar essa propriedade para associar um Object
arbitrário a essa polilinha. Por exemplo, Object
pode conter dados sobre o que a polilinha representa. Isso é mais fácil do que armazenar um Map<Polyline, Object>
separado. Como outro exemplo, você pode associar um ID String
correspondente ao ID de um conjunto de dados. O SDK do Google Maps para Android não lê nem grava essa propriedade. É sua responsabilidade chamar setTag(null)
para limpar a tag quando você não precisar mais dela e evitar vazamentos de memória no app.
Parâmetros
tag | se nulo, a tag é apagada. |
---|
public void setVisible (boolean visible)
Define a visibilidade desta polilinha. Quando não está visível, uma polilinha não é desenhada, mas mantém todas as outras propriedades.
Parâmetros
visível | se for true , a polilinha será visível; se false , não será.
|
---|
public void setWidth (largura do ponto flutuante)
Define a largura desta polilinha.
Parâmetros
largura | a largura em pixels da tela |
---|
public void setZIndex (float zIndex)
Define o zIndex dessa polilinha. As polilinhas com zIndices maiores são desenhadas acima daquelas com índices mais baixos.
Parâmetros
zIndex | o zIndex desta polilinha. |
---|