Objectos

Un objeto en Kotlin es exactamente igual que una clase pero no es necesario instanciarlo para poder acceder a sus propiedades y métodos.
object Auto{
val prop1 = "lo que sea"
fun hacer() { ... }
Y ya desde cualquier otra clase:
Auto.prop1 = "xx"
Auto.hacer()

Enum Class

Para definir valores constantes para luego ser usados por otras clases
enum class Precio { BARATO,NORMAL,CARO }
Y luego en otra clase en vez de poner tipo Float o Int se pone:
data class Articulo(var cod:Int,var desc:String, precio:Precio)
Y ya para instanciarlo:
var art1 = Articulo(1,Precio.BARATO)
art1.precio = Precio.CARO

Data Class

Es una clase cuya particularidad es que se usará SOLO para almacenar datos (no tendrá métodos).
data class Articulo(var cod:Int,var desc:String,var precio:Float)
Y luego para llamarla desde cualquier parte será:
var art1 = Articulo(1,"lo que sea",125.75f)
art1.desc = "Nueva desc"

Varios básicos de Kotlin

val txt = findViewById(R.id.textoLSG)
Button myButton = findViewById(R.id.my_button)

// Las variables con "val" si van a ser constantes y "var" si van a ser variables var decision:Boolean = false
// para definir una var que luego se va a cambiar luego dentro de una funcción
lateinit var texto1:TextView
...
texto1.text = "xxx"

// FUNCIONES
fun getNumero():Int {
    return 5
}

fun suma(num1:Int,num2:Int):Int {
    var sum: Int = num1+num2
    return sum
}

// ARRAYS
var arr1 = intArrayOf(2,4,6)
var arr2 = doubleArrayOf(4.5,5.5,8.6)
var arr3 = arrayOf(true,"pepe",5.5,7)
texto.text = arr1[2].toString()

Google Maps

https://console.cloud.google.com/

Crear proyecto nuevo y seleccionarlo

APIs y servicios -> Habilitar APIs y Servicios -> Maps SDK

APIs y Servicios -> Credenciales -> Crear Credenciales -> Clave de API (la copiamos)

Creamos un nuevo proyecto empty y creamos un fichero de tipo Resource File: app\src\main\res\values\google_maps_api.xml y guardamos ahí nuestra Api_key:

Más información en:
https://cursokotlin.com/capitulo-28-google-maps-en-android-con-kotlin/