Esempio n. 1
0
        private void Button2_Click(object sender, EventArgs e)
        {
            if (this.countMark == 2)
            {
                this.dijkstraMin = new DijkstraMin(auxMatrix, this.source);
                dijkstraMin.RunDijkstraMin();
                this.path = dijkstraMin.Path;
                int key = path[this.end];
                lblDistance.Text = Math.Round(dijkstraMin.Distance[this.end], 2).ToString() + " Kms";

                if (key == -1)
                {
                    MessageBox.Show("No se encuentra una ruta para su destino.", "Informacion");
                    this.Reset();
                }
                else
                {
                    ChangeColorRoute(this.end, path[this.end]);
                }

                while (key != this.source && key != -1)
                {
                    GMapMarker item = new GMarkerGoogle(new PointLatLng(dataMarkers.places[key].latitude, dataMarkers.places[key].longitud), GMarkerGoogleType.green_dot);
                    ChangeColorRoute(key, path[key]);
                    ChangeColorMark(item, key);
                    key = path[key];
                }
            }
            else
            {
                MessageBox.Show("Debe seleccionar un inicio y un destino con el click izquierdo.", "Informacion");
                this.Reset();
            }
        }
Esempio n. 2
0
        private void Button3_Click(object sender, EventArgs e)
        {
            if (this.countMark == 2)
            {
                DijkstraMin dijkstraMinAdj = new DijkstraMin(auxMatrix, 0);
                dijkstraMinAdj.RunDijkstraMin();

                for (int i = 0; i < (int)Math.Sqrt(dataMarkers.arcs.Length); i++)
                {
                    if (dataMarkers.arcs[this.source, i] != 0)
                    {
                        GMapMarker item = new GMarkerGoogle(new PointLatLng(dataMarkers.places[source].latitude, dataMarkers.places[source].longitud), GMarkerGoogleType.green_dot);
                        ChangeColorRoute(source, i);
                        ChangeColorMark(item, i);
                    }
                }
            }
            else
            {
                MessageBox.Show("Debe seleccionar un marcador con el click derecho.", "Informacion");
                this.Reset();
            }
        }