Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
1
Sandro / Sang / Pedro Unicamp – Ci&T
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
2
Introdução
• API Google Maps: não é “nativa”
• Maps API: Internet!
• Necessária chave de acesso à API • http://code.google.com/intl/pt-BR/android/add-ons/google-apis/mapkey.html
• http://code.google.com/intl/pt-BR/android/maps-api-signup.html
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
3
Introdução
• Mapa da configuração (desenvolvimento) – Criar um certificado de depuração (<nome>.keystore)
– Obter o fingerprint deste certificado (keytool)
– Gerar uma chave de acesso à Maps API utilizando este fingerprint
– Configurar sua IDE para assinar seus APK utilizando essa keystore
– Atribuir a chave gerada aos componentes de mapa de seus projetos Recomendado em projetos:
- Utilização de chave compartilhada de depuração - Utilização de chave específica para produção
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
4
Gerando um certificado
• Ferramenta: keytool (JDK) – http://developer.android.com/guide/publishing/app-signing.html
– keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
• Modo de desenvolvimento (debug) – Nome do arquivo: livre escolha
– Senha do arquivo de certificado: "android”
– Key password: "android”
– Alias para o arquivo: livre escolha
– Região da máquina geradora: United States (Brasil não funciona)
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
5
Obtenção do fingerprint
• Ferramenta: keytool (JDK)
keytool -list -alias alias_name -keystore my-release-key.keystore
Exemplo de Fingerprint:
94:1E:43:49:87:73:BB:E6:A6:88:D7:20:F1:8E:B5:98
Esta é a chave que deve ser usada para obtenção de uma chave de acesso à API de mapas do Google.
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
6
Projetos com Maps API
Apenas reforçando, Maps API não é nativa da plataforma
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
7
Map View
• Widget: MapView
0LloyheZs6Qmc56pd7QvJHVJ1mhExKhDk6Bn-yg
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
8
Map Controller • Todo widget de mapa tem seu controlador • Alguns controles disponíveis para mapas ...
– Aumento / diminuição do zoom
– Nível inicial de zoom no mapa
– Centralização em algum ponto / região
– Animação até algum ponto do mapa, dentre outros
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
9
Pontos - GeoPoint
• Pontos em um mapa - microdegrees – Latitude – (latitude real * 1E6) – Longitude – (longitude real * 1E6)
– Representação de pontos: com.google.android.maps.GeoPoint
Documentação da classe GeoPoint
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
10
Pontos em um Mapa
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
11
Modos de exibição de mapas
• Street view – Modo de exibição em blocos padrão
• Satélite – Mapas reais, fotos de satélite
• Traffic – Exibição de tráfego, incompatível com
o modo de exibição street view
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
12
Overlays • Utilizados para destacar pontos em um mapa
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
13
GPS
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
14
Serviço de GPS
• Ativando o serviço ...
...
• Ativando a “escuta” ...
Permissões de acesso: COARSE (grosseiro) vs. FINE (precisa)
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
15
A escuta de eventos de localização
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
16
ItemizedOverlay e OverlayItem • Facilita o trabalho de posicionar vários pontos em um mapa
• Facilita o controle do clique sobre um item
• Uma instância de ItemizedOverlay = N instâncias de OverlayItem
Overlay
ItemizedOverlay
MyOverlay
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
17
Usando o emulador
Arquivos no formato KML a partir do Google Maps
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
18
Usando a perspectiva DDMS
• Simulação de coordenadas de GPS via DDMS – Manual: entrada manual de localizações
– GPX: entrada de arquivos no formato GPX
– KML: entrada de arquivos no formato KML
Desenvolvimento de Aplicações Móveis http://www.ic.unicamp.br/~sandro
19
Geolocalização reversa
public Geocoder (Context) Context: contexto em que a aplicação se encontra
Normalmente um serviço, uma atividade ou uma aplicação. Verifique a documentação de Context para mais informações.
public Geocoder (Context, Locale) Context: introduzido acima
Locale: utilizados para definir linguagem, país, e suas respectivas convenções para representação de dados como moedas e datas. Existem constantes para representar todas as localizações suportadas. Verifique a documentação de Locale para mais informações.
Através de uma instância de Geocoder é possível:
Buscar coordenadas a partir de um endereço
Buscar endereços a partir de uma coordenada
Verifique a documentação da classe Geocoder para maiores informações.