Un polígono sobre la superficie de la Tierra. Un polígono puede ser convexo o cóncavo, puede abarcar los 180 meridianos y puede tener agujeros que no están rellenos. Tiene las siguientes propiedades:
- Descripción
- El esquema se especifica en una lista de vértices en sentido horario o antihorario. No es necesario que coincidan los puntos de inicio y finalización; si no lo hacen, el polígono se cerrará automáticamente. Los segmentos de línea se dibujan entre puntos consecutivos en las dos direcciones más cortas (este u oeste).
- Orificios
- Un orificio es una región dentro del polígono que no está llena. Un agujero se especifica de la misma manera que el contorno. Un orificio debe estar completamente contenido dentro del contorno. Se pueden especificar varios orificios, pero no se admiten los que se superponen.
- Ancho del trazo
- Ancho de segmento de línea en píxeles de pantalla. El ancho es constante e independiente del nivel de zoom de la cámara. El valor predeterminado es 10.
- Color del trazo
- 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á para unir segmentos de líneas adyacentes en todos los vértices del contorno del polígono. Consulta
JointType
para conocer los tipos de unión compatibles. El valor predeterminado esDEFAULT
. - Patrón de trazo
- Sólido (predeterminado, representado por
null
) o una secuencia de objetosPatternItem
que se repetirán 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 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
- Color de relleno en formato ARGB, el mismo formato que usa
Color
El valor predeterminado es transparente (0x00000000
). Si la geometría del polígono no se especifica correctamente (consulta los contornos y orificios 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, incluidas
Polyline
,Circle
,GroundOverlay
yTileOverlay
, pero noMarker
. Una superposición con un índice z más grande se dibuja sobre las superposiciones 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 dibuja en el mapa. Un polígono invisible no se dibuja, pero retiene todas sus otras propiedades. El valor predeterminado es
true
, es decir, visible. - Estado geodésico
- Indica si los segmentos del polígono deben dibujarse como geodésicos, y no en las líneas rectas en la proyección de Mercator. La geodésica es la ruta más corta entre dos puntos de la superficie de la Tierra. La curva geodésica se construye bajo la suposición de que la Tierra es una esfera.
- Hacer clic
- 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 paraGoogleMap.OnPolygonClickListener
registradas 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.
Los métodos de esta clase deben llamarse en el subproceso de la IU de Android. De lo contrario, se arrojará una IllegalStateException
en 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, lee la guía para desarrolladores de Formas.
Resumen de métodos públicos
boolean | |
int |
getFillColor()
Obtiene el color de relleno de este polígono.
|
Enumerar LatLng>> |
getHoles()
Muestra una instantánea de los orificios de este polígono en este momento .
|
String |
getId()
Obtiene el ID de este polígono.
|
Enumerar 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 tachada que se usa en todos los vértices del contorno del polígono.
|
Lista<PatternItem> |
getStrokePattern()
Obtiene el patrón de trazo de este contorno de polígono.
|
flotante |
getStrokeWidth()
Obtiene el ancho del trazo de este polígono.
|
Objeto |
getTag()
Obtiene la etiqueta para el polígono.
|
flotante |
getZIndex()
Obtiene el zIndex de este polígono.
|
int |
hashCode()
|
boolean |
isClickable()
Obtiene la posibilidad de hacer clics del polígono.
|
boolean |
isGeodésico()
Obtiene si cada segmento de la línea se dibuja como una línea geodésica o no.
|
boolean |
esVisible()
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 del polígono.
|
void |
setFillColor(color int)
Establece el color de relleno de este polígono.
|
void |
setGeodesic(geodésico booleano)
Establece si se debe trazar cada segmento de la línea como geodésico o no.
|
void | |
void | |
void |
setStrokeColor(color int)
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 | |
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)
Establece 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
Booleano público es igual a (Otro objeto)
public int getFillColor ()
Obtiene el color de relleno de este polígono.
Resultado que se muestra
- el color en formato ARGB.
List público <LatLng>> getHoles ()
Muestra una instantánea de los orificios 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 por el polígono.
public String getId ()
Obtiene el ID de este polígono. El ID será único entre todos los polígonos de un mapa.
Lista pública 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 y, por lo tanto, los cambios en los vértices del polígono no se reflejarán en esta lista, ni los cambios en esta lista se reflejarán en el polígono. Para cambiar los vértices del polígono, llama a setPoints(List)
.
public int getStrokeColor ()
Obtiene el color del trazo de este polígono.
Resultado que se muestra
- el color en formato ARGB.
public intgetStrokeJointType()
Obtiene el tipo de unión tachada que se usa en todos los vértices del contorno del polígono. Consulta JointType
para ver los valores posibles.
Resultado que se muestra
- el tipo de unión tachada.
List público<PatternItem> getStrokePattern ()
Obtiene el patrón de trazo de este contorno de polígono.
Resultado que se muestra
- el patrón de trazo.
public float getStrokeWidth ()
Obtiene el ancho del trazo de este polígono.
Resultado que se muestra
- el ancho en píxeles de la pantalla.
public Object getTag ()
Obtiene la etiqueta para el polígono.
Resultado que se muestra
- la etiqueta si se configuró una etiqueta con
setTag
;null
si no se configuró ninguna.
flotante público getZIndex ()
Obtiene el zIndex de este polígono.
Resultado que se muestra
- el zIndex del polígono.
public int hashCode ()
Booleano público isClickable ()
Obtiene la posibilidad de hacer clics del polígono. Si se puede hacer clic en el polígono, tu app recibirá notificaciones para GoogleMap.OnPolygonClickListener
cuando el usuario haga clic en el polígono.
El objeto de escucha de eventos se registra mediante setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
.
Resultado que se muestra
true
si se puede hacer clic en el polígono; de lo contrario, muestrafalse
.
booleano público isGeodesic ()
Obtiene si cada segmento de la línea se dibuja como una línea geodésica o no.
Resultado que se muestra
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 de Mercator.
Booleano público isVisible ()
Obtiene la visibilidad de este polígono.
Resultado que se muestra
- la visibilidad de este polígono.
vacío público quitar ()
Elimina el polígono del mapa. Después de quitar un polígono, el comportamiento de todos sus métodos no está definido.
vacío público setClickable (booleano en el que se puede hacer clic)
Establece la posibilidad de hacer clics del polígono. Si se puede hacer clic en el polígono, tu app recibirá notificaciones para GoogleMap.OnPolygonClickListener
cuando el usuario haga clic en el polígono.
El objeto de escucha de eventos se registra mediante setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
.
Parámetros
se le puede hacer clic | Nueva configuración de clic para el polígono. |
---|
void público setFillColor (int color)
Establece el color de relleno de este polígono.
Parámetros
color | el color en formato ARGB |
---|
vacío público setGeodesic (geodésico booleano)
Establece si se debe trazar cada segmento de la línea como geodésico o no.
Parámetros
geodésico | si es true , cada segmento se dibuja como una línea geodésica; si es false , cada uno se dibuja como una línea recta en la proyección de Mercator.
|
---|
void público setHoles (Lista ? Amplía la lista &hl;LatLng> agujeros).
Establece los orificios de este polígono. Este método tomará una copia de los orificios, por lo que las mutaciones adicionales a holes
no tendrán ningún efecto en este polígono.
Parámetros
agujeros | una lista de orificios, donde un orificio es una lista de LatLng .
|
---|
void público setPoints (List<LatLng> points)
Establece los puntos de este polígono. Este método tomará una copia de los puntos, por lo que las mutaciones adicionales a points
no tendrán efecto en este polígono.
Parámetros
puntos | Una lista de objetos LatLng que son los vértices del polígono.
|
---|
void público setStrokeColor (int color)
Establece el color de trazo de este polígono.
Parámetros
color | el color en formato ARGB |
---|
vacío público setStrokeJointType (int joinType)
Establece el tipo de unión para todos los vértices del contorno del polígono.
Consulta JointType
para obtener 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
Tipo de unión | el tipo de unión tachada. |
---|
void público setStrokePattern (List<PatternItem> pattern)
Establece el patrón de trazo del contorno del polígono. El patrón de trazo predeterminado es sólido y se representa con null
.
Parámetros
patrón | el patrón de trazo. |
---|
vacío público setStrokeWidth (ancho flotante)
Establece el ancho de trazo de este polígono.
Parámetros
ancho | el ancho en píxeles de la pantalla. |
---|
vacío público setTag (etiqueta de objeto)
Establece la etiqueta del polígono.
Puedes usar esta propiedad para asociar un Object
arbitrario con este polígono. Por ejemplo, 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
correspondiente 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 fugas de memoria en tu app.
Parámetros
etiqueta de política | Si es nulo, la etiqueta se borra. |
---|
vacío público setVisible (booleano visible)
Establece la visibilidad de este polígono. Cuando no es visible, no se dibuja un polígono, pero conserva todas las demás propiedades.
Parámetros
visible | si es true , entonces el polígono es visible; si es false , no lo es.
|
---|
public void setZIndex (float zIndex)
Establece el zIndex de este polígono. Los polígonos con zIndices más altos se dibujan encima de los que tienen índices más bajos.
Parámetros
Índice Z | el zIndex de este polígono. |
---|