Documente Academic
Documente Profesional
Documente Cultură
CON
ANDROID
El
posicionamiento
viene
asociado
a
los
mecanismos
de
localización
o
geolocalización.
La
geolocalización
es
la
capacidad
para
obtener
la
ubicación
geográfica
real
de
cualquier
cosa,
como
un
sitio,
una
persona,
un
teléfono
móvil
o
un
computador
conectado
a
Internet.
La
geolocalización
puede
referirse
a
la
consulta
de
la
ubicación
o
posición
de
estas
cosas.
¿Porqué
es
importante
la
localización?
¿Qué
aplicaciones
conoces
que
usan
la
localización?
Los
servicios
de
localización
en
Android
se
basan
principalmente
en
el
GPS,
pero
también
se
dispone
de
servicios
de
localización
basados
en
telefonía
móvil
y
redes
Wi-‐Fi.
A
continuación,
se
explicarán
conceptos
básicos
asociados
a
estos
tipos
de
localización.
LOCALIZACION
BASADA
EN
GPS
El
siguiente
texto
fue
tomado
de
la
página
oficial
del
sistema
GPS
de
los
Estados
Unidos
https://www.gps.gov/spanish.php.
“El
Sistema
de
Posicionamiento
Global
(GPS)
es
un
sistema
de
radionavegación
de
los
Estados
Unidos
de
América,
basado
en
el
espacio,
que
proporciona
servicios
fiables
de
posicionamiento,
navegación,
y
cronometría
gratuita
e
ininterrumpidamente
a
usuarios
civiles
en
todo
el
mundo.
A
todo
el
que
cuente
con
un
receptor
del
GPS,
el
sistema
le
proporcionará
su
localización
y
la
hora
exacta
en
cualesquiera
condiciones
atmosféricas,
de
día
o
de
noche,
en
cualquier
lugar
del
mundo
y
sin
límite
al
número
de
usuarios
simultáneos.
El
GPS
se
compone
de
tres
elementos:
los
satélites
en
órbita
alrededor
de
la
Tierra,
las
estaciones
terrestres
de
seguimiento
y
control,
y
los
receptores
del
GPS
propiedad
de
los
usuarios.
Desde
el
espacio,
los
satélites
del
GPS
transmiten
señales
que
reciben
e
identifican
los
receptores
del
GPS;
ellos,
a
su
vez,
proporcionan
por
separado
sus
coordenadas
tridimensionales
de
latitud,
longitud
y
altitud,
así
como
la
hora
local
precisa”.
El
proceso
para
conocer
la
posición
de
un
objeto
se
realiza
mediante
el
uso
de
un
mínimo
de
4
satélites.
Cada
satélite
envía
los
datos
de
identificación
y
hora
(la
cual
es
tomada
a
partir
de
un
reloj
atómico
de
muy
alta
precisión).
A
partir
de
cada
una
de
las
señales
enviadas
al
dispositivo
receptor,
se
sincroniza
el
reloj
del
GPS
para
medir
el
tiempo
que
tarda
en
llegar
cada
señal,
y
así
poder
calcular
la
distancia
que
existe
entre
el
punto
de
medición
y
los
cuatro
satélites
que
intervienen
en
el
proceso.
A
este
método
se
le
denomina
trilateración
inversa.
La
precisión
de
los
datos
que
se
reciban
dependerá
en
gran
medida
del
número
de
satélites
que
intervengan
en
el
proceso
y
de
su
posición
geométrica.
Las
coordenadas
que
se
obtienen
en
un
sistema
GPS,
a
partir
de
los
meridianos
y
paralelos
de
la
red
geográfica
son:
• Latitud:
Es
la
distancia
angular
entre
la
línea
ecuatorial
y
un
punto
determinado
de
la
Tierra,
medida
a
lo
largo
del
meridiano
en
el
que
se
encuentra
dicho
punto
(dependerá
del
hemisferio
en
el
que
se
sitúe
el
receptor).
• Longitud:
Es
la
distancia
angular
que
existe
entre
el
meridiano
de
Greenwich
y
un
punto
cualquiera
de
la
Tierra,
medida
sobre
el
paralelo
que
pasa
por
dicho
punto.
• Altitud:
Es
la
distancia
vertical
a
un
origen
determinado,
considerado
como
nivel
cero
el
nivel
medio
del
mar.
Las
características
más
importantes
de
este
sistema
son:
• Tiene
una
cobertura
mundial.
• Tiene
una
alta
precisión
de
incluso
2,5
metros
con
los
sistemas
convencionales
de
teléfono
móvil.
Utilizando
técnicas
como
GPS
diferencial
se
puede
llegar
hasta
precisiones
de
un
metro.
• No
funciona
en
el
interior
de
edificios,
dado
que
las
señales
de
microondas
que
utilizan
los
satélites
no
pueden
atravesar
las
paredes.
• Tiene
un
consumo
de
batería
muy
grande.
¿En
qué
consiste
el
GPS
diferencial?
LOCALIZACION
BASADA
EN
REDES
MÓVILES
El
sistema
de
radiocomunicaciones
en
el
que
se
basa
la
telefonía
móvil
se
basa
en
una
gran
cantidad
de
torres
con
antenas
(estaciones
base)
que
se
encargan
de
enviar
y
recibir
señales
de
radio
hacia
los
dispositivos
móviles.
Cada
estación
base
cubre
un
determinado
espacio
denominado
celda.
Los
dispositivos
móviles
tienen
transmisores
de
baja
potencia
que
le
permiten
comunicarse
con
la
antena
de
la
estación
base
más
cercana.
Cuando
el
dispositivo
móvil
está
en
movimiento
va
tomando
la
señal
de
la
estación
base
más
cercana
y
por
tanto
va
saltando
de
una
celda
a
otra
cuando
va
perdiendo
la
señal
de
una
estación
base
y
va
acercándose
a
otra.
Las
estaciones
base
se
encargan
de
monitorizar
la
fuerza
de
la
señal
del
dispositivo
móvil.
En
sitios
rulares
las
torres
de
comunicación
están
más
separadas
y
por
eso
a
veces
la
señal
se
pierde.
La
señal
también
se
puede
interrumpir
en
lugares
con
muchas
montañas
o
edificios
altos.
Esta
conexión
a
diferentes
estaciones
bases,
es
la
que
permite
calcular
la
posición
del
dispositivo.
Un
dispositivo
móvil
puede
determinar
su
posición
por
tres
parámetros:
1. La
distancia
a
las
torres
de
telefonía
2. Tiempo
que
tarda
la
señal
en
ir
y
volver
a
una
torre
3. La
potencia
de
la
señal
recibida.
La
localización
ocurre
gracias
a
la
triangulación
de
las
señales
de
radio
entre
(varias)
torres
de
radio
de
la
red
y
el
teléfono.
Algunas
características
de
este
método
de
localización
son
las
siguientes:
• Posee
una
gran
cobertura,
igual
a
la
cobertura
de
la
red
telefónica
móvil.
• La
precisión
no
es
demasiado
buena,
maneja
una
precisión
de
unos
200
metros
en
áreas
urbanas
donde
la
concentración
de
antenas
es
mucho
mayor,
pero
en
áreas
rurales
donde
existen
muchas
menos
antenas
se
pueden
tener
precisiones
de
entre
2
y
4
kilómetros.
• Funciona
en
el
interior
de
edificios
dado
que
utiliza
una
señal
de
radio
que
puede
atravesar
paredes.
• El
consumo
es
mínimo.
LOCALIZACIÓN
BASADA
EN
WiFi
La
localización
basada
en
WiFi
se
vale
de
los
puntos
de
acceso
que
se
tienen
a
disposición,
los
cuales
están
creciendo
de
manera
acelerada.
En
las
ciudades
se
tienen
una
gran
cantidad
de
puntos
de
acceso,
los
que
han
sido
ubicados
por
las
administraciones
locales,
por
las
empresas
o
por
particulares.
Cada
punto
de
acceso
continuamente
está
enviando
señales
de
radio
para
poder
ser
detectado
por
los
dispositivos
móviles.
Midiendo
la
intensidad
de
esta
señal
y
a
través
de
la
identificación
de
los
puntos
de
acceso,
se
puede
determinar
la
ubicación
del
dispositivo
móvil.
El
problema
mayor
radica
en
que
los
puntos
de
acceso
pueden
cambiar
de
posición
y
no
se
podría
saber
con
certeza
cuál
es
su
posición,
y
esta
información
es
imprescindible
para
el
cálculo
de
la
posición
del
dispositivo.
Esto
se
soluciona
por
medio
de
un
entrenamiento,
en
el
cual
se
tratará
de
estimar
cuáles
son
los
puntos
de
acceso
disponibles
y
donde
están
situados
y
con
esta
información
se
crea
una
base
de
datos
que
podrá
ser
consultada
por
los
dispositivos
móviles.
Las
características
más
importantes
de
este
sistema
de
localización
son:
• La
cobertura
depende
de
los
puntos
de
acceso
WiFi
ubicados
y
del
proceso
de
entrenamiento
realizado.
En
zonas
rurales
la
cobertura
sería
muy
baja
o
nula
debido
a
la
escasez
de
puntos
de
acceso.
• Se
podría
tener
cobertura
en
interiores
(dentro
de
edificios)
si
dentro
de
ellos
se
cuenta
con
varios
puntos
de
acceso.
• El
consumo
de
batería
es
menor
que
con
GPS.
• Disponible
para
todo
dispositivo
que
tenga
WiFi.
API
DE
LOCALIZACION
Para
trabajar
con
localización
en
Android
se
usa
al
API
de
Google
“Google
Play
services
location
APIs”,
la
cual
facilita
agregar
información
de
la
ubicación
a
las
aplicaciones,
además
permite
hacer
seguimiento
de
ubicación
automatizado,
geofencing
y
el
reconocimiento
del
inicio
de
actividades.
¿En
qué
consiste
el
geofencing?
Para
desarrollar
una
aplicación
utilizando
las
API
de
Google
Play,
se
debe
configurar
el
proyecto
con
el
SDK
de
servicios
de
Google
Play.
Para
hacer
esto
se
deben
actualizar
las
herramientas
del
IDE
y
del
SDK.
La
actualización
de
las
herramientas
se
hace
desde
el
manejador
del
SDK
(SDK
Manager).
Para
abrirlo
se
puede
hacer
de
dos
formas:
1. Tools
>
Android
>
SDK
Manager
2. SDK
Manager
en
la
barra
de
herramientas.
Se
abrirá
la
siguiente
interfaz:
Se
debe
verificar
que
Google
Play
Services
esté
instalado,
en
caso
de
que
no
lo
esté
se
debe
instalar.
Para
probar
su
aplicación
cuando
usa
el
SDK
de
servicios
de
Google
Play,
debe
usar:
• Un
dispositivo
Android
compatible
que
ejecuta
Android
4.0
o
superior
e
incluye
Google
Play
Store.
• El
emulador
de
Android
con
un
AVD
que
ejecuta
la
plataforma
API
de
Google
basada
en
Android
4.2.2
o
superior.
Mostremos
algunos
conceptos
importantes
a
través
de
un
ejemplo:
Desarrollaremos
una
aplicación
muy
sencilla
que
a
través
de
unos
cuadros
de
texto
muestra
la
posición
del
dispositivo
y
por
medio
de
un
botón
solicita
actualizaciones
de
dicha
posición.
Realizaremos
el
proceso
paso
a
paso.
1. Creamos
el
proyecto
en
Android
Studio,
teniendo
en
cuenta
las
restricciones
mencionadas,
sobre
la
mínima
versión
de
Android,
usaremos
una
plantilla
de
actividad
vacía
y
le
daremos
el
nombre
LocalApp.
2. Siempre
que
se
quiera
hacer
uso
de
los
Google
Play
Services
se
debe
añadir
a
la
sección
de
dependencias
del
archivo
build.gradle
la
referencia
a
las
librerías
necesarias.
En
el
caso
de
estos
servicios
existen
dos
alternativas,
se
puede
añadir
la
referencia
a
la
librería
completa
de
Google
Play
Services,
que
daría
acceso
a
todos
los
servicios
disponibles,
o
bien
utilizamos
las
librerías
independientes
de
cada
servicio
que
se
vaya
a
utilizar.
En
este
ejemplo
usaremos
la
librería
específica
de
localización.
3. Procederemos
a
crear
el
Layout
que
contendrá
los
dos
campos
de
texto
y
el
botón.
4. En
la
Activity
correspondiente
vamos
a
crear
referencias
a
cada
uno
de
los
recursos
creados
en
el
Layout.
5. Creamos
un
método
que
obtenga
los
datos
de
latitud
y
longitud
y
los
ubique
en
los
campos
de
texto
correspondientes.
Para
esto
tenemos
que
usar
un
objeto
del
tipo
Location.
El
objeto
Location
encapsula
los
datos
principales
de
una
dirección
geográfica
(latitud
y
longitud),
a
estos
datos
se
puede
acceder
mediante
los
métodos
getLatitude()
y
getLongitude().
Recuerda
que
hay
que
añadir
los
include
de
las
librerías,
lo
cual
Android
Studio
hace
automáticamente
con
alt
+
enter.
6. En
este
punto
crearemos
el
objeto
Location
que
deberá
ser
pasado
a
la
función
creada
en
el
punto
anterior.
Para
ello
se
deben
hacer
varias
cosas.
a. Crear
un
objeto
de
tipo
GoogleApiClient,
a
través
del
cual
se
accederá
a
los
servicios
de
Google
Play.
Saldrán
varios
errores,
ya
que
hay
que
implementar
los
Listener
y
los
Callback.
Con
alt+enter
Android
Studio
lo
hará
automáticamente.
.
Para
la
creación
del
objeto
tipo
GoogleApiClient
se
tienen
en
cuenta
los
siguientes
parámetros:
• enableAutoManage():
Permite
que
la
gestión
de
la
conexión
a
los
servicios
se
realice
automáticamente.
Este
método
recibe
dos
parámetros,
la
referencia
a
la
actividad
en
donde
se
realizará
la
conexión/desconexión
a
los
servicios,
en
nuestro
caso
todo
lo
hacemos
en
la
actividad
principal
(this).
El
segundo
parámetro
es
la
referencia
al
listener
(de
tipo
OnConnectionFailedListener)
que
se
llamará
en
caso
de
producirse
algún
error
que
el
sistema
no
pueda
gestionar
automáticamente.
En
nuestro
caso
haremos
que
la
propia
actividad
principal
implemente
la
interfaz
OnConnectionFailedListener,
por
lo
que
también
pasaremos
this
en
este
segundo
parámetro.
Para
implementar
esta
interfaz
tendremos
que
definir
el
método
onConnectionFailed().
Si
miras
el
código
todo
esto
se
hizo
de
manera
automática
cuando
corregimos
los
errores.
• addConnectionCallbacks():
Indica
cual
será
el
listener
que
responderá
cuando
hayan
conexiones
y
desconexiones
a
los
servicios.
Se
debe
indicar
cuál
será
la
actividad
donde
se
implemente,
que
en
nuestro
caso
será
la
misma
actividad
principal
o
sea
this.
Para
ello
se
debe
implementar
la
interfaz
necesaria
y
los
métodos
onConnected()
y
onConnectionSuspended().
Si
miras
el
código
todo
esto
también
se
hizo
de
manera
automática
cuando
corregimos
los
errores.
• addAPI():
Indica
la
API
de
los
servicios
a
los
que
se
va
a
acceder.
• build():
Realiza
la
construcción
del
objeto.
Esto
iniciará
la
conexión
con
los
servicios
solicitados,
se
tendrá
una
llamada
al
evento
onConnectionFailed()
en
caso
de
error,
o
al
evento
onConnected()
en
el
caso
de
funcionar
todo
correctamente.
b. El
siguiente
paso
será
implementar
el
código
de
los
métodos
que
se
crearon.
• Método
onConnected()
:
Este
es
el
método
en
donde
se
crea
el
objeto
Location
y
se
pasa
a
la
función
obtenerLoc.
Para
ello
se
obtiene
la
última
posición
geográfica
conocida
(La
API
nunca
entrega
la
posición
actual
si
no
la
última
conocida,
en
caso
de
que
no
haya
ninguna
devuelve
null),
lo
que
se
hace
llamando
al
método
getLastLocation()
del
proveedor
de
datos
de
localización
LocationServices.FusedLocationApi,
pasándole
como
parámetro
la
referencia
al
cliente
API
que
se
creó
anteriormente.
Para
corregir
los
errores
lo
primero
que
se
debe
hacer
es
añadir
los
permisos
a
la
aplicación,
lo
cual
hará
Android
automáticamente
cuando
le
des
alt+enter
en
el
error.
Esto
añadirá
el
permiso
en
el
archivo
manifest.
El
error
en
apiClient
se
debe
a
que
no
se
ha
declarado
la
variable
como
private.
Al
hacerlo
quedará
de
la
siguiente
manera:
Para
consultar
en
tiempo
de
ejecución
si
se
dan
los
permisos
por
parte
del
usuario
para
acceder
a
lo
localización,
se
deberá
implementar
el
siguiente
código:
El
if
implementado,
lo
que
hace
es
chequear
si
NO
se
tiene
el
permiso
en
la
aplicación
(ACCESS_FINE_LOCATION),
en
este
caso
lo
que
se
hace
es
solicitar
los
permisos
al
usuario,
la
respuesta
se
asocia
al
identificador
101
en
este
caso.
Para
saber
cuál
fue
la
respuesta
del
usuario,
se
debe
implementar
un
método,
que
mostramos
a
continuación:
Lo
primero
que
se
hace
en
este
método
es
verificar
con
respecto
al
identificador
que
se
colocó
en
el
requerimiento
(101)
si
la
respuesta
del
usuario
fue
conceder
el
permiso,
en
tal
caso
se
crea
el
objeto
Location
y
se
llama
a
la
función
obtenerLoc().
En
caso
contrario
se
coloca
un
mensaje
de
error.
• Métodos
onConnectionFailed()
y
onConnectionSuspended().
En
estos
métodos
simplemente
enviaremos
un
mensaje
de
error.
7. Si
ejecutamos
el
proyecto
en
este
punto,
en
el
emulador
podemos
obtener
los
datos
de
la
última
localización
que
se
realizó,
o
si
es
la
primera
vez
que
se
ejecuta
alguna
aplicación
que
requiere
ubicación
se
mostrará
el
mensaje
de
latitud
y
longitud
desconocida,
ya
que
nunca
antes
se
habían
obtenido
estos
datos,
recuerden
que
siempre
se
dá
el
dato
de
la
última
localización
obtenida.
8. Lo
que
debemos
hacer
ahora
es
implementar
la
funcionalidad
del
botón
(ToggleButton)
que
colocamos
en
el
Layout.
Para
ello
creamos
el
Listener
y
desarrollamos
un
método
(estadoBoton)
que
defina
que
hacer
cada
vez
que
se
pulse
el
botón.
La
idea
del
botón
es
habilitar
o
deshabilitar
las
actualizaciones
de
localización.
9. Se
deberán
implementar
las
funciones
habilitar()
y
deshabilitar()
y
todos
los
métodos
asociados.
Función
habilitar():
Miremos
en
detalle
cada
parte:
• Lo
primero
que
se
debe
hacer
es
definir
los
requerimientos
que
tiene
la
aplicación
en
cuanto
a
la
localización.
Para
ello
se
debe
crear
un
objeto
del
tipo
LocationRequest
(la
variable
locRequest
se
debe
definir
como
privada
al
inicio).
Aquí
se
define
cada
cuanto
queremos
recibir
actualizaciones
de
la
posición
(setInterval),
la
velocidad
máxima
en
que
la
aplicación
es
capaz
de
procesar
nuevos
datos
de
ubicación
(setFastestInterval)
y
la
precisión
que
se
requiere
(setPriority).
• Se
creará
un
objeto
LocationSettingsRequest
al
que
se
le
pasará
el
LocationRequest
creado
en
el
paso
anterior.
Este
objeto
se
encargará
de
comparar
la
configuración
del
dispositivo
con
los
requerimientos
definidos
en
el
objeto
LocationRequest.
El
resultado
de
la
comparación
lo
entrega
en
un
objeto
del
tipo
PendingResult
que
se
ha
llamado
result.
Para
este
objeto
hay
que
definir
el
evento
onResult()
para
conocer
el
resultado
de
la
comparación
una
vez
esté
disponible.
Este
evento
recibe
como
parámetro
un
objeto
LocationSettingsResult,
cuyo
método
getStatus()
contiene
el
resultado
de
la
comparación.
• El
resultado
de
la
comparación
puede
contener
3
posibles
valores,
por
lo
que
se
crea
un
switch-‐case
para
implementar
el
código
en
cada
situación.
Los
3
posibles
valores
son:
SUCCESS,
RESOLUTION_REQUIRED
y
SETTINGS_CHANGE_UNAVAILABLE.
Veamos
que
se
hace
en
cada
uno
de
ellos:
• SUCCESS:
Este
valor
significa
que
la
configuración
es
adecuada
por
tanto
se
puede
solicitar
la
actualización
de
la
ubicación,
por
ello
se
llama
a
la
función
iniciarUpdates()
que
implementaremos
más
adelante.
• RESOLUTION_REQUIRED:
Significa
que
el
usuario
debe
cambiar
la
configuración
del
dispositivo,
necesitamos
solicitar
al
usuario
que
cambie
la
configuración
del
sistema.
Esta
solicitud
está
ya
implementada
en
la
api,
por
lo
que
tan
sólo
tendremos
que
llamar
al
método
startResolutionForResult().
Este
método
recibe
una
referencia
a
la
actividad
principal
y
una
constante
arbitraria
(en
este
caso
definimos
102)
que
después
nos
servirá
para
obtener
el
resultado
de
la
operación.
Si
hay
algún
error
se
coloca
el
botón
en
falso,
para
indicar
que
no
se
pueden
hacer
actualizaciones
de
la
ubicación.
• SETTINGS_CHANGE_UNAVAILABLE:
Este
valor
indica
que
el
dispositivo
no
se
puede
ajustar
a
los
requerimientos
y
por
tanto
el
botón
se
coloca
en
falso
para
indicar
que
no
se
pueden
hacer
actualizaciones
de
la
ubicación.
• Por
último
se
debe
implementar
la
función
que
quedó
pendiente
iniciarUpdates().
Función
iniciarUpdates()
En
esta
función,
si
se
tiene
el
permiso
para
acceder
a
la
localización,
a
través
del
objeto
LocationServices
se
hace
el
requerimiento
de
actualizar
la
ubicación.
Se
llama
al
método
requestLocationUpdates(),
pasándole
como
parámetros
el
cliente
API,
el
objeto
LocationRequest
construido
al
inicio
y
una
referencia
al
objeto
que
implementará
la
interfaz
LocationListener,
cuyo
método
onLocationChanged()
recibirá
los
datos
de
ubicación
actualizados.
Para
esto
se
debe
hacer
que
MainActivity
implemente
el
LocationListener:
Esto
implicará
que
se
debe
añadir
el
método
para
recibir
los
datos
de
la
ubicación.
Esto
lo
hace
automáticamente
Android
Studio.
Si
le
damos
alt+enter
en
el
error
se
generarán
las
siguientes
pantallas
para
crear
el
método.
Función
onLocationChanged()
Aquí
lo
único
que
debemos
hacer
es
llamar
a
la
función
obtenerLoc()
para
mostrar
la
nueva
ubicación
en
la
interfaz.
Función
deshabilitar():
Por
último,
la
función
deshabilitar()
se
encargará
de
detener
la
actualización
de
ubicaciones,
para
ello
se
llama
al
método
removeLocationUpdates()
de
la
API
de
localización.
10. Finalmente
ejecutamos
el
proyecto
y
verificamos
que
actualice
periódicamente
la
ubicación.
Como
esto
lo
estamos
haciendo
en
el
emulador,
utilizamos
los
controles
extendidos
del
mismo
para
enviar
datos
de
localización
simulados.
MAPAS
EN
ANDROID
Vamos
a
crear
un
proyecto
que
nos
permita
mostrar
un
mapa
en
una
aplicación
móvil
y
añadirle
un
marcador.
Inicialmente
añadiremos
un
marcador
fijo
y
después
le
añadiremos
un
marcador
cuyos
datos
traeremos
desde
otra
actividad.
Para
el
desarrollo
de
este
proyecto
usaremos
la
api
Google
Maps
para
Android,
para
ello
debemos
tener
instalado
el
paquete
de
Google
Play
Services,
lo
cual
ya
hicimos
para
el
ejemplo
anterior.
Veamos
el
paso
a
paso.
1. Creamos
un
proyecto
en
Android
Studio
y
utilizaremos
una
activity
de
mapas
que
el
ya
trae
configurada.
2. Debemos
crear
una
API
Key
para
poder
usar
los
servicios
de
google
maps.
Para
hacer
esto
seguimos
las
instrucciones
que
están
en
el
archivo
google_maps_api.xml,
que
se
abre
apenas
se
crea
el
proyecto.
Hay
que
ir
al
link
que
aparece
en
el
archivo
y
seguir
los
pasos
que
ahí
se
indican:
La
clave
generada
se
copia
en
el
mismo
archivo
según
las
indicaciones:
3. Miremos
el
código
generado
en
el
Layout.
Vemos
que
en
Layout
se
ha
creado
un
fragment.
¿Qué
es
un
fragment
y
cuáles
son
sus
principales
características?
4. Ahora
analicemos
el
código
de
la
actividad.
AIzaSyCEa861
Fwls0mg3-6hoey9X6vWbvczHwp0
En
el
método
onCreate()
se
asocia
a
la
actividad
el
layout
activity_maps,
luego
se
crea
un
controlador
para
el
fragmento
que
se
definió
en
el
layout
con
el
identificador
map
con
la
llamada
a
FragmentManager.findFragmentById(R.id.map).
La
función
getMapAsync()
se
usa
para
registrar
el
callback
del
mapa.
Cuando
el
objeto
GoogleMap
esté
disponible
se
pasa
a
la
función
onMapReady()
la
cual
se
encarga
de
ubicar
el
objeto
del
tipo
LatLng
como
un
marcador
en
el
mapa.
El
objeto
LatLng
tiene
como
parámetros
la
latitud
y
la
longitud,
en
este
caso
de
Sidney.
El
objeto
GoogleMap
tiene
varios
métodos.
El
método
addMarker
permite
poner
el
marcador
y
el
método
moveCamera
permite
mover
la
cámara
teniendo
como
punto
de
referencia
una
latitud
y
longitud
definida.
5. Cambiemos
el
marcador
del
mapa
y
ubiquémoslo
en
la
Universidad
Autónoma
de
Occidente.
6. Ejecutemos
el
proyecto
y
miremos
el
resultado.
Podemos
cambiar
el
zoom
y
acercar
más
la
imagen.
LOCALIZACION
Y
MAPAS
En
el
siguiente
video
veremos
todo
el
proceso
de
desarrollo
de
una
aplicación
que
combina
los
dos
ejemplos
vistos
anteriormente.
Se
trata
de
una
aplicación
sencilla
que
adquiere
la
última
ubicación
del
dispositivo
y
muestra
dicha
ubicación
en
un
mapa,
en
el
mapa
también
se
ubicara
un
marcador
de
un
sitio
predeterminado.
loc-‐map.mov