private void _btn_to_kml_Click(object sender, EventArgs e) { StringBuilder placemarks = new StringBuilder(); StringBuilder path = new StringBuilder(); double lat_home_rad; double lon_home_rad; // we need a home position in case the navigation uses relative coordinates AskHome ah = new AskHome(); if (ah.ShowDialog() != DialogResult.OK) { return; } lat_home_rad = ah.GetLatitudeRad(); lon_home_rad = ah.GetLongitudeRad(); // generate the KML string kml = KmlNavigation.BuildKml(GetNavigationList(), lat_home_rad, lon_home_rad); // save to file SaveFileDialog sfd = new SaveFileDialog(); sfd.DefaultExt = "kml"; sfd.Filter = "KML files (*.kml)|*.kml|All files (*.*)|*.*"; if (sfd.ShowDialog() == DialogResult.OK) { Stream s = sfd.OpenFile(); StreamWriter sw = new StreamWriter(s); try { sw.Write(kml.ToString()); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } sw.Close(); if (MessageBox.Show("Do you want to open the file in Google Earth?", "Open file?", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { Process.Start(sfd.FileName); } } }
private void _btn_to_kml_Click(object sender, EventArgs e) { StringBuilder placemarks = new StringBuilder(); StringBuilder path = new StringBuilder(); double lat_home_rad; double lon_home_rad; // we need a home position in case the navigation uses relative coordinates AskHome ah = new AskHome(); if (ah.ShowDialog() != DialogResult.OK) return; lat_home_rad = ah.GetLatitudeRad(); lon_home_rad = ah.GetLongitudeRad(); // generate the KML string kml = KmlNavigation.BuildKml(GetNavigationList(), lat_home_rad, lon_home_rad); // save to file SaveFileDialog sfd = new SaveFileDialog(); sfd.DefaultExt = "kml"; sfd.Filter = "KML files (*.kml)|*.kml|All files (*.*)|*.*"; if (sfd.ShowDialog() == DialogResult.OK) { Stream s = sfd.OpenFile(); StreamWriter sw = new StreamWriter(s); try { sw.Write(kml.ToString()); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } sw.Close(); if (MessageBox.Show("Do you want to open the file in Google Earth?", "Open file?", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) Process.Start(sfd.FileName); } }