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") } }
您可以阅读参考文档,查看受支持功能的完整列表。