Un poligono sulla superficie terrestre. Un poligono può essere convesso o concavo, può estendersi sui 180 meridiani e può presentare fori che non vengono riempiti. Ha le seguenti proprietà:
- Struttura
- Il contorno è specificato da un elenco di vertici in senso orario o antiorario. Non è necessario che i punti di inizio e fine coincidano. In caso contrario, il poligono verrà chiuso automaticamente. I segmenti vengono disegnati tra punti consecutivi nelle due direzioni più brevi (est o ovest).
- Buchi
- Un foro è una regione all'interno del poligono che non è riempita. Un foro viene specificato esattamente nello stesso modo del contorno. Un foro deve essere racchiuso completamente nel contorno. È possibile specificare più fori, anche se i fori sovrapposti non sono supportati.
- Larghezza tratto
- Larghezza del segmento della linea in pixel dello schermo. La larghezza è costante e indipendente dal livello di zoom della videocamera. Il valore predefinito è 10.
- Colore tratto
- Colore segmento in formato ARGB, lo stesso formato utilizzato da
Color
. Il valore predefinito è nero (0xff000000
). - Tipo di bracciata
- Il tipo di unione definisce la forma da utilizzare quando si uniscono segmenti di linee adiacenti a tutti
i vertici del contorno del poligono. Consulta
JointType
per i tipi di articolazioni supportati. Il valore predefinito èDEFAULT
. - Tracciato
- Solido (predefinito, rappresentato da
null
) o una sequenza di oggettiPatternItem
da ripetere lungo il contorno del poligono. Tipi diPatternItem
disponibili:Gap
(definito dalla lunghezza del divario in pixel),Dash
(definito dalla larghezza del tratto e dalla lunghezza del trattino in pixel) eDot
(circolare, centrato sul contorno del poligono, diametro definito dal tratto in pixel). - Colore riempimento
- Inserisci il colore in formato ARGB, lo stesso formato utilizzato da
Color
. Il valore predefinito è trasparente (0x00000000
). Se la geometria del poligono non è specificata correttamente (vedi sopra per Outline e Fori), non verrà tracciato alcun riempimento. - Z-index
- L'ordine in cui viene tracciato questo poligono rispetto agli altri overlay, inclusi
Polyline
,Circle
,GroundOverlay
eTileOverlay
, ma nonMarker
. Un overlay con uno z-index più grande viene disegnato su overlay con z-index più piccoli. L'ordine degli overlay con lo stesso valore z-index è arbitrario. Il valore predefinito è 0. - Visibilità
- Indica se il poligono è visibile o invisibile, ovvero se è disegnato sulla mappa. Un poligono invisibile non viene tracciato, ma conserva tutte le altre proprietà. Il valore predefinito è
true
, ovvero visibile. - Stato geodetico
- Indica se i segmenti del poligono devono essere disegnati come geodetici, anziché su linee rette sulla proiezione di Mercatore. Una geodetica è il percorso più breve tra due punti sulla superficie terrestre. La curva geodetica viene costruita supponendo che la Terra sia una sfera
- Cliccabilità
- Se vuoi gestire gli eventi attivati quando l'utente fa clic sul poligono, imposta questa proprietà su
true
. Puoi modificare questo valore in qualsiasi momento. Il valore predefinito èfalse
. Se questa proprietà è impostata sutrue
, la tua app riceverà notifiche per il dominioGoogleMap.OnPolygonClickListener
registrato tramitesetOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
. - Tag
- Un
Object
associato al poligono. Ad esempio,Object
può contenere dati su ciò che il poligono rappresenta. Questa operazione è più semplice rispetto all'archiviazione di unMap<Polygon, Object>
separato. Come ulteriore esempio, puoi associare un IDString
corrispondente all'ID di un set di dati. Google Maps SDK for Android non legge né scrive questa proprietà.
I metodi in questa classe devono essere chiamati nel thread dell'interfaccia utente di Android. In caso contrario, verrà lanciato un elemento IllegalStateException
durante il runtime.
Esempio
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));
Guida per gli sviluppatori
Per ulteriori informazioni, leggi la guida per gli sviluppatori di Shapes.
Riepilogo del metodo pubblico
boolean | |
int |
getFillColor()
Visualizza il colore di riempimento del poligono.
|
List<List<LatLng>> |
getHoles()
Restituisce un'istantanea dei fori del poligono in questo momento .
|
Stringa |
getId()
Visualizza l'ID di questo poligono.
|
List<LatLng> |
getPoints()
Restituisce un'istantanea dei vertici di questo poligono in questo momento .
|
int |
getStrokeColor()
Visualizza il colore del tratto di questo poligono.
|
int |
getStrokejointType()
Visualizza il tipo di unione del tratto utilizzato in tutti i vertici del contorno del poligono.
|
List<PatternItem> |
getStrokePattern()
Visualizza lo schema tratto del contorno di questo poligono.
|
numero in virgola mobile |
getStrokeWidth()
Visualizza la larghezza del tratto di questo poligono.
|
Oggetto |
getTag
Visualizza il tag per il poligono.
|
numero in virgola mobile |
getZIndex()
Restituisce lo zIndex di questo poligono.
|
int |
hashCode()
|
boolean |
isClickable()
Visualizza la cliccabilità del poligono.
|
boolean |
isGeodesic()
Visualizza se ciascun segmento della linea è tracciato come geodetica.
|
boolean |
isVisible()
Visualizza la visibilità di questo poligono.
|
nullo |
rimuovi()
Rimuove il poligono dalla mappa.
|
nullo |
setClickable(booleano cliccabile)
Imposta la cliccabilità del poligono.
|
nullo |
setFillColor(colore colore)
Imposta il colore di riempimento di questo poligono.
|
nullo |
setGeodesic(geodetica booleana)
Consente di specificare se disegnare ogni segmento della linea come geodetica o meno.
|
nullo | |
nullo | |
nullo |
setStrokeColor(colore colore)
Imposta il colore del tratto di questo poligono.
|
nullo |
setStrokejointType(int JoinType)
Imposta il tipo di unione per tutti i vertici del contorno del poligono.
|
nullo |
setStrokePattern(List<PatternItem> pattern)
Imposta il pattern del tratto del contorno del poligono.
|
nullo |
setStrokeWidth(larghezza del floating)
Imposta la larghezza del tratto di questo poligono.
|
nullo |
setTag(Tag oggetto)
Imposta il tag per il poligono.
|
nullo |
setVisible(booleano visibile)
Imposta la visibilità di questo poligono.
|
nullo |
setZIndex(zindex mobile)
Imposta lo zindex di questo poligono.
|
Riepilogo del metodo ereditato
Metodi pubblici
pubblico booleano uguale a (Altro oggetto)
public int getFillColor ()
Visualizza il colore di riempimento del poligono.
Restituisce
- il colore in formato ARGB.
public List<List<LatLng>> getHoles ()
Restituisce un'istantanea dei fori del poligono in questo momento . L'elenco restituito è una copia dell'elenco dei fori, pertanto le modifiche ai fori del poligono non verranno applicate a questo elenco, così come le modifiche a questo elenco non da parte del poligono.
pubblica Stringa getId ()
Visualizza l'ID di questo poligono. L'ID sarà univoco tra tutti i poligoni di una mappa.
public List<LatLng> getPoints ()
Restituisce un'istantanea dei vertici di questo poligono in questo momento . L'elenco restituito è una copia
dell'elenco dei vertici e quindi le modifiche ai vertici del poligono non verranno applicate a questo elenco, così come le modifiche a questo elenco non verranno applicate dal poligono. Per modificare i vertici del poligono, chiama setPoints(List)
.
public int getStrokeColor ()
Visualizza il colore del tratto di questo poligono.
Restituisce
- il colore in formato ARGB.
public int getStrokejointType ()
Visualizza il tipo di unione del tratto utilizzato in tutti i vertici del contorno del poligono. Consulta JointType
per i valori possibili.
Restituisce
- il tipo di unione del tratto.
public List<PatternItem> getStrokePattern ()
Visualizza lo schema tratto del contorno di questo poligono.
Restituisce
- l'andamento del tratto.
floating pubblico getStrokeWidth ()
Visualizza la larghezza del tratto di questo poligono.
Restituisce
- la larghezza in pixel dello schermo,
pubblico Oggetto getTag ()
Visualizza il tag per il poligono.
Restituisce
- il tag se è stato impostato con
setTag
;null
se non è stato impostato alcun tag.
floating pubblico getZIndex ()
Restituisce lo zIndex di questo poligono.
Restituisce
- lo z-index del poligono.
public int hashCode ()
pubblico booleano isClickable ()
Visualizza la cliccabilità del poligono. Se è possibile fare clic sul poligono, la tua app riceverà notifiche al GoogleMap.OnPolygonClickListener
quando l'utente fa clic sul poligono.
Il listener di eventi è registrato tramite setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
.
Restituisce
true
se il poligono è cliccabile; in caso contrario, restituiscefalse
.
pubblico booleano isGeodesic ()
Visualizza se ciascun segmento della linea è tracciato come geodetica.
Restituisce
true
se ogni segmento è tracciato come geodetica;false
se ogni segmento è tracciato come una linea retta sulla proiezione di Mercator.
pubblico booleano isVisible ()
Visualizza la visibilità di questo poligono.
Restituisce
- la visibilità di questo poligono.
pubblica void rimuovi ()
Rimuove il poligono dalla mappa. Una volta rimosso un poligono, il comportamento di tutti i suoi metodi è indefinito.
pubblico void setClickable (booleano cliccabile)
Imposta la cliccabilità del poligono. Se è possibile fare clic sul poligono, la tua app riceverà notifiche al GoogleMap.OnPolygonClickListener
quando l'utente fa clic sul poligono.
Il listener di eventi è registrato tramite setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
.
Parametri
cliccabile | Nuova impostazione di cliccabilità per il poligono. |
---|
public void setFillColor (colore di colore)
Imposta il colore di riempimento di questo poligono.
Parametri
colore | il colore in formato ARGB |
---|
pubblica void setGeodesic (geodetica booleana)
Consente di specificare se disegnare ogni segmento della linea come geodetica o meno.
Parametri
geodetico | se true , ciascun segmento viene tracciato come una geodetica; se false ,
ogni segmento viene tracciato come una linea retta sulla proiezione di Mercatore.
|
---|
public void setHoles (List<? estende List<LatLng>> hole)
Imposta i fori di questo poligono. Questo metodo acquisirà una copia dei fori, pertanto ulteriori mutazioni in holes
non avranno effetto su questo poligono.
Parametri
buchi | un elenco di buche, dove un buco è un elenco di LatLng .
|
---|
public void setPoints (List<LatLng> points)
Imposta i punti di questo poligono. Questo metodo acquisisce una copia dei punti, pertanto ulteriori
mutazioni a points
non avranno effetto su questo poligono.
Parametri
punti | un elenco di LatLng che sono i vertici del poligono.
|
---|
pubblico void setStrokeColor (colore int)
Imposta il colore del tratto di questo poligono.
Parametri
colore | il colore in formato ARGB |
---|
public void setStrokejointType (int jointType)
public void setStrokePattern (List<PatternItem> pattern)
Imposta il pattern del tratto del contorno del poligono. Il pattern tratto predefinito è solido, rappresentato da null
.
Parametri
pattern | l'andamento del tratto. |
---|
public void setStrokeWidth (larghezza di virgola mobile)
Imposta la larghezza del tratto di questo poligono.
Parametri
width | la larghezza in pixel del display. |
---|
pubblica void setTag (Tag oggetto)
Imposta il tag per il poligono.
Puoi utilizzare questa proprietà per associare un Object
arbitrario a questo poligono. Ad esempio, Object
può contenere dati su ciò che il poligono rappresenta. Questa operazione è più semplice
che l'archiviazione di un Map<Polygon, Object>
separato. Come ulteriore esempio, puoi associare un ID String
corrispondente all'ID di un set di dati. Google Maps SDK for Android non legge né scrive questa proprietà. È tua responsabilità chiamare il numero setTag(null)
per cancellare
il tag quando non ti serve più, per evitare perdite di memoria nella tua app.
Parametri
tag (m.) | se il valore è null, il tag viene cancellato. |
---|
pubblica void setVisible (booleano visibile)
Imposta la visibilità di questo poligono. Se non è visibile, un poligono non viene disegnato, ma conserva tutte le altre proprietà.
Parametri
visibile | se true , il poligono è visibile; se false , non lo è.
|
---|
pubblico void setZIndex (zindex mobile)
Imposta lo zindex di questo poligono. I poligoni con zIndice superiori vengono tracciati sopra quelli con indici inferiori.
Parametri
z-index | lo z-index di questo poligono. |
---|