Google Maps Android Studio
-
Upload
johanna-cifuentes -
Category
Documents
-
view
255 -
download
0
Transcript of Google Maps Android Studio
-
8/18/2019 Google Maps Android Studio
1/17
InstructoraLeidy Johanna Cifuentes Martinez
C.E.E.T Bogotá D.C
Localización geográfica.
-
8/18/2019 Google Maps Android Studio
2/17
OBJETIVOS:
Describir las APIs de Android para la geolocalización y los diferentes tipos de sistemas de
posicionamiento disponible.
Ver lo sencillo que resulta incorporar en nuestra aplicación un servicio de un tercero. En concreto
Google Maps.
Libros utilizados para crear el
material.
Videos multimedia de apoyo
ANDROID DESARROLLO DEAPLICACIONES EDITORIALRA-MA Autor RobertoMontero.
Cibergrafia
https://developers.google.com/maps/documentation/android-api/location#code_samples
-
8/18/2019 Google Maps Android Studio
3/17
Localización Geográfica
La plataforma Android dispone de un interesante sistema de posicionamiento que combina variastecnologías:
Sistema de localización global basado en GPS. Este sistema solo funciona si disponemos devisibilidad directa de los satélites.
Sistema de localización basado en la información recibida de las torres de telefonía celular y depuntos de acceso Wi-Fi. Funciona en el interior de los edificios.
Estos servicios se encuentran totalmente integrados en el sistema y son usados por gran variedad deaplicaciones. Android puede adaptar la configuración del teléfono según donde se encuentre. Podríapor ejemplo poner el modo de llamada en vibración cuando estemos en el trabajo.
El sistema de posicionamiento global, GPS, fue diseñado inicialmente con fines militares pero hoy endía es ampliamente utilizado para uso civil. Gracias al desfase temporal de las señales recibidas porvarios de los 31 satélites desplegados, este sistema es capaz de posicionarnos en cualquier parte del
planeta con una precisión de 15 metros.
El GPS presenta un inconveniente; solo funciona cuando tenemos visión directa de los satélites. Parasolventar este problema, Android combina esta información con la recibida de las torres de telefoníacelular y de puntos de acceso Wi-Fi.
PERMISOS DE UBICACIÓN.
El Google Play Services API de ubicación se recomienda para todas las solicitudes programáticas
para los datos de localización.
El LocationSource interfaz le permite proporcionar un proveedor de ubicación personalizada.
Android ofrece dos permisos de ubicación: ACCESS_COARSE_LOCATION y ACCESS_FINE_LOCATION.
El permiso que eli ja determinará la precisión de la localización devuelto por la API. Sólo tiene que
solicitar uno de los permisos de ubicación Android, dependiendo del nivel de precisión que necesita:
android.permission.ACCESS_COARSE_LOCATION - Permite la API para utilizar WiFi o teléfonos
móviles de datos (o ambos) para determinar la ubicación del dispositivo. La API devuelve la ubicación
con una precisión de aproximadamente equivalente a una manzana de la ciudad.
android.permission.ACCESS_FINE_LOCATION - Permite la API para determinar una ubicación lo
más precisa posible de los proveedores de ubicación disponibles, incluido el Sistema de
Posicionamiento Global (GPS), así como los datos WiFi y teléfonos móviles.
https://developer.android.com/reference/com/google/android/gms/maps/LocationSource.htmlhttps://developer.android.com/reference/com/google/android/gms/maps/LocationSource.htmlhttps://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATIONhttps://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATIONhttps://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATIONhttps://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATIONhttps://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATIONhttps://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATIONhttps://developer.android.com/reference/com/google/android/gms/maps/LocationSource.html
-
8/18/2019 Google Maps Android Studio
4/17
¿Cómo obtener la Ubicación actual con el GPS de Android?
Vamos a crear una aplicación que sea capaz de leer información de localización del dispositivo yactualizarla cada vez que se produce un cambio.
1..Crear un proyecto llamado Coordenadas
2.. Por razones de seguridad acceder a la información de localización esta, en principio, prohibido alas aplicaciones. Si estas desean hacer uso de dicho servicio han de solicitar permisos especiales.Estos permisos hay que indicarlos en el fichero AndroidManiest .xml. En concreto, esta aplicaciónnecesita los permisos de localización precisa y localización imprecisa:
ACCESS_FINE_LOCATION ACCESS COARSE LOCATION
ACCESS_COARSE_LOCATION Permite que una aplicación acceda a la ubicación aproximada
ACCESS_FINE_LOCATION Permite que una aplicación acceda a la ubicación precisa.
ACCESS_LOCATION_EXTRA_COMMANDS Permite que una aplicación para acceder a comandos adicion
del proveedor de ubicación.
ACCESS_NETWORK_STATE Permite que las aplicaciones accedan a la información sobre
las redes.
http://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATIONhttp://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATIONhttp://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATIONhttp://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATIONhttp://developer.android.com/reference/android/Manifest.permission.html#ACCESS_LOCATION_EXTRA_COMMANDShttp://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATEhttp://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATEhttp://developer.android.com/reference/android/Manifest.permission.html#ACCESS_LOCATION_EXTRA_COMMANDShttp://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATIONhttp://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATION
-
8/18/2019 Google Maps Android Studio
5/17
ACCESS_NOTIFICATION_POLICY el permiso marcador para aplicaciones que deseen acceder
a la política de notificación.
ACCESS_WIFI_STATE Permite que las aplicaciones accedan a la información
acerca de las redes Wi-Fi.
3. Ahora trabajamos en nuestro activity_main.xml en donde se van mostrar nuestras coordenadas de
ubicación.
2 TextView: id: resultado id:resultado1
4. Definir LocationListener: Clase general Se utiliza para recibir notificaciones de la LocationManagercuando la ubicación ha cambiado. Estos métodos se llaman si el LocationListener ha sido registrado
con el servicio gestor de ubicación utilizando las requestLocationUpdates (String, long, float,
LocationListener) del método.
Definiéndola en nuestra clase principal MainActivity.java
importar el paquete “android.location.LocationListener ”
http://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NOTIFICATION_POLICYhttp://developer.android.com/reference/android/Manifest.permission.html#ACCESS_WIFI_STATEhttp://developer.android.com/reference/android/location/LocationManager.html#requestLocationUpdates(java.lang.String,%20long,%20float,%20android.location.LocationListener)http://developer.android.com/reference/android/location/LocationManager.html#requestLocationUpdates(java.lang.String,%20long,%20float,%20android.location.LocationListener)http://developer.android.com/reference/android/location/LocationManager.html#requestLocationUpdates(java.lang.String,%20long,%20float,%20android.location.LocationListener)http://developer.android.com/reference/android/location/LocationManager.html#requestLocationUpdates(java.lang.String,%20long,%20float,%20android.location.LocationListener)http://developer.android.com/reference/android/Manifest.permission.html#ACCESS_WIFI_STATEhttp://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NOTIFICATION_POLICY
-
8/18/2019 Google Maps Android Studio
6/17
LocationManager: Esta clase proporciona acceso a los servicios de localización del sistema. Estos
servicios permiten a las aplicaciones para obtener actualizaciones periódicas de la situación
geográfica del dispositivo, o para disparar una aplicación especificada Intent cuando el dispositivoentra en la proximidad de una zona geográfica determinada.
Creada nuestra clase MyLocationListener , debemos de implementarla y para ello debemos llamar alservicio LocationManager del sistema Android y agregar un nuevo LocationListener de
actualizaciones de ubicación. En el método onCreate de nuestra clase principal y en cual seejecutara durante toda la actividad.
Geocoder: Clase que nos permite capturar con el uso del método “getFromLocation(double Latitud,double Longitud, int MáxResults)”, obtener un listado de direcciones que figuran alrededor de las
coordenadas de latitud y longitud.
-
8/18/2019 Google Maps Android Studio
7/17
Para tener un mejor desempeño se implementan los siguientes métodos.
-
8/18/2019 Google Maps Android Studio
8/17
Uso de google maps en Android Studio.
Google Maps nos proporciona un servicio de cartografía online que podremos utilizar en nuestras
aplicaciones Android. es un software libre, por lo que está limitado a una serie de condiciones de
servicio. Podemos usarlo de forma gratuita siempre que nuestra aplicación no solicite más de 15.000
codificaciones geográficas al día.
https://developers.google.com/maps/documentation/android/
1. Configuración del entorno de trabajo:
Para poder utilizar este servicio de Google, igual como ocurre cuando se utiliza desde una
página web, va a ser necesario registrar la aplicación que lo utilizará. Tras registrar la
aplicación se nos entregará una clave que tendremos que indicar en la aplicación.
Antes de crear la clave Api es muy importante tener certificado SHA-1
Utilizando el entorno Android Studio accede a la carpeta .android que encontrarás en lacarpeta de tu usuario. Dentro se almacena el fichero debug.keystore con el certificado digital
de depuración. En Windows la ruta de este fichero podría ser en mi caso es:
C:\Users\cifuentes0903\.android\debug.
En Windows este programa se encuentra en la carpeta de java en su jdk.
C:\Program Files\Java\jdk1.8.0_05
Después de tener esta información ingresa al cmd o símbolo del sistema.
Copia el siguiente código keytool -list -v -keystoreC:\Users\cifuentes0903\.android\debug.keystore -alias androiddebugkey -storepass android -
keypass Android
https://developers.google.com/maps/documentation/android/https://developers.google.com/maps/documentation/android/https://developers.google.com/maps/documentation/android/
-
8/18/2019 Google Maps Android Studio
9/17
Seleccionamos la información que está en SHA1: guardar a la mano porque más adelante lo
vamos a utilizar.
Obtener una Google Maps API Key: Requerimiento tener una cuenta de google.
Ingresar: https://console.developers.google.com
Ahora vamos adicionar Google Maps Android API
Habilitar Api
Clic en crear
https://console.developers.google.com/https://console.developers.google.com/https://console.developers.google.com/https://console.developers.google.com/
-
8/18/2019 Google Maps Android Studio
10/17
Clic en habilitar
Añadimos la credenciales al proyecto
-
8/18/2019 Google Maps Android Studio
11/17
Nombre: ClaveAndroid
Nombre del paquete: aplicaciones.android.com.mapasbasicos Esta información la encontramos en AndroidManifest.xml en su proyecto ya creado.
package="aplicaciones.android.com.mapasbasicos">
Guarda la clave la vamos a utilizar más adelante.
Ahora Ingresa a proyecto creado en mi caso: Mapasbasicos:
Vamos a verificar si cuentas con libreria del Google Play Service
Abrimos el Android SDK Manager.
-
8/18/2019 Google Maps Android Studio
12/17
Debe tener instalado Google Play services y Google Reposity: En caso contrario debes
instalar estos paquetes.
2. Agregar google maps Api Key a nuestra aplicación.
Buscar el fichero XML de manifiesto denominado AndroidManifest.xml;
Adicionamos los siguientes permisos:
También para que los servicios externos como el Google Play Store lo consideren de cara al usuarioque desee descargar la aplicación.
Finalmente quedando androidManifest .xml de la siguiente forma
-
8/18/2019 Google Maps Android Studio
13/17
Adicionalmente colocamos en nuestro build.grade(Modul:app)
3, Mostrar el Mapa
Creamos un fichero XML de tipo fragmento al cual llamaremos activity_main.xml y cuyocontenido sea el siguiente trozo de código:
En nuestra MainActivity.java,
-
8/18/2019 Google Maps Android Studio
14/17
Ejecuta el programa nos debe salir nuestro primer mapa.
3. Ahora vamos a trabajar MARKET nuestra ubicación y también marcadores.
Clase public final GoogleMap extiende Objeto: Esta es la clase principal de la API de GoogleMaps para Android y es el punto de entrada para todos los métodos relacionados con el
mapa. No se puede crear una instancia de un GoogleMap objeto directamente, más bien, se
debe obtener uno del getMap () método en un MapFragment o MapView que ha añadido a suaplicación.
http://developer.android.com/reference/java/lang/Object.htmlhttp://developer.android.com/reference/java/lang/Object.htmlhttp://developer.android.com/reference/java/lang/Object.htmlhttps://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap.htmlhttps://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap.htmlhttps://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap.htmlhttps://developers.google.com/android/reference/com/google/android/gms/maps/MapFragment.htmlhttps://developers.google.com/android/reference/com/google/android/gms/maps/MapFragment.htmlhttps://developers.google.com/android/reference/com/google/android/gms/maps/MapFragment.htmlhttps://developers.google.com/android/reference/com/google/android/gms/maps/MapView.htmlhttps://developers.google.com/android/reference/com/google/android/gms/maps/MapView.htmlhttps://developers.google.com/android/reference/com/google/android/gms/maps/MapView.htmlhttps://developers.google.com/android/reference/com/google/android/gms/maps/MapView.htmlhttps://developers.google.com/android/reference/com/google/android/gms/maps/MapFragment.htmlhttps://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap.htmlhttp://developer.android.com/reference/java/lang/Object.html
-
8/18/2019 Google Maps Android Studio
15/17
-
8/18/2019 Google Maps Android Studio
16/17
Seguir referencia
Ejecutamos
Ahora vamos a crear un marcador adicionando la siguiente línea.
mapas.addMarker(new MarkerOptions().position(new LatLng(0.0,00)).title("Esta es mi ubicacion") );
Ahora vamos a darle coordenadas establecidas y crear marcadores
https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap#nested-class-summaryhttps://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap#nested-class-summaryhttps://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap#nested-class-summary
-
8/18/2019 Google Maps Android Studio
17/17