RxJava 程式庫

RxJava 是一種回應式程式設計庫,能夠以可觀察序列編寫非同步和事件型程式。

Places Rx 程式庫 可讓您在 Maps SDK for Android 上接收非同步事件的可觀察序列 和 Places SDK for Android 這兩個版本,方便您使用豐富的 RxJava 功能。

安裝

如要在 Google 地圖專案中安裝 Places Rx 程式庫,請按照下列步驟操作:

  1. 將以下依附元件加進模組層級 build.gradle 檔案:

    dependencies {
        // RxJava bindings for the Maps SDK
        implementation("com.google.maps.android:maps-rx:1.0.0")
    
        // RxJava bindings for the Places SDK
        implementation("com.google.maps.android:places-rx:1.0.0")
    
        // It is recommended to also include the latest Maps SDK, Places SDK and RxJava so you
        // have the latest features and bug fixes.
        implementation("com.google.android.gms:play-services-maps:19.0.0")
        implementation("com.google.android.libraries.places:places:3.5.0")
        implementation("io.reactivex.rxjava3:rxjava:3.1.8")
    
  2. 在 Android Studio 中重新建立專案,以同步處理這些變更。

使用範例

以下範例說明如何接收 單一, 擷取 Place Details 時,對其進行訂閱:

  placesClient.fetchPlace(
    placeId = "thePlaceId",
    placeFields = listOf(Place.Field.ID, Place.Field.NAME, Place.Field.ADDRESS),
    actions = {}
  ).subscribe(
    { response ->
      Log.d("PlacesRx", "Successfully got place ${response.place.id}")
    },
    { error ->
      Log.e("PlacesRx", "Could not get place: ${error.message}")
    }
  )
}

後續步驟