public DestinationLocationEditorViewModel( ISchedulerProvider schedulerProvider, INavigationService navigationService, IPlacesProvider placesProvider, IGeocodingProvider geocodingProvider, IChooseOnMapViewModelFactory chooseOnMapViewModelFactory, IEmptyAutocompleteResultProvider autocompleteResultProvider, ISelectedDestinationByMapSubscriber destinationByMapSubscriber) : base(schedulerProvider, placesProvider, geocodingProvider, navigationService) { _navigationService = navigationService; _chooseOnMapViewModelFactory = chooseOnMapViewModelFactory; _autocompleteResultProvider = autocompleteResultProvider; this.Changed(() => SelectedSearchResult) .Where(r => r is SetLocationOnMapResultModel) .ObserveOn(schedulerProvider.SynchronizationContextScheduler) .Subscribe(NavigateToChooseDestinationOnMapViewModel); destinationByMapSubscriber.Publisher.Handler.Subscribe(address => { SelectedAddress = address; navigationService.GoBack(); }); }