private void SetTargetClick(object sender, RoutedEventArgs e)
        {
            Point p = BuildPointFromPopupData();

            _appState.Points.Add(p);
            _appState.Target = p.Position;
        }
 private void PointsList_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     try {
         Point selected = PointsList.SelectedItem as Point;
         if (selected != null)
         {
             _appState.Target = selected.Position;
             Frame.Navigate(typeof(MainPage));
         }
     } catch (Exception ex) {
         Debug.WriteLine("[ERROR] " + ex.Message);
     }
 }
        private Point BuildPointFromPopupData()
        {
            PointPopup.IsOpen = false;
            String pos   = PointCoordinatesTextBox.Text.Trim();
            String title = PointDescriptionTextBox.Text.Trim();

            var   geopos = DegMinFormatRB.IsChecked.Value ? GeoUtils.ParseWgs84(pos) : GeoUtils.ParseGeopos(pos);
            Point p      = new Point()
            {
                Description = "", Position = geopos, Title = title
            };

            _appState.Points.Add(p);
            return(p);
        }
        private void ImportFromKmlFile(NavigationEventArgs e)
        {
            KmlDocument      kd             = e.Parameter as KmlDocument;
            List <Folder>    folderNodes    = kd.GetFolders();
            List <Placemark> placemarkNodes = kd.GetPlacemarks(folderNodes[0]);

            foreach (var placemarkNode in placemarkNodes)
            {
                try
                {
                    if (!KmlDocument.IsRoutePlacemark(placemarkNode))
                    {
                        Point p = kd.GetPoint(placemarkNode);
                        _appState.Points.Add(p);
                    }
                }
                catch (Exception ex)
                {
                    Debug.WriteLine(ex.StackTrace);
                }
            }
        }
示例#5
0
        public Point GetPoint(Placemark placemark)
        {
            Point p = new Point {
                Title       = placemark.Name,
                Description = (placemark.Description != null) ? placemark.Description.Text : _documentDescription
            };

            KmlPoint point = placemark.Flatten().OfType <KmlPoint>().FirstOrDefault();

            if (point != null)
            {
                p.Position = new BasicGeoposition()
                {
                    Longitude = point.Coordinate.Longitude,
                    Latitude  = point.Coordinate.Latitude,
                    Altitude  = point.Coordinate.Altitude ?? 0d
                };

                return(p);
            }

            return(null);
        }