Polígono

La clase final pública Polygon extiende el objeto

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 es DEFAULT.
Patrón de trazo
Sólido (predeterminado, representado por null) o una secuencia de objetos PatternItem que se repetirá a lo largo del contorno del polígono. Tipos de PatternItem 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) y Dot (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 y TileOverlay, pero no Marker. 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 es false. Si esta propiedad se configura como true, tu app recibirá notificaciones para el GoogleMap.OnPolygonClickListener registrado a través de setOnPolygonClickListener(GoogleMap.OnPolygonClickListener).
Etiqueta
Es un Object asociado con el 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.

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
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
setHoles(List<? extiende List<LatLng>> agujeros)
Establece los agujeros de este polígono.
void
setPoints(List<LatLng> puntos)
Establece los puntos de este polígono.
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)

Comprueba si este Polygon es igual a otro.

Parámetros
otro un objeto Object.
Devuelve
  • true si ambos objetos son el mismo objeto, es decir, este == otro.

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, muestra false.

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)

Establece el tipo de unión para todos los vértices del contorno del polígono.

Consulta JointType para ver los valores permitidos. Se usará el valor predeterminado DEFAULT si el tipo de unión no está definido o no es uno de los valores permitidos.

Parámetros
jointType el tipo de unión del trazo.

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.