Un poligono sulla superficie della Terra. Un poligono può essere convesso o concavo, può estendersi sul meridiano di 180 e può avere fori non riempiti. Ha le seguenti proprietà:
- Contorno
- Il contorno viene specificato da un elenco di vertici in ordine orario o antiorario. Non è necessario che i punti di partenza e di arrivo coincidano; in caso contrario, il poligono verrà chiuso automaticamente. I segmenti di linea vengono tracciati tra punti consecutivi nella parte più corta delle due direzioni (est o ovest).
- Buchi
- Un foro è un'area non riempita all'interno del poligono. Un foro viene specificato esattamente nello stesso modo del contorno. I fori devono essere contenuti completamente all'interno del contorno. È possibile specificare più fori, tuttavia i fori sovrapposti non sono supportati.
- Larghezza tratto
- Larghezza del segmento in pixel dello schermo. La larghezza è costante e indipendente dal livello di zoom della fotocamera. Il valore predefinito è 10.
- Colore tratto
- Colore del segmento della linea in formato ARGB, lo stesso formato utilizzato da
Color
. Il valore predefinito è nero (0xff000000
). - Tipo di giunto ictus
- Il tipo di giunto definisce la forma da utilizzare quando unisci segmenti di linee adiacenti su tutti i vertici del contorno del poligono. Consulta la pagina
JointType
per conoscere i tipi di giunti supportati. Il valore predefinito èDEFAULT
. - Sequenza del tratto
- Solido (predefinito, rappresentato da
null
) o una sequenza diPatternItem
oggetti da ripetere lungo il contorno del poligono. Tipi diPatternItem
disponibili:Gap
(definito in base alla lunghezza dell'intervallo in pixel),Dash
(definito in base allo spessore del tratto e alla lunghezza del trattino in pixel) eDot
(circolare, centrato sul contorno del poligono, il diametro definito dallo spessore del tratto in pixel). - Colore riempimento
- Inserisci il colore nel formato ARGB, lo stesso formato utilizzato da
Color
. Il valore predefinito è trasparente (0x00000000
). Se la geometria del poligono non è specificata correttamente (vedi sopra per Contorno e Buchi), non verrà tracciato alcun riempimento. - Z-index
- L'ordine in cui viene disegnato il poligono rispetto ad altri overlay, inclusi
Polyline
,Circle
,GroundOverlay
eTileOverlay
, ma nonMarker
. Un overlay con uno z-index più grande viene disegnato sopra gli overlay con indici z più piccoli. L'ordine delle sovrapposizioni 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 tracciati come geodetici, anziché come linee rette nella proiezione di Mercatore. Una geodetica è il percorso più breve tra due punti sulla superficie terrestre. La curva geodetica viene creata 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à viene impostata sutrue
, la tua app riceverà notifiche alGoogleMap.OnPolygonClickListener
registrato tramitesetOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
. - Tag
- Un elemento
Object
associato al poligono. Ad esempio,Object
può contenere dati su ciò che rappresenta il poligono. 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. L'SDK Google Maps for Android non legge né scrive questa proprietà.
I metodi di questa classe devono essere chiamati nel thread dell'interfaccia utente Android. In caso contrario, verrà generato un IllegalStateException
in fase di 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 maggiori informazioni, leggi la guida per gli sviluppatori di Forme.
Riepilogo del metodo pubblico
boolean | |
int |
getFillColor()
Restituisce il colore di riempimento del poligono.
|
List<List<LatLng>> |
getHoles()
Restituisce un'istantanea dei punti mancanti del poligono in questo momento .
|
Stringa |
getId()
Restituisce l'ID di questo poligono.
|
List<LatLng> |
getPoints()
Restituisce un'istantanea dei vertici del poligono in questo momento .
|
int |
getStrokeColor()
Restituisce il colore del tratto di questo poligono.
|
int |
getStrokeJointType()
Restituisce il tipo di giunto tratto utilizzato a tutti i vertici del contorno del poligono.
|
List<PatternItem> |
getStrokePattern()
Restituisce lo schema del tratto del contorno di questo poligono.
|
float |
getStrokeWidth()
Restituisce lo spessore del tratto di questo poligono.
|
Oggetto |
getTag()
Restituisce il tag per il poligono.
|
float |
getZIndex()
Restituisce il valore zIndex di questo poligono.
|
int |
hashCode()
|
boolean |
isClickable()
Restituisce la cliccabilità del poligono.
|
boolean |
isGeodesic()
Riconosce se ogni segmento della linea è tracciato come geodetico o meno.
|
boolean |
isVisible()
Restituisce la visibilità di questo poligono.
|
void |
remove()
Rimuove il poligono dalla mappa.
|
void |
setClickable(cliccabile booleano)
Imposta la cliccabilità del poligono.
|
void |
setFillColor(colore interno)
Imposta il colore di riempimento del poligono.
|
void |
setGeodesic(geodetica booleana)
Consente di impostare se tracciare ogni segmento della linea come geodetico o meno.
|
void | |
void | |
void |
setStrokeColor(colore interno)
Imposta il colore del tratto di questo poligono.
|
void |
setStrokeJointType(int jointType)
Imposta il tipo di giunto per tutti i vertici del contorno del poligono.
|
void |
setStrokePattern(Pattern List<PatternItem>)
Imposta il pattern del tratto del contorno del poligono.
|
void |
setStrokeWidth(larghezza del virgola mobile)
Imposta lo spessore del tratto di questo poligono.
|
void |
setTag(tag oggetto)
Imposta il tag per il poligono.
|
void |
setVisible(boolean visibile)
Imposta la visibilità del poligono.
|
void |
setZIndex(zIndex in virgola mobile)
Imposta il valore zIndex del poligono.
|
Riepilogo del metodo ereditato
Metodi pubblici
Public booleano uguale a (Object other)
Public int getFillColor ()
Restituisce il colore di riempimento del poligono.
Ritorni
- il colore nel formato ARGB.
Public List<List<LatLng>> getHoles ()
Restituisce un'istantanea dei punti mancanti del poligono in questo momento . L'elenco restituito è una copia dell'elenco dei fori, pertanto le modifiche apportate ai fori del poligono non verranno applicate da questo elenco né le modifiche all'elenco verranno applicate dal poligono.
Stringa pubblica getId ()
Restituisce l'ID di questo poligono. L'ID sarà univoco tra tutti i poligoni su una mappa.
Public List<LatLng> getPoints ()
Restituisce un'istantanea dei vertici del poligono in questo momento . L'elenco restituito è una copia
dell'elenco dei vertici. Pertanto, le modifiche ai vertici del poligono non verranno applicate dall'elenco
né al poligono. Per modificare i vertici del poligono, chiama setPoints(List)
.
pubblico int getStrokeColor ()
Restituisce il colore del tratto di questo poligono.
Ritorni
- il colore nel formato ARGB.
pubblico int getStrokeJointType ()
Restituisce il tipo di giunto tratto utilizzato a tutti i vertici del contorno del poligono. Consulta la pagina JointType
per conoscere i valori possibili.
Ritorni
- il tipo di giunto tratto.
Public List<PatternItem> getStrokePattern ()
Restituisce lo schema del tratto del contorno di questo poligono.
Ritorni
- lo schema del tratto.
numero in virgola mobile pubblico getStrokeWidth ()
Restituisce lo spessore del tratto di questo poligono.
Ritorni
- la larghezza in pixel dello schermo.
pubblico Oggetto getTag ()
Restituisce il tag per il poligono.
Ritorni
- il tag se un tag è stato impostato con
setTag
;null
se non è stato impostato alcun tag.
numero in virgola mobile getZIndex ()
Restituisce il valore zIndex di questo poligono.
Ritorni
- lo zIndex del poligono.
pubblici int hashCode ()
pubblico booleano isClickable ()
Restituisce la cliccabilità del poligono. Se il poligono è cliccabile, l'app riceverà notifiche a GoogleMap.OnPolygonClickListener
quando l'utente farà clic sul poligono.
Il listener di eventi è registrato tramite setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
.
Ritorni
true
se il poligono è cliccabile; in caso contrario, restituiscefalse
.
pubblico booleano isGeodesic ()
Riconosce se ogni segmento della linea è tracciato come geodetico o meno.
Ritorni
true
se ogni segmento è tracciato come una geodetica;false
se ogni segmento è disegnato come una linea retta sulla proiezione di Mercatore.
pubblici booleano isVisible ()
Restituisce la visibilità di questo poligono.
Ritorni
- la visibilità di questo poligono.
Public void remove ()
Rimuove il poligono dalla mappa. Dopo la rimozione di un poligono, il comportamento di tutti i suoi metodi non è definito.
Public void setClickable (booleano cliccabile)
Imposta la cliccabilità del poligono. Se il poligono è cliccabile, l'app riceverà notifiche a GoogleMap.OnPolygonClickListener
quando l'utente farà clic sul poligono.
Il listener di eventi è registrato tramite setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
.
Parametri
cliccabile | Nuova impostazione di cliccabilità per il poligono. |
---|
Public void setFillColor (int color)
Imposta il colore di riempimento del poligono.
Parametri
colore | Il colore nel formato ARGB |
---|
Public void setGeodesic (boolean geodesic)
Consente di impostare se tracciare ogni segmento della linea come geodetico o meno.
Parametri
geodetico | Se true , ogni segmento viene disegnato come geodetica; se false , ogni segmento viene tracciato come una linea retta sulla proiezione di Mercatore.
|
---|
Public void setHoles (List<? extends List<LatLng>> buche)
Consente di impostare i punti forati di questo poligono. Questo metodo acquisirà una copia dei fori, quindi ulteriori mutazioni in holes
non avranno effetto su questo poligono.
Parametri
buche | un elenco di buche, dove un buco è un elenco di LatLng .
|
---|
pubblici void setPoints (List<LatLng> punti)
Imposta i punti del poligono. Questo metodo acquisirà una copia dei punti, pertanto ulteriori modifiche a points
non avranno effetto su questo poligono.
Parametri
punti | un elenco di LatLng che rappresentano i vertici del poligono.
|
---|
Public void setStrokeColor (int color)
Imposta il colore del tratto di questo poligono.
Parametri
colore | Il colore nel formato ARGB |
---|
Public void setStrokeJointType (int jointType)
Public void setStrokePattern (Pattern List<PatternItem>)
Imposta il pattern del tratto del contorno del poligono. Il pattern del tratto predefinito è continuo, rappresentato da null
.
Parametri
pattern | lo schema del tratto. |
---|
Public void setStrokeWidth (larghezza virgola mobile)
Imposta lo spessore del tratto di questo poligono.
Parametri
width | la larghezza in pixel dello schermo. |
---|
Public void setTag (Tag oggetto)
Imposta il tag per il poligono.
Puoi utilizzare questa proprietà per associare un valore Object
arbitrario a questo poligono. Ad
esempio, Object
può contenere dati relativi a ciò che rappresenta il poligono. Questa operazione è più semplice rispetto all'archiviazione di un Map<Polygon, Object>
separato. Come ulteriore esempio, puoi associare un
ID String
corrispondente all'ID di un set di dati. L'SDK Google Maps for Android non legge né scrive questa proprietà. È tua responsabilità chiamare setTag(null)
per cancellare il tag quando non ti serve più, al fine di evitare perdite di memoria nella tua app.
Parametri
tag (m.) | Se null, il tag viene cancellato. |
---|
Public void setVisible (boolean visible)
Imposta la visibilità del poligono. Quando non è visibile, un poligono non viene disegnato, ma conserva tutte le altre proprietà.
Parametri
visibile | se true , il poligono è visibile; se false , non lo è.
|
---|
Public void setZIndex (zIndex in virgola mobile)
Imposta il valore zIndex del poligono. I poligoni con z più alti vengono disegnati sopra quelli con gli indici più bassi.
Parametri
zIndex | lo zIndex di questo poligono. |
---|