Mapy na Androida KTX

Rozszerzenia Maps Android Kotlin (KTX) to kolekcja rozszerzeń Kotlin dla pakietu Maps SDK na Androida oraz biblioteki narzędziowej pakietu Maps SDK for Android. Te rozszerzenia udostępniają funkcje w języku Kotlin, które pozwalają pisać zwięzłe i idiomatyczne teksty w Kotlin podczas programowania na pakiet SDK Map Google na Androida. Mapy KTX to oprogramowanie typu open source, które jest dostępne wraz z przykładami na GitHub.

Instalacja

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

dependencies {

    // KTX for the Maps SDK for Android library
    implementation 'com.google.maps.android:maps-ktx:5.0.0'
}

Przykładowe zastosowania

Dzięki bibliotece KTX możesz skorzystać z kilku dostępnych w Kotlin funkcji językowych, takich jak funkcje rozszerzeń, parametry nazwane i argumenty domyślne, deklaracje destrukcyjne i współrzędne.

Pobieranie mapy Google przy użyciu współrzędnych

Dostęp do elementu GoogleMap można przywrócić za pomocą współrzędnych.

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

Dodawanie znacznika

Znaczniki można dodawać za pomocą metody addMarker() (czyli stylu DSL).

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

Rejestrowanie zdarzeń kamery

Zdarzenia, takie jak ruchy kamery, można rejestrować za pomocą narzędzia 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 referencyjnej.

Wypróbuj przykładową aplikację

Repozytorium GitHub dla tej biblioteki zawiera też aplikację demonstracyjną, która pokazuje, jak można wykorzystać bibliotekę Map KTX we własnej aplikacji.

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

  1. Skopiuj lub pobierz plik ZIP z GitHub.
  2. W Android Studio wybierz Plik -> Otwórz, przejdź do katalogu i otwórz nowo sklonowany lub pobrany folder.
  3. Dodaj klucz interfejsu API do aplikacji w wersji demonstracyjnej.
    1. Pobierz 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 podlegać kontroli wersji.
    3. Dodaj ten pojedynczy wiersz do zbioru danych secrets.properties
      MAPS_API_KEY="YOUR_API_KEY"
      , gdzie YOUR_API_KEY to rzeczywisty klucz interfejsu API uzyskany w pierwszym kroku. Oto przykład: secrets.defaults.properties.
  4. W konfiguracji uruchamiania wybierz moduł app-ktx.
  5. Kliknij Uruchom aplikację „app-ktx”.

Co dalej

Być może zainteresują Cię również inne biblioteki rozszerzeń Kotlin dla Google Maps Platform:

  • KTX na potrzeby biblioteki pakietu Map SDK na Androida.
  • KTX dla pakietu Places SDK na Androida.