17
MapKit Mapas e GeoLocalização

Mapkit by Ricardo Augusto - 2º iPhoneDevBr

Embed Size (px)

DESCRIPTION

2º iPhoneDevBrPalestranteRicardo AugustoTemaMapkit

Citation preview

Page 1: Mapkit by Ricardo Augusto - 2º iPhoneDevBr

MapKit

Mapas e GeoLocalização

Page 2: Mapkit by Ricardo Augusto - 2º iPhoneDevBr

• 22 anos

Analista Programador

• Foco em web e engenharia de software

• Apaixonado por geolocalização

http://twitter.com/rabc

[email protected]

• Sem Blog :(

– II

Ricardo Augusto

Page 3: Mapkit by Ricardo Augusto - 2º iPhoneDevBr

• 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

Page 4: Mapkit by Ricardo Augusto - 2º iPhoneDevBr

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

Page 5: Mapkit by Ricardo Augusto - 2º iPhoneDevBr

“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)

Page 6: Mapkit by Ricardo Augusto - 2º iPhoneDevBr

GPS?

ou GPRS?ou GPRS?ou GPRS?ou GPRS?ou GPRS?

Page 7: Mapkit by Ricardo Augusto - 2º iPhoneDevBr

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

Page 8: Mapkit by Ricardo Augusto - 2º iPhoneDevBr

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?

Page 9: Mapkit by Ricardo Augusto - 2º iPhoneDevBr

É uma das bibliotecas do grupo TouchCode

Open Source

Disponível no Google Code: http://code.google.com/p/touchcode/wiki/TouchXML

E o TouchXML?

Page 10: Mapkit by Ricardo Augusto - 2º iPhoneDevBr

• 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?

Page 11: Mapkit by Ricardo Augusto - 2º iPhoneDevBr

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

Page 12: Mapkit by Ricardo Augusto - 2º iPhoneDevBr

Descobrindo a localização

Page 13: Mapkit by Ricardo Augusto - 2º iPhoneDevBr

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

Page 14: Mapkit by Ricardo Augusto - 2º iPhoneDevBr

Personalizando as informações

Dę um nome a ele

Defina o botão lateral

Texto para o ponto de

localização

Page 15: Mapkit by Ricardo Augusto - 2º iPhoneDevBr

Geocoding

Transforma endereços em coordenadas

MapKit suporta apenas Reverse Geocoding: coordenadas em endereços

Precisa de acesso a rede (WiFi/3G/EDGE)

Page 16: Mapkit by Ricardo Augusto - 2º iPhoneDevBr

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

Page 17: Mapkit by Ricardo Augusto - 2º iPhoneDevBr

Fontes

SlideShare

ObejctGraph Blog

Fórum iPhone Dev SDK

Documentação Xcode

Livro: Beginning iPhone 3 Development - Dave Mark & Jeff LaMarche