Mapy na Androida KTX

Rozszerzenia Kotlin (KTX) do Map na Androida to zbiór rozszerzeń Kotlin do pakietu Maps SDK na Androida i biblioteki narzędziowej pakietu Maps SDK na Androida. Te rozszerzenia udostępniają funkcje języka Kotlin, które umożliwiają pisanie zwięzłego i idiomatycznego kodu w tym języku podczas tworzenia aplikacji korzystających z pakietu Maps SDK na Androida. Biblioteka Maps KTX jest dostępna na licencji open source i można ją pobrać z GitHub wraz z przykładami.

Instalacja

Aby zainstalować KTX dla pakietu Maps SDK na Androida i opcjonalnie dla biblioteki narzędziowej pakietu Maps SDK na Androida, dodaj te zależności do pliku build.gradle.kts.

dependencies {

    // KTX for the Maps SDK for Android library
    implementation("com.google.maps.android:maps-ktx:5.2.0")
}

Przykłady użycia

Biblioteka KTX umożliwia korzystanie z kilku funkcji języka Kotlin, takich jak funkcje rozszerzające, nazwane parametry i argumenty domyślne, deklaracje rozkładu i procedury współbieżne.

Pobieranie obiektu GoogleMap za pomocą korutyn

Dostęp do GoogleMap można uzyskać za pomocą korutyn.

lifecycleScope.launch {
  lifecycle.repeatOnLifecycle(Lifecycle.State.CREATED) {
    val mapFragment: SupportMapFragment? =
      supportFragmentManager.findFragmentById(R.id.map) as? SupportMapFragment
    val googleMap: GoogleMap? = mapFragment?.awaitMap()
  }
}

Dodawanie znacznika

Marker można dodać za pomocą metody w stylu DSL addMarker().

val sydney = LatLng(-33.852, 151.211)
val marker = googleMap.addMarker {
  position(sydney)
  title("Marker in Sydney")
}

Zbieranie zdarzeń zarejestrowanych przez kamerę

Zdarzenia, takie jak ruchy kamery, można zbierać za pomocą Kotlin Flow.

lifecycleScope.launch {
  lifecycle.repeatOnLifecycle(Lifecycle.State.CREATED) {
    googleMap.cameraMoveEvents().collect {
      print("Received camera move event")
    }
  }
}

Pełną listę obsługiwanych funkcji znajdziesz w dokumentacji.

Wypróbuj przykładową aplikację

Repozytorium GitHub tej biblioteki zawiera też aplikację demonstracyjną, która pokazuje, jak używać biblioteki Maps KTX we własnej aplikacji.

Aby wypróbować aplikację demonstracyjną, wykonaj te czynności:

  1. Sklonuj lub pobierz plik ZIP z GitHub.
  2. W Android Studio wybierz File –> Open (Plik –> Otwórz) i otwórz sklonowany lub pobrany folder.
  3. Dodaj klucz interfejsu API do aplikacji demonstracyjnej.
    1. Uzyskaj klucz Maps SDK na Androida
    2. W katalogu głównym utwórz plik o nazwie secrets.properties. Aby chronić klucz interfejsu API, ten plik NIE powinien być objęty kontrolą wersji.
    3. Dodaj ten wiersz do pliku secrets.properties
      MAPS_API_KEY="YOUR_API_KEY"
      gdzie YOUR_API_KEY to rzeczywisty klucz interfejsu API uzyskany w pierwszym kroku. Możesz na przykład zapoznać się z secrets.defaults.properties.
  4. W konfiguracji uruchomienia wybierz moduł app-ktx.
  5. Kliknij Run 'app-ktx' (Uruchom „app-ktx”).

Co dalej?

Może Cię też zainteresować inne biblioteki rozszerzeń Kotlin dla Platformy Map Google:

  • KTX w przypadku biblioteki narzędziowej pakietu SDK Map na Androida
  • KTX w pakiecie SDK Miejsc na Androida