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 库。
如需试用演示版应用,请按照以下步骤操作:
- 从 GitHub 克隆或下载 ZIP 文件。
- 在 Android Studio 中,依次选择文件 -> 打开,前往您刚刚克隆或下载文件的文件夹并将其打开。
- 向演示版应用添加 API 密钥。
- 获取 Maps SDK for Android 密钥。
- 请在根目录中创建一个名为“
secrets.properties
”的文件。为保护您的 API 密钥,不应对此文件进行版本控制。 - 将下面一行代码添加到
secrets.properties
中
MAPS_API_KEY="YOUR_API_KEY"
其中YOUR_API_KEY
是您在第一步中获得的实际 API 密钥。您可以以secrets.defaults.properties
为例。 - 在运行配置下,选择模块 app-ktx。
- 选择运行“app-ktx”。
后续内容
您可能还会对适用于 Google Maps Platform 的其他 Kotlin 扩展程序库感兴趣: