public override async Task Load() { CameraTarget = _locationManager.LastKnownLocation; await CameraLocationChanged(CameraTarget); CameraStartMoving.Subscribe(_ => IsSearching = true); CameraPositionChanged.SelectMany(l => _geocodingProvider.ReverseGeocodingFromLocation(l)) .Subscribe(address => { SearchText = address.FormattedAddress; _currentAddress = address; IsSearching = false; }, ex => { Debug.Write(ex); IsSearching = false; }); }
private async Task CameraLocationChanged(Location location) { var address = await _geocodingProvider.ReverseGeocodingFromLocation(location); if (address != null) { SearchText = address.FormattedAddress; _currentAddress = new Address { FormattedAddress = address.FormattedAddress, Location = location }; } IsSearching = false; }
public override Task Load() { CameraStartMoving .Do(_ => IsSearching = true) .Subscribe(); CameraPositionChanged .ObserveOn(_schedulerProvider.DefaultScheduler) .Do(async location => { var address = await _geocodingProvider.ReverseGeocodingFromLocation(location); SearchText = address.FormattedAddress; _currentAddress = address; IsSearching = false; }).Subscribe(); return(base.Load()); }
public override Task Load() { CameraStartMoving.Subscribe(_ => IsSearching = true); CameraPositionChanged.SelectMany(l => _geocodingProvider.ReverseGeocodingFromLocation(l)) .ObserveOn(_schedulerProvider.DefaultScheduler) .Subscribe(address => { SearchText = address.FormattedAddress; _currentAddress = address; IsSearching = false; }, ex => { Debug.WriteLine(ex); IsSearching = false; }); return(base.Load()); }