我应该从哪里订阅 Rx 的 MVVM?

MVVM from where I should subscribe with Rx?

我来自 MVP 模式,现在我正在使用 MVVM 模式和 RXJava 来实现一些功能,例如在地图中显示我的当前位置。为此,我在我的 MV 中订阅了一个 Disposable,我将得到一个 Location: (t 是我的位置)

val subscription = locationProvider.lastKnownLocation
    .subscribe(Consumer { t -> updateLocationMap(t) })

我的问题是我应该在我的 View 中订阅这个 Disposable 吗?因为我看到 ViewModel 不能在 View 中实例化并且知道我不知道如何使用这个 Location 对象。

这是一个例子

在 Viewmodel 中创建一个变量

    val LocationLiveData = MutableLiveData<Location>()

下面的代码应该在视图模型中

 disposable = locationProvider.lastKnownLocation
            .observeOn(AndroidSchedulers.mainThread())
            .subscribeOn(Schedulers.io())
            .subscribe{location -> 
                LocationLiveData.postValue(location)
            }

之后在视图中( Activity )

 viewmodel.LocationLiveData.observe(this, { t: Location? -> 
   //use this updated location
  })