Um polígono na superfície da Terra. Um polígono pode ser convexo ou côncavo, pode abranger o meridiano de 180 e ter buracos não preenchidos. Ele tem as seguintes propriedades:
- Contorno
- O contorno é especificado por uma lista de vértices em sentido horário ou anti-horário. Não é necessário que os pontos inicial e final coincidam. Se isso não acontecer, o polígono será fechado automaticamente. Segmentos de linha são desenhados entre pontos consecutivos na menor das duas direções (leste ou oeste).
- Buracos
- Um buraco é uma região dentro do polígono que não é preenchida. Um buraco é especificado exatamente da mesma forma que o contorno. Um buraco precisa estar totalmente contido no contorno. É possível especificar vários buracos, mas não são aceitos buracos sobrepostos.
- Largura do traço
- 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 do traço
- Cor do segmento de linha em formato ARGB, o mesmo formato usado por
Color
. O valor padrão é preto (0xff000000
). - Tipo de junta de traço
- O tipo de junção define a forma usada ao unir segmentos de linha adjacentes em todos os vértices do contorno do polígono. Consulte
JointType
para saber quais são os tipos de junção compatíveis. O valor padrão éDEFAULT
. - Padrão de traço
- São sólidos (padrão, representados por
null
) ou uma sequência de objetosPatternItem
a serem repetidos ao longo do contorno do polígono. Tipos dePatternItem
disponíveis:Gap
(definido pelo tamanho do intervalo em pixels),Dash
(definido pela largura do traço e comprimento do traço em pixels) eDot
(circular, centralizado no contorno do polígono, diâmetro definido pela largura do traço em pixels). - Cor de preenchimento
- Cor de preenchimento em formato ARGB, o mesmo formato usado por
Color
. O valor padrão é transparente (0x00000000
). Se a geometria do polígono não for especificada corretamente (consulte "Contorno e buracos" acima), nenhum preenchimento será desenhado. - Z-index
- É a ordem em que o polígono é desenhado em relação a outras sobreposições, incluindo
Polyline
s,Circle
s,GroundOverlay
s eTileOverlay
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 valor de Z-index é aleatória. O padrão é 0. - Visibilidade
- Indica se o polígono é visível ou invisível, ou seja, se é desenhado no mapa. Um polígono invisível não é desenhado, mas mantém todas as outras propriedades. O padrão é
true
, ou seja, visível. - Status geodésico
- Indica se os segmentos do polígono 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 no polígono, 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.OnPolygonClickListener
registrado pelosetOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
. - Tag
- Um
Object
associado ao polígono. Por exemplo,Object
pode conter dados sobre o que o polígono representa. Isso é mais fácil do que armazenar umMap<Polygon, 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.
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 triangle in the Gulf of Guinea
Polygon polygon = map.addPolygon(new PolygonOptions()
.add(new LatLng(0, 0), new LatLng(0, 5), new LatLng(3, 5), new LatLng(0, 0))
.strokeColor(Color.RED)
.fillColor(Color.BLUE));
Guia do desenvolvedor
Para mais informações, leia o guia do desenvolvedor sobre Formas.
Resumo do método público
boolean | |
int |
getFillColor()
Recebe a cor de preenchimento deste polígono.
|
List<List<LatLng>> |
getHoles()
Retorna um instantâneo dos buracos deste polígono no momento .
|
String |
getId()
Recebe o ID desse polígono.
|
List<LatLng> |
getPoints()
Retorna um instantâneo dos vértices deste polígono no momento .
|
int |
getStrokeColor()
Recebe a cor do traço deste polígono.
|
int |
getStrokeJointType()
Define o tipo de junção de traço usado em todos os vértices do contorno do polígono.
|
List<PatternItem> |
getStrokePattern()
Recebe o padrão do traço do contorno do polígono.
|
float |
getStrokeWidth()
Recebe a largura do traço deste polígono.
|
Objeto |
getTag()
Recebe a tag do polígono.
|
float |
getZIndex()
Recebe o zIndex deste polígono.
|
int |
hashCode()
|
boolean |
isClickable()
Recebe a capacidade de receber cliques do polígono.
|
boolean |
isGeodesic()
Extrai se cada segmento da linha é desenhado como geodésica ou não.
|
boolean |
isVisible()
Recebe a visibilidade deste polígono.
|
void |
remove()
Remove o polígono do mapa.
|
void |
setClickable(booleano clicável)
Define a capacidade de receber cliques do polígono.
|
void |
setFillColor(int color)
Define a cor de preenchimento deste polígono.
|
void |
setGeodesic(booleana geodésica)
Define se deve desenhar cada segmento da linha como geodésica ou não.
|
void | |
void | |
void |
setStrokeColor(cor int)
Define a cor do traço deste polígono.
|
void |
setStrokeJointType(intjoinType)
Define o tipo de junção para todos os vértices do contorno do polígono.
|
void | |
void |
setStrokeWidth(largura flutuante)
Define a largura do traço desse polígono.
|
void |
setTag(tag de objeto)
Define a tag do polígono.
|
void |
setVisible(booleano visível)
Define a visibilidade deste polígono.
|
void |
setZIndex(zIndex flutuante)
Define o zIndex deste polígono.
|
Resumo do método herdado
Métodos públicos
public booleano é igual a (Outro objeto)
public int getFillColor ()
Recebe a cor de preenchimento deste polígono.
Retorna
- a cor no formato ARGB.
public List<List<LatLng>> getHoles ()
Retorna um instantâneo dos buracos deste polígono no momento . A lista retornada é uma cópia da lista de buracos. Portanto, as mudanças feitas nos buracos do polígono não são refletidas por essa lista e as mudanças feitas nessa lista não são refletidas pelo polígono.
public String getId ()
Recebe o ID desse polígono. O ID será exclusivo entre todos os polígonos em um mapa.
public List<LatLng> getPoints ()
Retorna um instantâneo dos vértices deste polígono no momento . A lista retornada é uma cópia da lista de vértices. Portanto, as mudanças nos vértices do polígono não serão refletidas por essa lista, nem as alterações nessa lista serão refletidas pelo polígono. Para mudar os vértices do polígono, chame setPoints(List)
.
public int getStrokeColor ()
Recebe a cor do traço deste polígono.
Retorna
- a cor no formato ARGB.
public int getStrokeJointType ()
Define o tipo de junção de traço usado em todos os vértices do contorno do polígono. Consulte JointType
para conferir os possíveis valores.
Retorna
- o tipo de junção de traço.
public List<PatternItem> getStrokePattern ()
Recebe o padrão do traço do contorno do polígono.
Retorna
- o padrão do traço.
public float getStrokeWidth ()
Recebe a largura do traço deste polígono.
Retorna
- a largura em pixels da tela.
Objeto público getTag ()
Recebe a tag do polígono.
Retorna
- a tag se ela tiver sido definida com
setTag
, enull
se nenhuma tag tiver sido definida.
public float getZIndex ()
Recebe o zIndex deste polígono.
Retorna
- o zIndex do polígono.
public int hashCode ()
public boolean isClickable ()
Recebe a capacidade de receber cliques do polígono. Se o polígono for clicável, seu app receberá notificações para GoogleMap.OnPolygonClickListener
quando o usuário clicar nele.
O listener de eventos é registrado usando setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
.
Retorna
true
se o polígono 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 deste polígono.
Retorna
- essa visibilidade de polígono.
public void remover ()
Remove o polígono do mapa. Depois que um polígono é removido, o comportamento de todos os métodos dele é indefinido.
public void setClickable (booleano clicável)
Define a capacidade de receber cliques do polígono. Se o polígono for clicável, seu app receberá notificações para GoogleMap.OnPolygonClickListener
quando o usuário clicar nele.
O listener de eventos é registrado usando setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
.
Parâmetros
clicável | Nova configuração de clicabilidade para o polígono. |
---|
public void setFillColor (int color)
Define a cor de preenchimento deste polígono.
Parâmetros
cor | a cor no formato ARGB |
---|
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 setHoles (List<? estende List<LatLng>> buracos)
Define os buracos deste polígono. Esse método usa uma cópia dos buracos. Portanto, outras mutações em holes
não terão efeito nesse polígono.
Parâmetros
buracos | Uma lista de buracos, em que um buraco é uma lista de LatLng s.
|
---|
public void setPoints (List<LatLng> points)
Define os pontos desse polígono. Esse método usa uma cópia dos pontos. Portanto, outras mutações em points
não terão efeito nesse polígono.
Parâmetros
points | Uma lista de LatLng s que são os vértices do polígono.
|
---|
public void setStrokeColor (int color)
Define a cor do traço deste polígono.
Parâmetros
cor | a cor no formato ARGB |
---|
public void setStrokeJointType (intjoinType)
public void setStrokePattern (padrão List<PatternItem>)
Define o padrão do traço do contorno do polígono. 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 setStrokeWidth (largura do ponto flutuante)
Define a largura do traço desse polígono.
Parâmetros
largura | a largura em pixels de exibição. |
---|
public void setTag (tag de objeto)
Define a tag do polígono.
Você pode usar essa propriedade para associar um Object
arbitrário a esse polígono. Por exemplo, Object
pode conter dados sobre o que o polígono representa. Isso é mais fácil do que armazenar um Map<Polygon, 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 deste polígono. Quando não está visível, um polígono não é desenhado, mas mantém todas as outras propriedades.
Parâmetros
visível | se for true , o polígono será visível; se false , não será.
|
---|
public void setZIndex (float zIndex)
Define o zIndex deste polígono. Polígonos com zIndices mais altos são desenhados acima daqueles com índices mais baixos.
Parâmetros
zIndex | o zIndex deste polígono. |
---|