Un polígono sobre la superficie terrestre. Un polígono puede ser convexo o cóncavo, puede abarcar el meridiano de 180° y tener orificios 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. No es necesario que los puntos de inicio y de destino coincidan. De lo contrario, el polígono se cerrará automáticamente. Los segmentos de línea se trazan entre puntos consecutivos en el más corto de las dos direcciones (este u oeste).
- Orificios
- Un agujero es una región dentro del polígono que no está rellenada. Los orificios se especifican de la misma manera que el contorno. Debe haber un orificio dentro del contorno. Se pueden especificar varios agujeros; sin embargo, no se admiten orificios superpuestos.
- Ancho del trazo
- Ancho del segmento de línea en píxeles de pantalla. El ancho es constante y no depende del nivel de zoom de la cámara. El valor predeterminado es 10.
- Color del trazo
- Es el color del segmento de línea en formato ARGB, el mismo formato que usa
Color
. El valor predeterminado es el negro (0xff000000
). - Tipo de unión de trazo
- El tipo de unión define la forma que se usará al unir segmentos de líneas adyacentes en todos los vértices del contorno del polígono. Consulta
JointType
para ver los tipos de unión admitidos. El valor predeterminado esDEFAULT
. - Patrón de trazo
- Sólido (predeterminado, representado por
null
) o una secuencia de objetosPatternItem
que se repetirá a lo largo del contorno del polígono. Tipos dePatternItem
disponibles:Gap
(definido por la longitud de espacio en píxeles),Dash
(definido por el ancho del trazo y la longitud del guion en píxeles) yDot
(circular, centrado en el contorno del polígono, diámetro definido por el ancho del trazo en píxeles). - Color de relleno
- Rellena el color en formato ARGB, el mismo formato que usa
Color
. El valor predeterminado es transparente (0x00000000
). Si no se especifica correctamente la geometría del polígono (consulta la sección Contorno y Agujeros más arriba), 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 los objetos
Polyline
,Circle
,GroundOverlay
yTileOverlay
, pero noMarker
. Una superposición con un índice z más grande se dibuja sobre aquellas con índices z más pequeños. El orden de las superposiciones con el mismo valor de í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. Un polígono invisible no se dibuja, pero conserva todas las 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 oposición a las líneas rectas en la proyección Mercator. Una línea geodésica es la ruta más corta entre dos puntos de la superficie terrestre. 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 propiedad se configura comotrue
, tu app recibirá notificaciones para elGoogleMap.OnPolygonClickListener
registrado a través desetOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
. - Etiqueta
- Es un
Object
asociado con el polígono. Por ejemplo, el objetoObject
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
que corresponde al ID de un conjunto de datos. El SDK de Google Maps para Android no lee ni escribe esta propiedad.
Los métodos de esta clase se deben llamar 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 guía para desarrolladores sobre 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.
|
List<List<LatLng>> |
getHoles()
Muestra una instantánea de los agujeros de este polígono en este momento .
|
Cadena |
getId()
Obtiene el ID de este polígono.
|
List<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 del trazo usado en todos los vértices del contorno del polígono.
|
List<PatternItem> |
getStrokePattern().
Obtiene el patrón de trazo del contorno de este polígono.
|
float |
getStrokeWidth().
Obtiene el ancho de 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(color total)
Establece el color de relleno de este polígono.
|
void |
setGeodesic(geodésica booleana)
Establece si se debe dibujar cada segmento de la línea como una línea geodésica.
|
void | |
void | |
void |
setStrokeColor(color total)
Establece el color de 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 |
setStrokePattern(patrón de lista<PatternItem>)
Establece el patrón de trazo del contorno del polígono.
|
void |
setStrokeWidth(ancho flotante)
Establece el ancho de trazo de este polígono.
|
void |
setTag(etiqueta de objeto)
Establece la etiqueta del polígono.
|
void |
setVisible(booleano visible)
Configura la visibilidad de este polígono.
|
void |
setZIndex(zIndex 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)
public int getFillColor ()
Obtiene el color de relleno de este polígono.
Devuelve
- el color en formato ARGB.
public List<List<LatLng>> getHoles ()
Muestra una instantánea de los agujeros de este polígono en este momento . La lista que se muestra es una copia de la lista de agujeros, por lo que los cambios en los agujeros del polígono no se reflejarán en esta lista ni los cambios en esta lista se reflejarán en el polígono.
String pública getId ()
Obtiene el ID de este polígono. El id será único entre todos los polígonos de un mapa.
Lista pública<LatLng> getPoints ()
Muestra una instantánea de los vértices de este polígono en este momento . La lista que se muestra 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 en esta lista ni los cambios en esta lista. Para cambiar los vértices del polígono, llama a setPoints(List)
.
public int getStrokeColor ()
Obtiene el color del trazo de este polígono.
Devuelve
- el color en formato ARGB.
public int getStrokeJointType ()
Obtiene el tipo de unión del trazo usado en todos los vértices del contorno del polígono. Consulta JointType
para ver los valores posibles.
Devuelve
- el tipo de unión del trazo.
public List<PatternItem> getStrokePattern ()
Obtiene el patrón de trazo del contorno de este polígono.
Devuelve
- patrón de trazo.
número de punto flotante público getStrokeWidth ()
Obtiene el ancho de trazo de este polígono.
Devuelve
- el ancho en píxeles de pantalla.
objeto público getTag ()
Obtiene la etiqueta del polígono.
Devuelve
- la etiqueta si se configuró con
setTag
;null
si no se estableció ninguna
public float getZIndex ()
Obtiene el zIndex de este polígono.
Devuelve
- el zIndex del polígono.
public int hashCode ()
público booleano isClickable ()
Obtiene la posibilidad de hacer clics del polígono. Si se puede hacer clic en el polígono, tu app recibirá notificaciones a GoogleMap.OnPolygonClickListener
cuando el usuario haga clic en él.
El objeto de escucha de eventos se registra a través de setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
.
Devuelve
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.
Devuelve
- Es
true
si cada segmento se dibuja como una línea geodésica;false
si cada segmento se dibuja como una línea recta en la proyección Mercator.
público booleano isVisible ()
Obtiene la visibilidad de este polígono.
Devuelve
- la visibilidad del polígono.
public void remove ()
Elimina el polígono del mapa. Una vez que se quita un polígono, el comportamiento de todos sus métodos queda indefinido.
público público 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, tu app recibirá notificaciones a GoogleMap.OnPolygonClickListener
cuando el usuario haga clic en él.
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 público setFillColor (int color)
Establece el color de relleno de este polígono.
Parámetros
color [color] | el color en formato ARGB |
---|
público público setGeodesic (boolean geodesic)
Establece si se debe dibujar cada segmento de la línea como una línea geodésica.
Parámetros
geodésico | Si es true , cada segmento se dibuja como una línea geodésica. Si es false , cada segmento se dibuja como una línea recta en la proyección Mercator.
|
---|
público público setHoles (List<? extiende List<LatLng>> agujeros)
Establece los agujeros de este polígono. Este método tomará una copia de los agujeros, por lo que las mutaciones adicionales de holes
no tendrán efecto en este polígono.
Parámetros
agujeros | una lista de orificios, en la que uno es una lista de LatLng
|
---|
público público setPoints (List<LatLng> puntos)
Establece los puntos de este polígono. Este método tomará una copia de los puntos, por lo que las mutaciones adicionales de points
no tendrán efecto en este polígono.
Parámetros
puntos | una lista de elementos LatLng que son los vértices del polígono
|
---|
público público setStrokeColor (int color)
Establece el color de trazo de este polígono.
Parámetros
color [color] | el color en formato ARGB |
---|
público público setStrokeJointType (int JoinType)
público público setStrokePattern (List<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 | patrón de trazo. |
---|
público void 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 visualización. |
---|
public void setTag (etiqueta de objeto)
Establece la etiqueta del polígono.
Puedes usar esta propiedad para asociar un elemento Object
arbitrario con este polígono. Por ejemplo, el objeto Object
puede contener datos sobre lo que representa el polígono. Esto es más fácil que almacenar un Map<Polygon, Object>
separado. Como otro ejemplo, puedes asociar un ID de String
que corresponde al ID de un conjunto de datos. El SDK de Google Maps para Android no lee ni escribe esta propiedad. Es tu responsabilidad llamar a setTag(null)
para borrar la etiqueta cuando ya no la necesites y evitar pérdidas de memoria en tu app.
Parámetros
etiqueta de política | si es nulo, se borra la etiqueta. |
---|
público público setVisible (boolean visible)
Configura la visibilidad de este polígono. Cuando no está visible, el polígono no se dibuja, pero conserva todas las demás propiedades.
Parámetros
visible | Si es true , el polígono es visible; si es false , no lo es.
|
---|
público público setZIndex (float zIndex)
Establece el zIndex de este polígono. Los polígonos con índices z más altos se dibujan encima de los que tienen índices más bajos.
Parámetros
zIndex | el zIndex de este polígono. |
---|