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(); } }
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(); } }