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 #2
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");
            }
        }