public AlgoritmoGenetico(Lugar lugares_lista, int _capacity)
        {
            api = new API();

            lugares  = lugares_lista;
            capacity = _capacity;

            individuos = new string[numpoblacion];
            rutas      = new Ruta[lugares.Results.Length];
        }
示例#2
0
        private void btnRecomendar_Click(object sender, EventArgs e)
        {
            //Verifica que se haya introducido el tiempo de estancia
            if (tbxTiempo.Text != "")
            {
                //El tiempo seconvierte a segundos, ya que asi esta en el JSON que devuelve Places
                int estancia = 0;

                if (cbTiempo.SelectedIndex == 0)
                {
                    estancia = Convert.ToInt32(tbxTiempo.Text) * 60 * 60;
                }
                else if (cbTiempo.SelectedIndex == 1)
                {
                    estancia = Convert.ToInt32(tbxTiempo.Text) * 12 * 60 * 60;
                }

                //Se obtieen los lugares con los parametros escogidos en el modelo
                lugares = api.obtenerLugares(tipos());

                //Si existen puntos de interes continua el programa
                if (lugares.Results.Length > 0)
                {
                    algoritmoGenetico = new AlgoritmoGenetico(lugares, estancia);
                    String cadenaGenetica = algoritmoGenetico.main();
                    Ruta[] rutas          = algoritmoGenetico.listaRutas();

                    //Se manda llamar a la ventana de resultados y se le pasa, los lugares y la cadena genetica
                    FrmResultados frmResultados = new FrmResultados();

                    frmResultados.lugares        = lugares;
                    frmResultados.cadenaGenetica = cadenaGenetica;
                    frmResultados.rutas          = rutas;

                    frmResultados.Show();

                    this.Hide();
                }
                else
                {
                    MessageBox.Show("No se encontraron lugares cerca de su ubicacion");
                }
            }
            else
            {
                MessageBox.Show("Introduzca el tiempo de estancia.");
            }
        }
示例#3
0
        private void FrmPrincipal_Load(object sender, EventArgs e)
        {
            lugares = new Lugar();
            api     = new API();

            //Si la ubicacion esta cargada muestra el la palomita
            if (Ubicacion.Latitud != 0 && Ubicacion.Longitud != 0)
            {
                pbCheck.Image         = Properties.Resources.success;
                pbCheck.Visible       = true;
                btnRecomendar.Enabled = true;
            }
            else
            {
                btnRecomendar.Enabled = false;
            }
        }