validacionPoligono static method

bool validacionPoligono(
  1. List<LatLngModel> poligono
)

Funcion utilizada para validar un un poligono para que despues se pueda aplicar sobre este el algoritmo de Ray Casting para determinar si un punto en especifico esta dentro o fuera del poligono retorna true si el poligono es valido y false si no lo es

Implementation

static bool validacionPoligono(List<LatLngModel> poligono) {
  // Verifica que la lista tenga al menos 4 puntos (3 puntos únicos más el punto de cierre)
  if (poligono.length < 4) {
    return false;
  }

  // Verifica que el primer y último punto sean iguales
  if (poligono.first != poligono.last) {
    return false;
  }

  // Verifica que no haya puntos consecutivos duplicados (excluyendo el primer y último punto ya comparados)
  for (int i = 1; i < poligono.length - 1; i++) {
    if (poligono[i] == poligono[i - 1]) {
      return false;
    }
  }

  // Si todas las validaciones pasan, el polígono es válido
  return true;
}