Es un polígono en la superficie terrestre. Un polígono puede ser convexo o cóncavo, puede abarcar los 180 y puede tener agujeros sin rellenar. Tiene las siguientes propiedades:
- Contorno
- El contorno se especifica mediante una lista de vértices en el sentido de las manecillas del reloj o en el sentido contrario. Integra no es necesario que los puntos de inicio y finalización coincidan; si no lo hacen, el polígono se cierren automáticamente. Los segmentos de línea se dibujan entre puntos consecutivos en la forma de las dos direcciones (este u oeste).
- Orificios
- Un agujero es una región dentro del polígono que no se rellena. Un agujero se especifica exactamente de la misma manera que el esquema. Un orificio debe estar completamente contenido dentro del contorno. Múltiples se pueden especificar orificios, sin embargo, no se admiten orificios superpuestos.
- Ancho del trazo
- Es el ancho del segmento de línea en píxeles de pantalla. El ancho es constante e independiente del nivel de zoom. El valor predeterminado es 10.
- Color del trazo
- Color de segmento de línea en formato ARGB, el mismo formato que usa
Color
. El valor predeterminado es el negro (0xff000000
). - Tipo de unión con trazo
- El tipo de unión define la forma que se usará para unir segmentos de líneas adyacentes.
vértices del contorno del polígono. Consulta
JointType
para conocer los tipos de unión compatibles. El el valor predeterminado esDEFAULT
. - Patrón de trazo
- Sólido (predeterminado, representado por
null
) o una secuencia de objetosPatternItem
repetirse a lo largo del contorno del polígono. Tipos dePatternItem
disponibles:Gap
(definido por la longitud del intervalo en píxeles),Dash
(definido por el ancho del trazo y el guion longitud en píxeles) yDot
(circular, centrado en el contorno del polígono, diámetro) definida por el ancho del trazo en píxeles). - Color de relleno
- Color de relleno en formato ARGB, el mismo formato que usa
Color
. El el valor predeterminado es transparente (0x00000000
). Si no se especifica la geometría del polígono correctamente (consulta la sección anterior sobre contorno y agujeros), entonces no se dibujará ningún relleno. - Índice Z
- Es el orden en el que se dibuja este polígono con respecto a otras superposiciones, incluidos elementos
Polyline
,Circle
,GroundOverlay
yTileOverlay
, pero noMarker
. Una superposición con un índice z mayor se dibuja sobre las que tienen un índice z más pequeño índices z. El orden de las superposiciones con el mismo valor del índice z es arbitrario. El valor predeterminado es 0. - Visibilidad
- Indica si el polígono es visible o invisible, es decir, si se dibujó en el mapa. Los
polígono invisible no se dibuja, pero conserva todas sus demás propiedades. El valor predeterminado es
true
, es decir, visible. - Estado geodésico
- Indica si los segmentos del polígono se deben dibujar como líneas geodésicas en lugar de líneas rectas en la proyección de Mercator. Una línea geodésica es la ruta más corta entre dos puntos en la superficie de la Tierra. La curva geodésica se construye suponiendo que la Tierra es una esfera
- Posibilidad de hacer clics
- Si deseas controlar los eventos que se activan cuando el usuario hace clic en el polígono, establece esta propiedad en
true
Puedes cambiar este valor en cualquier momento. El valor predeterminado esfalse
. Si esta se configuró comotrue
, tu app recibirá notificaciones para laGoogleMap.OnPolygonClickListener
registrada a través desetOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
. - Etiqueta
- Es un objeto
Object
asociado con el polígono. Por ejemplo,Object
puede contener datos sobre lo que representa el polígono. Esto es más fácil que almacenar unMap<Polygon, Object>
separado. Como otro ejemplo, puedes asociar un ID deString
correspondiente al ID de un conjunto de datos. El SDK de Google Maps para Android no lee ni escribe esta propiedad.
Se debe llamar a los métodos de esta clase en el subproceso de IU de Android. De lo contrario, se arrojará una IllegalStateException
durante el tiempo de ejecución.
Ejemplo
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));
Guía para desarrolladores
Para obtener más información, consulta la documentación para desarrolladores de Formas. .
Resumen de métodos públicos
boolean |
es igual a(Otro objeto)
Comprueba si este
Polygon es igual a otro. |
int |
getFillColor()
Obtiene el color de relleno de este polígono.
|
Lista<List<LatLng>> |
getHoles()
Devuelve una instantánea de los agujeros de este polígono en este momento .
|
String |
getId()
Obtiene el ID de este polígono.
|
Lista<LatLng> |
getPoints()
Muestra una instantánea de los vértices de este polígono en este momento .
|
int |
getStrokeColor()
Obtiene el color del trazo de este polígono.
|
int |
getStrokeJointType()
Obtiene el tipo de unión de trazo que se usa en todos los vértices del contorno del polígono.
|
Lista<PatternItem> |
getStrokePattern()
Obtiene el patrón de trazo del contorno de este polígono.
|
float |
getStrokeWidth()
Obtiene el ancho del trazo de este polígono.
|
Objeto |
getTag()
Obtiene la etiqueta del polígono.
|
float |
getZIndex()
Obtiene el zIndex de este polígono.
|
int |
hashCode()
|
boolean |
isClickable()
Obtiene la posibilidad de hacer clics del polígono.
|
boolean |
isGeodesic()
Obtiene si cada segmento de la línea se dibuja como una línea geodésica o no.
|
boolean |
isVisible()
Obtiene la visibilidad de este polígono.
|
void |
remove()
Elimina el polígono del mapa.
|
void |
setClickable(booleano en el que se puede hacer clic)
Establece la posibilidad de hacer clics en el polígono.
|
void |
setFillColor(int color)
Establece el color de relleno de este polígono.
|
void |
setGeodesic(boolean geodesic)
Establece si cada segmento de la línea se dibuja como una línea geodésica o no.
|
void | |
void | |
void |
setStrokeColor(color int)
Establece el color del trazo de este polígono.
|
void |
setStrokeJointType(int joinType)
Establece el tipo de unión para todos los vértices del contorno del polígono.
|
void | |
void |
setStrokeWidth(ancho de número de punto flotante)
Establece el ancho de trazo de este polígono.
|
void |
setTag(etiqueta de objeto)
Establece la etiqueta del polígono.
|
void |
setVisible(boolean visible)
Establece la visibilidad de este polígono.
|
void |
setZIndex(Índice z de número de punto flotante)
Establece el zIndex de este polígono.
|
Resumen de métodos heredados
Métodos públicos
público booleano es igual a (Otro objeto)
público número entero getFillColor ()
Obtiene el color de relleno de este polígono.
Muestra
- el color en formato ARGB.
público Lista<List<LatLng>> . getHoles ()
Devuelve una instantánea de los agujeros de este polígono en este momento . La lista que se devuelve es una copia de la lista de agujeros y, por lo tanto, los cambios en los agujeros del polígono no se reflejarán en esta lista, ni los cambios de esta lista se reflejarán en el polígono.
público Cadena getId ()
Obtiene el ID de este polígono. El ID será único entre todos los polígonos de un mapa.
público Lista<LatLng> . getPoints ()
Muestra una instantánea de los vértices de este polígono en este momento . La lista que se devuelve es una copia
de la lista de vértices, por lo que los cambios en los vértices del polígono no se reflejarán
de la lista ni los cambios que hagas en ella se reflejarán en el polígono. Para cambiar los vértices de la
polígono, llama a setPoints(List)
.
público número entero getStrokeColor ()
Obtiene el color del trazo de este polígono.
Muestra
- el color en formato ARGB.
público número entero getStrokeJointType ()
Obtiene el tipo de unión de trazo que se usa en todos los vértices del contorno del polígono. Consulta JointType
para los valores posibles.
Muestra
- el tipo de unión de trazo.
público Lista<PatternItem> . getStrokePattern ()
Obtiene el patrón de trazo del contorno de este polígono.
Muestra
- el patrón de trazo.
público número de punto flotante getStrokeWidth ()
Obtiene el ancho del trazo de este polígono.
Muestra
- el ancho en píxeles de la pantalla.
público Objeto getTag ()
Obtiene la etiqueta del polígono.
Muestra
- la etiqueta si se configuró con
setTag
;null
si no se estableció ninguna etiqueta.
público número de punto flotante getZIndex ()
Obtiene el zIndex de este polígono.
Muestra
- el zIndex del polígono.
público número entero hashCode ()
público booleano isClickable ()
Obtiene la posibilidad de hacer clics del polígono. Si se puede hacer clic en el polígono, la app recibirá
notificaciones al objeto GoogleMap.OnPolygonClickListener
cuando el usuario hace clic en el polígono.
El objeto de escucha de eventos se registra a través de setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
.
Muestra
true
si se puede hacer clic en el polígono. De lo contrario, muestrafalse
.
público booleano isGeodesic ()
Obtiene si cada segmento de la línea se dibuja como una línea geodésica o no.
Muestra
true
si cada segmento se dibuja como una línea geodésica;false
si cada segmento es dibujada como una línea recta en la proyección de Mercator.
público booleano isVisible ()
Obtiene la visibilidad de este polígono.
Muestra
- la visibilidad de este polígono.
público anular quitar ()
Elimina el polígono del mapa. Una vez que se quita un polígono, el comportamiento de todos sus no está definido.
público anular setClickable (booleano en el que se puede hacer clic)
Establece la posibilidad de hacer clics en el polígono. Si se puede hacer clic en el polígono, la app recibirá
notificaciones al objeto GoogleMap.OnPolygonClickListener
cuando el usuario hace clic en el polígono.
El objeto de escucha de eventos se registra a través de setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
.
Parámetros
se le puede hacer clic | Nueva configuración de posibilidad de hacer clics para el polígono. |
---|
público anular setFillColor (int color)
Establece el color de relleno de este polígono.
Parámetros
color | el color en formato ARGB |
---|
público anular setGeodesic (geodésica booleana)
Establece si cada segmento de la línea se dibuja como una línea geodésica o no.
Parámetros
geodésico | si es true , cada segmento se dibuja como una línea geodésica. si false ,
cada segmento se dibuja como una línea recta en la proyección de Mercator.
|
---|
público anular setHoles (List<? extends List<LatLng>> agujeros)
Establece los orificios de este polígono. Este método tomará una copia de los agujeros, por lo que se deben realizar
a holes
no tendrá ningún efecto en este polígono.
Parámetros
agujeros | Una lista de orificios, en la que un orificio es una lista de LatLng .
|
---|
público anular setPoints (Lista <LatLng> puntos)
Establece los puntos de este polígono. Este método tomará una copia de los puntos, así que
las mutaciones de points
no tendrán ningún efecto en este polígono.
Parámetros
puntos | Una lista de objetos LatLng que son los vértices del polígono
|
---|
público anular setStrokeColor (int color)
Establece el color del trazo de este polígono.
Parámetros
color | el color en formato ARGB |
---|
público anular setStrokeJointType (int joinType)
público anular setStrokePattern (Patrón de lista<PatternItem>)
Establece el patrón de trazo del contorno del polígono. El patrón de trazo predeterminado es sólido,
representado por null
.
Parámetros
patrón | el patrón de trazo. |
---|
público anular setStrokeWidth (ancho de número de punto flotante)
Establece el ancho de trazo de este polígono.
Parámetros
ancho | el ancho en píxeles de pantalla. |
---|
público anular setTag (Etiqueta de objeto)
Establece la etiqueta del polígono.
Puedes usar esta propiedad para asociar un Object
arbitrario con este polígono. Para
Por ejemplo, Object
puede contener datos sobre lo que representa el polígono. Es más fácil
que almacenar un Map<Polygon, Object>
independiente. Como otro ejemplo, puedes asociar un
String
: Es el ID que corresponde al ID de un conjunto de datos. SDK de Google Maps para Android
lee ni escribe esta propiedad. Es tu responsabilidad llamar a setTag(null)
para borrar
la etiqueta cuando ya no la necesites, para evitar fugas de memoria en tu aplicación.
Parámetros
etiqueta | si es nulo, se borra la etiqueta. |
---|
público anular setVisible (booleano visible)
Establece la visibilidad de este polígono. Cuando no está visible, el polígono no se dibuja, pero mantiene sus otras propiedades.
Parámetros
visible | si es true , el polígono es visible. si es false , no lo es.
|
---|
público anular setZIndex (Índice z de número de punto flotante)
Establece el zIndex de este polígono. Los polígonos con un índice z más alto se dibujan encima de los que tienen un índice z más alto de estos índices.
Parámetros
zIndex | el zIndex de este polígono. |
---|