Example #1
0
        private async void CenterOnLocationAsync(object sender, EventArgs e)
        {
            var user_location = await Xamarin.Essentials.Geolocation.GetLocationAsync();

            map.MoveToRegion(MapSpan.FromCenterAndRadius(
                                 new Position(user_location.Latitude, user_location.Longitude),
                                 Distance.FromKilometers(20))
                             );
        }
        async void ShowLocation()
        {
            await Permissions.RequestAsync <Permissions.LocationWhenInUse>();

            MainMap.MyLocationEnabled = true;
            var position = await Geolocation.GetLocationAsync();

            MainMap.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(position.Latitude, position.Longitude),
                                                             Distance.FromMiles(1)));
        }
Example #3
0
        public static async System.Threading.Tasks.Task <Xamarin.Forms.GoogleMaps.Map> CenterOnUserAsync(Xamarin.Forms.GoogleMaps.Map map)
        {
            //centering the map on user
            var user_location = await Xamarin.Essentials.Geolocation.GetLocationAsync();

            map.MoveToRegion(MapSpan.FromCenterAndRadius(
                                 new Position(user_location.Latitude, user_location.Longitude),
                                 Distance.FromKilometers(20))
                             );

            return(map);
        }
Example #4
0
        public MainViewModel()
        {
            var mapSpan = Xamarin.Forms.GoogleMaps.MapSpan.FromCenterAndRadius(new Xamarin.Forms.GoogleMaps.Position(50.043604d, 22.0261172d), Xamarin.Forms.GoogleMaps.Distance.FromKilometers(3));


            MapControl = new Xamarin.Forms.GoogleMaps.Map();

            MapControl.MoveToRegion(mapSpan);

            MapControl.MyLocationEnabled = true;

            AddMapStyle();
        }
Example #5
0
        private async Task setGeoPosition(Xamarin.Forms.GoogleMaps.Map map)
        {
            var locator  = CrossGeolocator.Current;
            var position = await locator.GetPositionAsync();

            map.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(position.Latitude, position.Longitude), Distance.FromKilometers(10)));
            map.UiSettings.ZoomControlsEnabled = false;
            if (user.RiskLevel > 0)
            {
                user.Latitude  = position.Latitude;
                user.Longitude = position.Longitude;
                await azureService.UpdateUserAsync(user);
            }
            return;
        }
Example #6
0
        public LocalRequestPageViewModel()
        {
            GetPinListAsync();
            MapSpan mapSpan = new MapSpan(new Position(52.229676, 20.012229), 9, 9);

            Map = new Xamarin.Forms.GoogleMaps.Map
            {
                MyLocationEnabled = true
            };
            Map.MoveToRegion(mapSpan);
            ArrangePinsOnMap();
            MovedToLocalArea = new Command(async() =>
            {
                await MoveToLocalArea();
            });
            RefreshedLocalArea = new Command(async() =>
            {
                await RefreshLocalArea();
            });
            Map.InfoWindowClicked += InfoWindow_Clicked;
        }
Example #7
0
        public MainViewModel()
        {
            PageStatusEnum = PageStatusEnum.Default;
            OrderStateEnum = OrderStateEnum.StartPicker;

            CanCalculate = false;

            URLItems = new ObservableCollection <UserFavouriteLocation>();

            var mapSpan = Xamarin.Forms.GoogleMaps.MapSpan.FromCenterAndRadius(new Xamarin.Forms.GoogleMaps.Position(50.043604d, 22.0261172d), Xamarin.Forms.GoogleMaps.Distance.FromKilometers(3));


            MapControl = new Xamarin.Forms.GoogleMaps.Map();

            MapControl.MoveToRegion(mapSpan);

            MapControl.MyLocationEnabled = true;

            MapControl.MapClicked += MapControl_MapClicked;

            AddMapStyle();
        }
Example #8
0
        async void AcceptButton_Clicked(object sender, EventArgs e)
        {
            if ((IsDateAndTimeCorrect() &&
                 IsActivityPicked() &&
                 IsDescription()))
            {
                var user = repo.GetUserById(int.Parse(Preferences.Get("id", "")));

                repo.UpdateUser("OrganisedMeetings", (user.OrganisedMeetings + 1).ToString(), user.Id);

                var newPin = new Model.Pin {
                    Latitude = pin.Position.Latitude, Longitude = pin.Position.Longitude, Icon = imagePicked
                };
                repo.InsertPin(newPin);

                Meeting meeting = new Meeting
                {
                    OrganizerUser_Id  = user.Id,
                    OrganizerName     = user.Name,
                    OrganizerLastName = user.LastName,
                    OrganizerAge      = user.Age,
                    ActivityName      = activityPicked,
                    ActivityIcon      = imagePicked,
                    Date         = DatePicker.Date,
                    Time         = TimePicker.Time,
                    Participants = 1,
                    Pin_Id       = repo.GetIdByPin(newPin),
                    Description  = Editor.Text
                };
                repo.InsertMeeting(meeting);

                UserMeeting userMeeting = new UserMeeting
                {
                    User_Id    = user.Id,
                    Meeting_Id = meeting.Id
                };

                repo.InsertUserMeeting(userMeeting);

                string path     = "Assets";
                var    assembly = typeof(MainPage).GetTypeInfo().Assembly;
                var    stream   = assembly.GetManifestResourceStream($"{assembly.GetName().Name}.{path}.{imagePicked}");
                pin.Icon = BitmapDescriptorFactory.FromStream(stream, id: imagePicked);
                map.MoveToRegion(MapSpan.FromCenterAndRadius(pin.Position, map.VisibleRegion.Radius));

                pin.Label   = activityPicked;
                pin.Address = "Show more";

                await PopupNavigation.Instance.PopAsync();
            }
            else
            {
                if (!IsDateAndTimeCorrect())
                {
                    await DisplayAlert("Something went wrong.", "The date and time must be greater than today.", "Back");
                }
                if (!IsActivityPicked())
                {
                    await DisplayAlert("Something went wrong.", "You have to choose activity.", "Back");
                }
                if (!IsDescription())
                {
                    await DisplayAlert("Something went wrong.", "You have to write something in the description.", "Back");
                }
            }
        }