Skip to content

googlemaps/android-maps-rx

Tests Beta Discord Apache-2.0

Maps Android Rx

Description

This repository contains RxJava bindings for the Maps SDK for Android and Places SDK for Android

Requirements

  • API level 24+

Installation

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:<insert-latest-version>'
    implementation 'com.google.android.libraries.places:places:<insert-latest-version>'
    implementation 'io.reactivex.rxjava3:rxjava:<insert-latest-version>'
}

Example Usage

Marker Clicks (Maps)

val googleMap = // ...
googleMap.markerClicks()
  .subscribe { marker ->
    Log.d("DEBUG", "Marker ${marker.title} was clicked")
  }

Combining camera events (Maps)

val googleMap = // ...
merge(
    googleMap.cameraIdleEvents(),
    googleMap.cameraMoveEvents(),
    googleMap.cameraMoveCanceledEvents(),
    googleMap.cameraMoveStartedEvents()
).subscribe {
    // Notified when one of the events triggered here
}

Fetching a Place (Places)

val placesClient = // ...
placesClient.fetchPlace(
    placeId = "thePlaceId",
    placeFields = listOf(Place.Field.ID, Place.Field.NAME, Place.Field.ADDRESS)
).subscribe {
    // Notified when fetch completes/fails
}

Documentation

You can learn more about all the extensions provided by this library by reading the reference documents.

Support

Encounter an issue while using this library?

If you find a bug or have a feature request, please file an issue. Or, if you'd like to contribute, send us a pull request and refer to our code of conduct.

You can also reach us on our Discord channel.

For more information, check out the detailed guide on the Google Developers site.