Sei sulla pagina 1di 67

Captulo 12: Google Maps

Instrutor
Programador desde 2000
Mestre em informtica pelo
ICOMP/UFAM
Doutorando do mesmo instituto
Pesquisador da rea de banco
de dados e recuperao da
informao
CSD, CSM e CSPO
marcio.palheta@gmail.com
https://github.com/marciopalheta
sites.google.com/site/marciopalheta
2
Agenda
Trabalhando com mapas
Criao de chaves SHA1
Liberao do acesso da Google Maps API
Primeira Activity de mapa
Exibio do mapa
Adicionando marcadores
Definies de ttulos e snippets
Busca por coordenadas baseada em texto

M.Sc. Mrcio Palheta


3/67
Atividade concluda

M.Sc. Mrcio Palheta


4/67
Nova atividade

M.Sc. Mrcio Palheta


5/67
Comeando com mapas
Chegamos reta final do nosso treinamento \o/
Agora, estamos interessados em criar uma nova
funcionalidade que permita que o usurio visualize os
endereos de professores em um mapa.
Em android, o uso de mapas est normalmente associado
ao uso da Google Maps API, criada e mantida pela Google
Para que nossa app possa utilizar essa API, precisamos
definir uma chave para a ferramenta, a partir do comando
keytool
O cdigo de hash gerado pelo algoritmo SHA1 deve ser
registrado no console do Google Maps

M.Sc. Mrcio Palheta


6/67
Exerccio 1: Criao da chave
A estratgia para criao da chave varia de acordo com o
sistema operacional utilizado
Abra o terminal e execute os comandos abaixo
LINUX e MAC:
keytool -list -v -keystore ~/.android/debug.keystore
-alias androiddebugkey -storepass android -keypass
android
Windows 7:
C:\Users\usuario\.android\debug.keystore -alias
androiddebugkey -storepass android -keypass android

M.Sc. Mrcio Palheta


7/67
Resultado do processamento

M.Sc. Mrcio Palheta


8/67
Exerccio 2: Registro da chave
Acesse: https://console.developers.google.com/project

M.Sc. Mrcio Palheta


9/67
Exerccio 2: Registro da chave
Acesse: https://console.developers.google.com/project

Novo projeto

M.Sc. Mrcio Palheta


10/67
Exerccio 2: Registro da chave
Acesse: https://console.developers.google.com/project

Informe o nome
do projeto

M.Sc. Mrcio Palheta


11/67
Exerccio 2: Registro da chave

M.Sc. Mrcio Palheta


12/67
Exerccio 2: Registro da chave

Vamos habilitar
a API

M.Sc. Mrcio Palheta


13/67
Exerccio 2: Registro da chave

M.Sc. Mrcio Palheta


14/67
Exerccio 2: Registro da chave

Habilite a Google
Maps Android API

M.Sc. Mrcio Palheta


15/67
Exerccio 2: Registro da chave

M.Sc. Mrcio Palheta


16/67
Exerccio 2: Registro da chave

Habilite a Google
Maps Android API

M.Sc. Mrcio Palheta


17/67
Exerccio 2: Registro da chave

M.Sc. Mrcio Palheta


18/67
Exerccio 2: Registro da chave

Cadastro da nossa
chave pblica

M.Sc. Mrcio Palheta


19/67
Exerccio 2: Registro da chave

M.Sc. Mrcio Palheta


20/67
Exerccio 2: Registro da chave

Criao da nova
chave pblica

M.Sc. Mrcio Palheta


21/67
Exerccio 2: Registro da chave

M.Sc. Mrcio Palheta


22/67
Exerccio 2: Registro da chave

Registro da nossa
Chave pblica

M.Sc. Mrcio Palheta


23/67
Exerccio 2: Registro da chave

M.Sc. Mrcio Palheta


24/67
Exerccio 2: Registro da chave

Concatene a chave SHA1 gerada (keytool)


e o pacote principal da app, separados por
Ponto e Vrgula (;)

M.Sc. Mrcio Palheta


25/67
Resultado do processamento

M.Sc. Mrcio Palheta


26/67
Resultado do processamento

Chave da API.
Usaremos na App

M.Sc. Mrcio Palheta


27/67
Exerccio 3: Activity para o mapa

M.Sc. Mrcio Palheta


28/67
Exerccio 3: Activity para o mapa
Nova Activity

M.Sc. Mrcio Palheta


29/67
Exerccio 3: Activity para o mapa
Nova Activity

Google Maps Activity

M.Sc. Mrcio Palheta


30/67
Exerccio 3: Activity para o mapa
Vamos criar uma Activity e um novo layout para o Mapa
gerado, automaticamente o arquivo de configuraes:
res/values/google_maps_api.xml

M.Sc. Mrcio Palheta


31/67
Arquivos gerados: Google Maps API

M.Sc. Mrcio Palheta


32/67
Arquivos gerados: Google Maps API

Ponto onde vamos


Informar a chave
gerada pelo Google

M.Sc. Mrcio Palheta


33/67
Arquivos gerados: Activity

M.Sc. Mrcio Palheta


34/67
Arquivos gerados: Activity
Cdigo gerado
automaticamente

M.Sc. Mrcio Palheta


35/67
Arquivos gerados: Layout
O layout gerado apresenta apenas um componente
Fragment, com id = @+id/map

M.Sc. Mrcio Palheta


36/67
AndroidManifest atualizado

M.Sc. Mrcio Palheta


37/67
AndroidManifest editado

M.Sc. Mrcio Palheta


38/67
Exerccio 4: Configurao de acesso
Vamos atualizar o arquivo de configuraes
Informe o cdigo da chave que voc gerou no console da
Google Maps API

M.Sc. Mrcio Palheta


39/67
Exerccio 4: Configurao de acesso
Vamos atualizar o arquivo de configuraes
Informe o cdigo da chave que voc gerou no site da
Google Maps API

Chave gerada pelo


site da API

M.Sc. Mrcio Palheta


40/67
Exerccio 5: Carregar Mapa na tela

M.Sc. Mrcio Palheta


41/67
Exerccio 5: Carregar Mapa na tela

Atualize o mtodo
De ProfessorLista

M.Sc. Mrcio Palheta


42/67
Exerccio 5: Carregar Mapa na tela

Atualize o mtodo
De ProfessorLista

Exibe o mapa

M.Sc. Mrcio Palheta


43/67
Rede a aplicao

M.Sc. Mrcio Palheta


44/67
Rede a aplicao Click para exibir o
Mapa

M.Sc. Mrcio Palheta


45/67
Rede a aplicao Mapa exibido

M.Sc. Mrcio Palheta


46/67
Exerccio 6: Coordenadas e cmera
Atualize o mtodo setUpMap() da classe MapsActivity
Adicione uma marcao apontando para a Buritech

M.Sc. Mrcio Palheta


47/67
Exerccio 6: Coordenadas e cmera
Atualize o mtodo setUpMap() da classe MapsActivity
Adicione uma marcao apontando para a Buritech
Definio de
coordenadas

M.Sc. Mrcio Palheta


48/67
Exerccio 6: Coordenadas e cmera
Atualize o mtodo setUpMap() da classe MapsActivity
Adicione uma marcao apontando para a Buritech

Adio de
marcao

M.Sc. Mrcio Palheta


49/67
Exerccio 6: Coordenadas e cmera
Atualize o mtodo setUpMap() da classe MapsActivity
Adicione uma marcao apontando para a Buritech

Atualizao de
Zoom da cmera

M.Sc. Mrcio Palheta


50/67
Execute a App novamente

M.Sc. Mrcio Palheta


51/67
Execute a App novamente

Selecione o
marcador

M.Sc. Mrcio Palheta


52/67
Execute a App novamente

M.Sc. Mrcio Palheta


53/67
Adicionando professores ao mapa
Agora que o mapa est funcionando, gostaramos de
exibir os endereos de professores
Contudo, normalmente no temos as informaes de
latitude e longitude
A Google Maps API nos oferece uma opo para buscar
um ponto geogrfico, a partir de um endereo.
A classe GeoCoder especialista neste tipo de atividade
Em nosso projeto, vamos criar uma classe para isolar o
cdigo de localizao de endereos

M.Sc. Mrcio Palheta


54/67
Exerccio 7: Nova classe Localizador

M.Sc. Mrcio Palheta


55/67
Novo pacote
Exerccio 7: Nova classe Localizador

M.Sc. Mrcio Palheta


56/67
Exerccio 7:
Nova classe
Nova classe Localizador

M.Sc. Mrcio Palheta


57/67
Exerccio 7: Nova classe Localizador

Busca coordenadas

M.Sc. Mrcio Palheta


58/67
Exerccio 8: Atualize a MapsActivity
Sobrescreva o mtodo onResumeFragments()

M.Sc. Mrcio Palheta


59/67
Exerccio 8: Atualize a MapsActivity
Sobrescreva o mtodo onResumeFragments()

Novo mtodo

M.Sc. Mrcio Palheta


60/67
Exerccio 8: Atualize a MapsActivity
Sobrescreva o mtodo onResumeFragments()

Adio de marcadores

M.Sc. Mrcio Palheta


61/67
Execute a aplicao novamente

M.Sc. Mrcio Palheta


62/67
Atividade concluda

M.Sc. Mrcio Palheta


63/67
Fim de curso :-)

M.Sc. Mrcio Palheta


64/67
O que vem a seguir?
BuriCurso de Android Avanado
Criao de um webservice com JEE
Controle de dependncias JEE com Maven
Servio web com Tomcat, Jersey e Gson
De volta ao mobile: dependncias com Gradle
Persistncia com ORMLite
Cancelamento de AsyncTask
Diminuindo acoplamento com Delegate
Baixa assncrona de imagens da WEB

M.Sc. Mrcio Palheta


65/67
Referncias

d.android.com
LECHETA, Ricardo. Google Android, 3a edio,
Novatec, So Paulo, 2013
LECHETA, Ricardo. Google Android para
tablets, 3a edio, Novatec, So Paulo, 2012
BURTON, Michael. Desenvolvimento de
aplicativos Android para leigos. Alta books, Rio
de Janeiro, 2014

M.Sc. Mrcio Palheta


66/67
Captulo 12: Google Maps

Potrebbero piacerti anche