Upload
iphonedevbr
View
1.041
Download
0
Embed Size (px)
DESCRIPTION
2º iPhoneDevBrPalestranteRicardo AugustoTemaMapkit
Citation preview
MapKit
Mapas e GeoLocalização
• 22 anos
Analista Programador
• Foco em web e engenharia de software
• Apaixonado por geolocalização
http://twitter.com/rabc
• Sem Blog :(
– II
Ricardo Augusto
• 6200 a.C.: Os mapas mais antigos encontrados na Turquia, pintados numa parede.
• 2000 a.C.: Invenção da Bússola pelos chineses.
A humanidade sempre procurou por formas de localizar: Pontos de referęncia, localização de estrelas e planetas, nomes de países, estados, cidades, bairros, ruas...
Fato: a Humanidade nunca viveu sem mapas
Ir para locais que não sabe chegar
Segurança em andar por locais desconhecidos
Traçar melhores rotas e caminhos alternativos
Estimar tempo de viagem, prever horário de chegada
Acompanhamento de localização ou percurso de pessoas ou meios de transporte em tempo real ou não
Necessidades da Vida Moderna
“Dessa forma hoje eu posso saber onde o usuário da minha aplicação está quando ele a utiliza [...]Com esses dados nas mãos empresas hoje podem anunciar seus produtos para uma localização geográfica específica, atingindo o público que realmente importa e não mais atirando para diversos lados [...]”(Pablo Oruê - Mobile You)
(Pablo Oruê - Mobile You)
GPS?
ou GPRS?ou GPRS?ou GPRS?ou GPRS?ou GPRS?
GPS: Localização direta dos satélites
GPRS: Localização através de triangulação de antenas de celular
AGPS: Sistema GPS convencional com obtenção de localização dos satélites através de consulta em servidor.
Os dois: Assisted GPS
Fonte: Art of the iPhone
Framework da Apple
Disponível a partir do SDK 3.0
Utiliza Google Maps
Classe principal: MKMapView
Estimar tempo de viagem, prever horário de chegada
O que é o MapKit?
É uma das bibliotecas do grupo TouchCode
Open Source
Disponível no Google Code: http://code.google.com/p/touchcode/wiki/TouchXML
E o TouchXML?
• Comece adicionando os frameworks MapKit e CoreLocation ao seu projeto
• Depois, diga que sua classe implementa o MKMapViewDelegate
• Crie um Map View no Interface Builder e conecte-o a um objeto do tipo MKMapView
Por onde começar?
Crie um objeto do tipo MKCoordinateRegion
Defina a latitude e longitude
Diga qual será o span (nível de zoom)
Coloque-o no mapa e diga se vai ser animado ou não
Definindo uma posição
Descobrindo a localização
Informações
• São as chamadas Annotations
• É necessário criar uma classe que implemente o MKAnnotation
• Essa classe pode ter título, subtítulo e coordenada
Personalizando as informações
Dę um nome a ele
Defina o botão lateral
Texto para o ponto de
localização
Geocoding
Transforma endereços em coordenadas
MapKit suporta apenas Reverse Geocoding: coordenadas em endereços
Precisa de acesso a rede (WiFi/3G/EDGE)
O que mais?
• OpenStreetMap (OSM) - Mapa editado pelas pessoas ao redor do mundo
• Route-Me - Projeto Open Source que utiliza outras engines de mapa
• CloudeMade - Serviços utilizando o OSM
Fontes
SlideShare
ObejctGraph Blog
Fórum iPhone Dev SDK
Documentação Xcode
Livro: Beginning iPhone 3 Development - Dave Mark & Jeff LaMarche