Uma polilinha é uma lista de pontos, em que os 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 linhas 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 no formato ARGB, o mesmo formato usado por
Color
. O valor padrão é preto (0xff000000
). - Limite de início/término
- Define a forma a ser usada no início ou no fim de uma polilinha. Tipos de limite compatíveis:
ButtCap
,SquareCap
,RoundCap
(aplicáveis para 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 os vértices de início e fim. Consulte
JointType
para ver os tipos de junção compatíveis. O valor padrão éDEFAULT
. - Padrão de traço
- contínua (padrão, representada por
null
) ou uma sequência de objetosPatternItem
a ser repetida ao longo da linha. Tipos dePatternItem
disponíveis:Gap
(definido pelo tamanho da lacuna 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 essa 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 as sobreposições com índices Z 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 está visível ou invisível, ou seja, se ela está desenhada no mapa. Uma
polilinha invisível não é desenhada, mas mantém todas as propriedades dela. 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 considerando que a Terra é uma esfera
- Clicabilidade
- Se você quiser processar eventos acionados quando o usuário clica na polilinha, defina essa propriedade como
true
. É possível alterar esse valor a qualquer momento. O padrão éfalse
. Se essa propriedade for definida comotrue
, o app 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. Como outro exemplo, é 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
StrokeStyle
diferentes em segmentos distintos da polilinha.
Os métodos dessa classe precisam ser chamados na linha de execução de IU do Android. Caso contrário, um IllegalStateException
será gerado 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 de desenvolvedores 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 dessa polilinha.
|
String |
getId ()
Recebe esse ID de polilinha.
|
int |
getJointType()
Acessa o tipo de junção usado em todos os vértices da polilinha, exceto os vértices de início e fim.
|
Lista<PatternItem> |
getPattern()
Recebe o padrão de traço dessa polilinha.
|
Lista<LatLng> |
getPoints ()
Retorna um snapshot dos vértices dessa polilinha neste momento .
|
Cap |
getStartCap()
Recebe o limite no vértice de início dessa polilinha.
|
Objeto |
getTag
Recebe a tag para a polilinha.
|
float |
getWidth()
Recebe a largura desta polilinha.
|
float |
getZIndex ()
Recebe o zIndex dessa polilinha.
|
int |
hashCode().
|
boolean |
isClickable().
Recebe a clicabilidade da polilinha.
|
boolean |
isGeodesic()
Determina se cada segmento da linha é desenhado como um geodésico ou não.
|
boolean |
isVisible()
Recebe a visibilidade dessa polilinha.
|
void |
remove()
Remove essa polilinha do mapa.
|
void |
setClickable (booleano clicável)
Define a clicabilidade da polilinha.
|
void |
setColor (cor colorida)
Define a cor desta polilinha.
|
void | |
void |
setGeodesic(geodésico booleano)
Define se é necessário 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 de início e fim.
|
void | |
void | |
void | |
void | |
void |
setTag(tag de objeto)
Define a tag para a polilinha.
|
void |
setVisible(booleano visível)
Define a visibilidade dessa 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
booleano público igual a (outro objeto)
int público getColor ()
Recebe a cor desta polilinha.
Retorna
- a cor no formato ARGB.
público getEndCap ()
Recebe o limite no vértice final dessa polilinha.
Retorna
- o tipo de limite final.
string pública getId ()
Recebe esse ID de polilinha. O ID será exclusivo entre todas as polilinhas em um mapa.
Retorna
- este ID de polilinha.
int público getJointType ()
Acessa o tipo de junção usado em todos os vértices da polilinha, exceto os vértices de início e fim. Consulte
JointType
para ver os possíveis valores.
Retorna
- o tipo de junção.
public List<PatternItem> getPattern ()
Recebe o padrão de traço dessa polilinha.
Retorna
- o padrão do traço.
public List<LatLng> getPoints ()
Retorna um snapshot dos vértices dessa 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 Limite getStartCap ()
Recebe o limite no vértice de início dessa polilinha.
Retorna
- o limite inicial.
Objeto público getTag ()
Recebe a tag para a polilinha.
Retorna
- a tag se uma tag tiver sido definida com
setTag
;null
se nenhuma tag tiver sido definida.
ponto flutuante público getWidth ()
Recebe a largura desta polilinha.
Retorna
- a largura em pixels da tela.
ponto flutuante público getZIndex ()
Recebe o zIndex dessa polilinha.
Retorna
- ZzIndex da polilinha.
int público hashCode ()
booleano público isClickable ()
Recebe a clicabilidade da polilinha. Se a polilinha for clicável, o app receberá notificações no GoogleMap.OnPolylineClickListener
quando o usuário clicar na polilinha. O listener de eventos é registrado pelo setOnPolylineClickListener(GoogleMap.OnPolylineClickListener)
.
Retorna
true
, se a polilinha for clicável. Caso contrário, retornaráfalse
.
booleano público isGeodesic ()
Determina se cada segmento da linha é desenhado como um geodésico ou não.
Retorna
true
se cada segmento for desenhado como um geodésico,false
se cada segmento for desenhado como uma linha reta na projeção de Mercator.
booleano público isVisible ()
Recebe a visibilidade dessa polilinha.
Retorna
- a visibilidade desta polilinha.
public void remove ()
Remove essa polilinha do mapa. Depois que uma polilinha é removida, o comportamento de todos os métodos é indefinido.
public void setClickable (booleano clicável)
Define a clicabilidade da polilinha. Se a polilinha for clicável, o app receberá notificações no GoogleMap.OnPolylineClickListener
quando o usuário clicar na polilinha. O listener de eventos é registrado pelo setOnPolylineClickListener(GoogleMap.OnPolylineClickListener)
.
Parâmetros
clicável | Nova configuração de cliques para a polilinha. |
---|
public void setColor (int color)
Define a cor desta polilinha.
Parâmetros
cor | A cor no formato ARGB |
---|
void public setEndCap (Cap endCap)
Define o limite no vértice final dessa polilinha. O limite final padrão é ButtCap
.
Parâmetros
limite final | o limite final. Não pode ser null .
|
---|
public void setGeodesic (booleano geodésico)
Define se é necessário desenhar cada segmento da linha como geodésica ou não.
Parâmetros
geodesic | Se for true , cada segmento será desenhado como um geodésico. Se for false ,
cada segmento será desenhado como uma linha reta na projeção de Mercator.
|
---|
public void setJointType (int joinType)
void null setPattern (List<PatternItem> padrão)
Define o padrão de traço da polilinha. O padrão do traço padrão é sólido, representado por null
.
Parâmetros
padrão | o padrão do traço. |
---|
public void setPoints (List<LatLng> pontos)
Define os pontos desta polilinha. Esse método usará uma cópia dos pontos. Portanto, outras
mutações para points
não terão efeito nessa polilinha.
Parâmetros
pontos | Uma lista de LatLng s que são os vértices da polilinha.
|
---|
void public setSpans (List<StyleSpan> períodos)
Define os períodos da polilinha.
Parâmetros
períodos |
---|
public void setStartCap (Cap startCap)
Define o limite no vértice de início dessa polilinha. O limite inicial padrão é ButtCap
.
Parâmetros
limite de início | 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, é possível associar um ID String
que corresponde 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 ela não for mais necessária, para evitar vazamentos de memória no seu app.
Parâmetros
tag | se o valor for nulo, a tag será apagada. |
---|
public void setVisible (booleano visível)
Define a visibilidade dessa polilinha. Quando não é visível, uma polilinha não é desenhada, mas mantém todas as propriedades.
Parâmetros
visível | se for true , o polilinha será visível. Se estiver false , não será.
|
---|
public void setWidth (largura 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. Polilinhas com zIndices mais altos são desenhadas acima daquelas com índices mais baixos.
Parâmetros
Zindex | o zIndex dessa polilinha. |
---|