private async Task RequestCurrentLocationAsync()
        {
            ShowBusy("Searching...");

            try
            {
                var result = await FetchCurrentLocationCommand.ExecuteAsync(null);

                Locations.Clear();
                if (result.IsValid())
                {
                    SearchLocationText = string.Empty;
                    MapCenter          = result.CurrentLocation;
                    //Locations.Add(result.CurrentLocation);
                }
                else
                {
                    App.ShowMessage(result.Notification.ToString(), "Error");
                }
            }
            finally
            {
                NotBusy();
            }
        }
        public LocationSelectionPage()
        {
            InitializeComponent();
            var geoCodeService = new GeocodeService();
            var fetchCurrentLocationCommand = new FetchCurrentLocationCommand(Plugin.Geolocator.CrossGeolocator.Current);

            _viewModel     = new LocationSelectionViewModel(geoCodeService, fetchCurrentLocationCommand);
            BindingContext = _viewModel;
        }