android-kotlin google maps ejemplo

Continuando con los ejemplos de kotlin hoy veremos como usar google maps, después de implementar verán que no es muy diferente a lo que hacíamos en java, les cuento de forma rápida de que trata este ejemplo la idea es usar un google map y luego insertaremos las coordenadas (latitud,longitud) y la app nos dibujara la ubicación en el mapa.

Sin mas rodeos empezamos con el ejercicio:

 

Android-Kotlin google maps ejemplo

 

 

Paso 1: Creamos una nueva aplicación y hacemos check como señala la flecha roja.

 

Paso 2:  Seleccionamos la versión mínima de nuestra app

 

Paso 3: Hacemos clic en Google Maps Activity

 

 

Luego de esto se nos crear tres archivos, MapsActivity.kt, activity_maps, google_maps_api  y sera los que vamos a configurar a continuación:

 

activity_maps

 

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.androfast.server.appgooglemapkotlin.MapsActivity"

    />

 

MapsActivity

 

import android.support.v7.app.AppCompatActivity
import android.os.Bundle

import com.google.android.gms.maps.CameraUpdateFactory
import com.google.android.gms.maps.GoogleMap
import com.google.android.gms.maps.OnMapReadyCallback
import com.google.android.gms.maps.SupportMapFragment
import com.google.android.gms.maps.model.LatLng
import com.google.android.gms.maps.model.MarkerOptions

class MapsActivity : AppCompatActivity(), OnMapReadyCallback{

    private var mMap: GoogleMap? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_maps)

        val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment
        mapFragment.getMapAsync(this)
    }


    override fun onMapReady(googleMap: GoogleMap) {
        mMap = googleMap

        // Agregamos marcadores en peru
        val marcador = LatLng(-6.761120, -79.86355)
        mMap?.let {
            it.addMarker(MarkerOptions().position(marcador).title("Marcador en Peru"))
            it.moveCamera(CameraUpdateFactory.newLatLng(marcador))
        }
    }
}

 

google_maps_api 

Dentro de este archivo debes poner tu api key de google map, también es valido ponerlo directamente den el AndroidManifest

<resources>
    <!--
    TODO: Before you run your application, you need a Google Maps API key.

    To get one, follow this link, follow the directions and press "Create" at the end:

    https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r=74:A5:00:DD:84:79:8F:90:99:08:95:A6:66:88:3F:E3:55:38:89:DD%3Bcom.androfast.server.appgooglemapkotlin

    You can also add your credentials to an existing key, using these values:

    Package name:
    74:A5:00:DD:84:79:8F:90:99:08:95:A6:66:88:3F:E3:55:38:89:DD

    SHA-1 certificate fingerprint:
    74:A5:00:DD:84:79:8F:90:99:08:95:A6:66:88:3F:E3:55:38:89:DD

    Alternatively, follow the directions here:
    https://developers.google.com/maps/documentation/android/start#get-key

    Once you have your key (it starts with "AIza"), replace the "google_maps_key"
    string in this file.
    -->
    <string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">Aqui va tu api key</string>
</resources>

La api key la puedes obtener del siguiente enlace: https://console.developers.google.com/apis/credentials

Recuerda que debe habilitar el siguiente servicio dentro de tus credenciales:

 

Si has  seguido mi tutorial no necesitas hacer nada mas, en cambio si lo haces de forma manual te sugiero que descargues el ejercicio completo del siguiente link que te dejo a continuación.

 

0

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *