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 library
    implementation 'com.google.maps.android:maps-ktx:5.0.0'
}

用法示例

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

使用协程检索 GoogleMap

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

lifecycleScope.launch {
  lifecycle.repeatOnLifecycle(Lifecycle.State.CREATED) {
    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.launch {
  lifecycle.repeatOnLifecycle(Lifecycle.State.CREATED) {
    googleMap.cameraMoveEvents().collect {
      print("Received camera move event")
    }
  }
}

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

试用示例应用

该库的 GitHub 代码库还包含一个演示版应用,用于展示如何在您自己的应用中使用 Maps KTX 库。

如需试用演示版应用,请按照以下步骤操作:

  1. GitHub 克隆或下载 ZIP 文件。
  2. 在 Android Studio 中,依次选择文件 -> 打开,前往您刚刚克隆或下载文件的文件夹并将其打开。
  3. 向演示版应用添加 API 密钥。
    1. 获取 Maps SDK for Android 密钥
    2. 请在根目录中创建一个名为“secrets.properties”的文件。为保护您的 API 密钥,不应对此文件进行版本控制。
    3. 将下面一行代码添加到 secrets.properties
      MAPS_API_KEY="YOUR_API_KEY"
      其中 YOUR_API_KEY 是您在第一步中获得的实际 API 密钥。您可以以 secrets.defaults.properties 为例。
  4. 在运行配置下,选择模块 app-ktx
  5. 选择运行“app-ktx”

后续内容

您可能还会对适用于 Google Maps Platform 的其他 Kotlin 扩展程序库感兴趣:

  • 适用于 Maps SDK for Android 实用程序库的 KTX
  • 适用于 Places SDK for Android 的 KTX