Maps Android KTX

Maps Android Kotlin 扩展程序 (KTX) 是针对 Maps SDK for Android 和 Maps SDK for Android 实用程序库的一系列 Kotlin 扩展程序。这些扩展程序提供多种 Kotlin 语言功能,可让您在针对 Maps SDK for Android 进行开发时编写简洁而惯用的 Kotlin 代码。Maps KTX 是开源的,您可以在 GitHub 上获取 Maps KTX 及相关示例。

安装

要为 Maps SDK for Android 和 Maps SDK for Android 实用程序库安装 KTX,请将以下依赖项添加到您的 build.gradle 文件。

dependencies {
    // KTX for the Maps SDK for Android
    implementation 'com.google.maps.android:maps-ktx:3.2.1'

    // (Optional) KTX for the Maps SDK for Android Utility Library
    implementation 'com.google.maps.android:maps-utils-ktx:3.2.1'
}

用法示例

借助 KTX 库,您可以利用多种 Kotlin 语言功能,例如扩展函数、命名参数和默认参数、解构声明和协程。

使用协程检索 GoogleMap

可以使用协程检索对 GoogleMap 的访问。

lifecycleScope.launchWhenCreated {
  val mapFragment: SupportMapFragment? =
    supportFragmentManager.findFragmentById(R.id.map) as? SupportMapFragment
  val googleMap: GoogleMap? = mapFragment?.awaitMap()
}

添加标记

可以使用 DSL 样式的方法 addMarker() 添加标记。

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

收集相机事件

可通过 Kotlin 数据流收集事件,例如相机移动事件。

lifecycleScope.launchWhenCreated {
  googleMap.cameraMoveEvents().collect {
    print("Received camera move event")
  }
}

您可以阅读参考文档,查看受支持功能的完整列表。