Sunteți pe pagina 1din 13

DESARROLLO PARA PLATAFORMAS MÓVILES (IS215)

Laboratorio 7

Logro:
Al finalizar la sesión, el estudiante implementa el servicio de mapas de Google.
Secciones: T61A
Profesor: RODRIGUEZ CONDEZO DAVID ARMANDO
Contenido: (1) Google Maps

MAPS SDK FOR ANDROID

Recordar:
Cambiar la versión del compile y target (build.gradle del módulo):

Página 1 de 13
Puesta en marcha

a) Google Play Services


El Android SDK debe tener instalado el «Google Play Services» y actualizada a la
última versión disponible.

Además, compilar el build.gradle del módulo :


dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-
core:3.0.2'
implementation 'com.google.android.gms:play-services-maps:16.0.0'
}

b) Crear un proyecto en Google Console

Accedemos a https://console.developers.google.com/. Es necesario tener una


cuenta en Gmail para crear nuestro proyecto en Google APIs Console.

Click en la zona marcada para crear un nuevo proyecto:

Página 2 de 13
Nos solicitará escribir un nombre descriptivo al proyecto:

c) Habilitar Google Maps Android API

Ingresamos a la opción del menú “Administrador de las API” y habilitamos


“Google Maps Android API”:

Página 3 de 13
Página 4 de 13
d) Creación de Credenciales

Página 5 de 13
Página 6 de 13
Llenar el formulario. Además de ingresar el nombre y nombre del paquete del
proyecto, se debe ingresar la “Huella digital de certificado SHA-1” (Leer mas abajo
para generar el SHA-1):

Página 7 de 13
** Para obtener el SHA-1 seguir los siguientes pasos:

a. Click en Gradle (lado derecho del Android Studio, dice Gradle projects)
b. Click en el botón Refresh (Click en el botón Refresh del Gradle projects)
Aparecerá una lista de scripts Gradle.
c. Doble click en signingReport. En la parte inferior (Gradle Console)
obtendrá el SHA-1:

e) Utilizar el API Key en el proyecto Android

Obtener la Clave de la API de la siguiente pantalla:

Página 8 de 13
f) Configurando el AndroidManifest.xml

Ese API key será colocado en nuestro AndroidManifest.xml, dentro de la etiqueta


<application>, además de la versión de la versión de Google Play Services:

<meta-data android:name="com.google.android.gms.version"

android:value="@integer/google_play_services_version" />

<meta-data android:name="com.google.android.maps.v2.API_KEY"

android:value="(aquí copie su CLAVE DE LA API)" />

Página 9 de 13
Mapa básico

Página 10 de 13
MapaBasicoActivity.java

package proyecto.david;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
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.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

public class MapaBasicoActivity extends AppCompatActivity implements


OnMapReadyCallback {

SupportMapFragment mapFragment;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mapa_basico);

mapFragment = (SupportMapFragment)
getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);

@Override
public void onMapReady(GoogleMap googleMap) {

googleMap.getUiSettings().setZoomControlsEnabled(true);
googleMap.setTrafficEnabled(true);

googleMap.addMarker(new MarkerOptions()
.position(new LatLng(-12.04592, -77.030565))
.title("Centro de Lima")

.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GRE
EN)));

googleMap.addMarker(new MarkerOptions()
.position(new LatLng(-12.044956, -77.029831))
.title("Palacio de Gobierno"));

googleMap.addMarker(new MarkerOptions()
.position(new LatLng(-12.046661, -77.029544))
.title("Catedral"));

googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new
LatLng(-12.04592, -77.030565), 15));

Página 11 de 13
activity_mapa_basico.xml

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_gravity="center"
android:layout_height="match_parent"
/>

</RelativeLayout>

Ejecutar el APP:

** Seleccionar nuevamente la opción “app”

Página 12 de 13
Configuraciones adicionales

Realizar las siguiente modificaciones dentro del método onMapReady();

googleMap.getUiSettings().setZoomControlsEnabled(true);
googleMap.setTrafficEnabled(true);
googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
googleMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
googleMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);

Página 13 de 13

S-ar putea să vă placă și