private void Cancel_Click(object sender, EventArgs e)
 {
     MapMain.Refresh();
     Program.ReSetCurrentMap();
     graphics = Graphics.FromImage(Program.CurrentMap);
     MapMain.Image = Program.CurrentMap;
     Painted();
 }
 private void Close_Click(object sender, EventArgs e)
 {
     MapMain.Refresh();
     Program.ReSetCurrentMap();
     graphics = Graphics.FromImage(Program.CurrentMap);
     MapMain.Image = Program.CurrentMap;
     AddR add = new AddR();
     add.Show();
     this.Close();
 }
 private void MapMain_MouseUp(object sender, MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Left)
     {
         SolidBrush brush = new SolidBrush(Program.Ucolor);
         CurrentPoint = e.Location;
         graphics.FillRectangle(brush, PreviousPoint.X, PreviousPoint.Y, Math.Abs(CurrentPoint.X - PreviousPoint.X), Math.Abs(CurrentPoint.Y - PreviousPoint.Y));
         MapMain.Invalidate();
     }
     Painted();
 }
        private void Close_Click(object sender, EventArgs e)
        {
            MapMain.Refresh();
            Program.ReSetCurrentMap();
            graphics      = Graphics.FromImage(Program.CurrentMap);
            MapMain.Image = Program.CurrentMap;
            ChangeLSCon con = new ChangeLSCon();

            con.Show();
            this.Close();
        }
 private void MapMain_MouseUp(object sender, MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Left)
     {
         Pen pen = new Pen(Program.Rcolor, 3);
         CurrentPoint = e.Location;
         graphics.DrawLine(pen, PreviousPoint, CurrentPoint);
         MapMain.Invalidate();
     }
     Painted();
 }
        protected override async void OnAppearing()
        {
            base.OnAppearing();
            var position = await Utilities.GetCurrentGeolocationGooglePositionAsync();

#if DEBUG
            position = new Position(30.3993258177538, -97.723581124856);
            MapMain.MoveToRegion(MapSpan.FromCenterAndRadius(position, _distance));
#else
            MapMain.MoveToRegion(MapSpan.FromCenterAndRadius(position, _distance));
#endif
        }
Beispiel #7
0
        protected override async void OnAppearing()
        {
            //THIS FUNCTION GETS CALLED EACH TIME NAVIGATION POPS FROM DIFFERENT PAGE
            base.OnAppearing();
            var position = await Utilities.GetCurrentGeolocationGooglePositionAsync();

#if DEBUG
            position = new Position(30.3993258177538, -97.723581124856);
            //position = new Position(0.00, 0.00);
#endif
            // pin for exact user location
            //MapMain.Pins.Add(new Pin
            //{
            //    Label = "Current Location",
            //    Position = position
            //});
            MapMain.MoveToRegion(MapSpan.FromCenterAndRadius(position, INITIAL_DISTANCE));
            try
            {
                MapMain.Polygons.Clear();

                //MapMain.Pins.Add(GetPin(box));
                MapMain.Pins.Add(GetCurrentLocationPin(position));

                //App.Hexagonal = new HexagonalEquilateral(position.Latitude, position.Longitude);
                //App.Hexagonal = new HexagonalEquilateralScale(position.Latitude, position.Longitude);
                App.Hexagonal.Initialize(position.Latitude, position.Longitude, 1);
                if (App.HeatGradient == null)
                {
                    App.HeatGradient = new HeatGradient();
                }
                //int step = 0;
                //MapMain.Polygons.Clear();
                //Position centeredPosition = App.Hexagonal.CenterLocation;
                MapMain.CameraIdled += MapMain_CameraIdled;
                //DrawHexagons(App.Hexagonal.CenterLocation, 1);

                var regions = await App.approxiMATEService.GetZoneRegionsAsync();

                foreach (ZoneRegion region in regions.Where(r => r.Type.Equals((int)RegionType.SocialDistrict)))
                {
                    var poly = await App.approxiMATEService.GetZoneRegionPolygonsAsync(region.RegionId);

                    MapMain.Polygons.Add(GetPolygon(poly, region));
                }
            }
            catch (Exception ex)
            {
                await DisplayAlert(ex.Message, ex.StackTrace, "OK");
            }
        }
        private void NavigationManager_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (e.PropertyName == "SharedState")
            {
                if (NavigationManager.Current.SharedState.HasMapCenter &&
                    NavigationManager.Current.SharedState.HasMapZoomLevel &&
                    NavigationManager.Current.SharedState.HasMapHeading &&
                    NavigationManager.Current.SharedState.HasMapPitch)
                {
                    MapMain.TrySetViewAsync(NavigationManager.Current.SharedState.MapCenter,
                                            NavigationManager.Current.SharedState.MapZoomLevel,
                                            NavigationManager.Current.SharedState.MapHeading,
                                            NavigationManager.Current.SharedState.MapPitch);
                }
                else if (NavigationManager.Current.SharedState.HasMapCenter &&
                         NavigationManager.Current.SharedState.HasMapZoomLevel &&
                         NavigationManager.Current.SharedState.HasMapPitch)
                {
                    MapMain.TrySetViewAsync(NavigationManager.Current.SharedState.MapCenter,
                                            NavigationManager.Current.SharedState.MapZoomLevel,
                                            NavigationManager.Current.SharedState.MapHeading,
                                            null);
                }
                else if (NavigationManager.Current.SharedState.HasMapCenter &&
                         NavigationManager.Current.SharedState.HasMapZoomLevel)
                {
                    MapMain.TrySetViewAsync(NavigationManager.Current.SharedState.MapCenter,
                                            NavigationManager.Current.SharedState.MapZoomLevel);
                }

                else if (NavigationManager.Current.SharedState.HasMapCenter)
                {
                    MapMain.TrySetViewAsync(NavigationManager.Current.SharedState.MapCenter);
                }


                if (NavigationManager.Current.SharedState.HasMapElements)
                {
                    // TODO: Ensure the map shows the elements

                    /*BasicGeoposition Position1 = new BasicGeoposition();
                     *
                     * BasicGeoposition Position2 = new BasicGeoposition();
                     *
                     * foreach (MapElement element in NavigationManager.Current.SharedState.MapElements)
                     * {
                     *  BasicGeoposition elementPosition = MapControl.GetLocation(element).Position;
                     *  if (Position1.Latitude < elementPosition.Latitude) ;
                     *
                     * }
                     *
                     * GeoboundingBox BBox = new GeoboundingBox(Position1, Position1);
                     * BBox.
                     * MapMain.TrySetViewBoundsAsync()*/
                }


                if (NavigationManager.Current.SharedState.SheetVisibility != UI.Navigation.Visibility.Full)
                {
                    MapMain.ZoomInteractionMode   = SettingsManager.Current.ShowZoomControl ? MapInteractionMode.GestureAndControl : MapInteractionMode.GestureOnly;
                    MapMain.RotateInteractionMode = SettingsManager.Current.ShowRotationControl ? MapInteractionMode.GestureAndControl : MapInteractionMode.GestureOnly;
                    MapMain.TiltInteractionMode   = SettingsManager.Current.ShowTiltControl ? MapInteractionMode.GestureAndControl : MapInteractionMode.GestureOnly;
                }
                else
                {
                    MapMain.ZoomInteractionMode   = MapInteractionMode.GestureOnly;
                    MapMain.RotateInteractionMode = MapInteractionMode.GestureOnly;
                    MapMain.TiltInteractionMode   = MapInteractionMode.GestureOnly;
                }


                if (SheetsFrame.SourcePageType == typeof(LibrarySheet))
                {
                    VisualStateManager.GoToState(this, "Full", true);
                }
                else
                {
                    VisualStateManager.GoToState(this, "Half", true);
                }

                SetSnapPoints();
            }
        }