Usando Google maps en android

Últimamente he estado trabajando mucho en android, y entre las cosas que he hecho es implementar Google maps en android para unas aplicaciones.

Así que este tutorial es sobre cómo implementar google maps paso a paso.

Crear llave para Google maps

vamos a entrar a la consola de google y aquí crearemos un nuevo proyecto

nuevo proyecto consola google

Creamos y le ponemos un nombre y nos regresara al home, aquí debemos seleccionar nuevamente el proyecto.

vamos a elegir API y servicios y si necesitamos

en caso que solo necesitemos google maps vamos a ir a Biblioteca.

Vamos a ir a Api de Google maps > Google maps android API

y habilitamos 

ahora nos pedirá crear credencial de Google maps en android

vamos a seleccionar google maps android api y tocamos el boton que dice que credencial necesito

esta credencial lo guardamos  porque nos servirá más adelante , ahora vamos a android studio.

Android Studio

La forma más fácil es crear una nueva actividad tipo mapa , cuando es la primera vez te recomiendo crear esa actividad por la configuraciones agrega android studio en el proyecto

crear actividad de google maps

Que cambia de nuestro proyecto:

AndroidManifest:

<meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="@string/google_maps_key" />

este meta-dato va dentro de la etiqueta <application> con esta meta etiqueta te dice que tienes una llave en Google maps en android y podrás acceder a estos servicios .

res/values-/google_maps_api.xml:

Este documento es la razón porque recomiendo crear esta actividad no por el contenido del string que es el siguiente:

<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">
   llave_googleApi
</string>

si no que te genera varias instrucciones para que registres tu app de forma sencilla y asociar tu llave de Google maps en android

layout/activity_maps.xml:

aquí nos genera un fragmento para google 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.unprogramador.MapsActivity" />

Nosotros podemos ponerle un tamaño específico si queremos usar esta vista y agregar mas cosas o simplemente podemos incluirlo en otra vista.

MapsActivity.java:

Aquí voy a explicar que encontramos, esto lo podemos implementar en cualquier clase creada anteriormente.

Métodos para Google maps

Expliquemos , un amigo fiel que usaremos es el implements en cualquier de nuestras clases, aqui necesitaremos

OnMapReadyCallback

Creamos una variable que se de tipo GoogleMap, aquí tendremos la información del mapa que usaremos.

Si hacemos un implement a nuestro codigo necesitaremos agregar metodos asi que tenemos que implementar onMapReady

@Override
public void onMapReady(GoogleMap googleMap) {
}

con esto hacemos cuando entra a la actividad lo primero que hace es cargar la información de google maps y enseñarlo

Agregar puntos

En Google maps en android, podemos agregar puntos en el mapa, para esto debemos trabajar con Latitud y longitud

para crear uno punto nuevo debemos escribir lo siguiente:

LatLng sydney = new LatLng(-34, 151);

nota: el primer valor es latitud y el segundo longitud

mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));

addMarker es literal, agregar un marcado y contiene las siguientes opciones.

  • position(LatLng)
  • title(String)
  • draggable(boolean) – true pueden arrastrar el puntero
  • Anchor – El punto de la imagen que se dispondrá en la posición de LatLng del marcador.
  • Alpha – Establece la opacidad del marcador. Valor predeterminado es 1.0.
  • Snippet – Texto adicional que aparece debajo del título
  • icon – podemos cambiar el icono del punto rojo
  • visible(boolean) – si es false no se muestra el puntero

si queremos posicionar el marcador y mover la cámara de Google maps en android usaremos el siguiente código.

mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
//Codigo completo
@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;

    // Add a marker in Sydney and move the camera
    LatLng sydney = new LatLng(-34, 151);
    mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}

con esto podemos usar el mapa y poner un punto en el mapa 🙂

Bonus

si queremos mostrar el icono de localización el código es el siguiente.

mMap.setMyLocationEnabled(true);

y para el tráfico en google maps en android.

mMap.setTrafficEnabled(false);

esto va en el onMapReady

Si queremos cambiar el icono podemos hacer lo siguiente, en este ejemplo cambiaremos en color azul en vez del rojo predeterminado.

.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));

si queremos un icono propio podemos hacer lo siguiente

.icon(BitmapDescriptorFactory.fromResource(R.drawable.locationmod)));

 


Usando iconos personalizados se puede ver de esta manera.

por Cesar Flores

Programador de tiempo completo, Gamer de medio tiempo y fotógrafo ocasionalmente, me gusta el front-end y mi framework favorito es angular aunque no por eso le hago el feo a un nuevo lenguaje.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.