Download - Macoun 2013: MapKit Clustering Techniken

Transcript
Page 1: Macoun 2013: MapKit Clustering Techniken

Macoun⌘

Page 2: Macoun 2013: MapKit Clustering Techniken

MapKit Clustering Techniken@claushoefele

Page 3: Macoun 2013: MapKit Clustering Techniken

Stolpersteine

Page 4: Macoun 2013: MapKit Clustering Techniken

Ablauf

• Einführung MapKit

• Clustering

• iOS 7, Animationen

• Fragen

Page 5: Macoun 2013: MapKit Clustering Techniken

Einführung MapKit

Page 6: Macoun 2013: MapKit Clustering Techniken

MapKit

Draggable map annotations

Map overlaysHeading/tracking

Applevector tiles

Routing apps

Launch Maps APILocal search

3D

Directions API

Snapshots

Custom tiles

iOS 3 iOS 4 iOS 5 iOS 6 iOS 7

Page 7: Macoun 2013: MapKit Clustering Techniken

MKMapView

UIView

MKMapView

MKMapViewDelegate

Page 8: Macoun 2013: MapKit Clustering Techniken

Daten und Visualisierung

id <MKAnnotation>

UIView

MKAnnotationView

Page 9: Macoun 2013: MapKit Clustering Techniken

Annotations anzeigen

MKMapViewDelegate- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id < MKAnnotation >)annotation

MKMapView- (void)addAnnotation:(id < MKAnnotation >)annotation- (void)addAnnotations:(NSArray *)annotations

Page 10: Macoun 2013: MapKit Clustering Techniken

Standard Annotations/Overlays

Page 11: Macoun 2013: MapKit Clustering Techniken

Merkator-Projektion

Page 12: Macoun 2013: MapKit Clustering Techniken

Koordinatensysteme

CGRect, CGPoint, CGSize

• UIView Koordinaten:

MKCoordinateRegion, CLLocationCoordinate2D, MKCoordinateSpan

MKMapRect, MKMapPoint, MKMapSize

• Geografische Koordinaten:

•Merkator-Projektions Koordinaten:

Page 13: Macoun 2013: MapKit Clustering Techniken

Demo

Page 14: Macoun 2013: MapKit Clustering Techniken

Demo

Page 15: Macoun 2013: MapKit Clustering Techniken

Clustering

Page 16: Macoun 2013: MapKit Clustering Techniken

PlaneFinder

Dummy Screen

Page 17: Macoun 2013: MapKit Clustering Techniken

Wohin?

Dummy Screen

Page 18: Macoun 2013: MapKit Clustering Techniken

CarJump

Dummy Screen

Page 19: Macoun 2013: MapKit Clustering Techniken

Car2Go

Dummy Screen

(OCMapView?)

Page 20: Macoun 2013: MapKit Clustering Techniken

Öffnungszeiten

Dummy Screen

(Superpin)

Page 21: Macoun 2013: MapKit Clustering Techniken

Öffnungszeiten

Dummy Screen

(Superpin)

Page 22: Macoun 2013: MapKit Clustering Techniken

RailTime

Dummy Screen

(ADClusterMapView)

Page 23: Macoun 2013: MapKit Clustering Techniken

Fotos

Dummy Screen

Page 24: Macoun 2013: MapKit Clustering Techniken

Anforderungen

• Client-seitiges Clustering

• Schneller Algorithmus, aber trotzdem einfach zu verstehen

• Kein Popping

• Kein Grideffekt

• Ähnlich Fotos App

Page 25: Macoun 2013: MapKit Clustering Techniken

WWDC 2011/Session 111

Page 26: Macoun 2013: MapKit Clustering Techniken

Clustering Algorithmus I

Zellengröße

Page 27: Macoun 2013: MapKit Clustering Techniken

Clustering Algorithmus II

Page 28: Macoun 2013: MapKit Clustering Techniken

Clustering Algorithmus III

Überhang

Page 29: Macoun 2013: MapKit Clustering Techniken

Demo

Page 30: Macoun 2013: MapKit Clustering Techniken

Demo

Page 31: Macoun 2013: MapKit Clustering Techniken

iOS 7

Page 32: Macoun 2013: MapKit Clustering Techniken

Rotation und 3D

Rotation

Page 33: Macoun 2013: MapKit Clustering Techniken

[MKMapView visibleMapRect]

Page 34: Macoun 2013: MapKit Clustering Techniken

Demo

Page 35: Macoun 2013: MapKit Clustering Techniken

Demo

Page 36: Macoun 2013: MapKit Clustering Techniken

Animationen

Page 37: Macoun 2013: MapKit Clustering Techniken

Fotos

Dummy Screen

Page 38: Macoun 2013: MapKit Clustering Techniken

CarJump

Dummy Screen

Page 39: Macoun 2013: MapKit Clustering Techniken

Demo

Page 40: Macoun 2013: MapKit Clustering Techniken

Demo

Page 41: Macoun 2013: MapKit Clustering Techniken

Ausblick

Page 42: Macoun 2013: MapKit Clustering Techniken

KingPin

Page 43: Macoun 2013: MapKit Clustering Techniken

Google SDK

Page 44: Macoun 2013: MapKit Clustering Techniken

Sonstiges

• Semantischer Zoom

•Offline sync

• Active culling

Page 45: Macoun 2013: MapKit Clustering Techniken

• Merkator-Projektion http://commons.wikimedia.org/wiki/File:Mercator-proj.png von Jecowa (modified) (CC BY-SA)

• Azimutalprojektion http://commons.wikimedia.org/wiki/File:Azimutalprojektion-transversal_kl.jpg von Stefan Kühn (CC BY-SA)

• WWDC 2011 http://www.flickr.com/photos/kalleboo/5797720966/ von Karl Baron (CC BY)

• Google Maps SDK https://developers.google.com/maps/documentation/ios/ von Google (CC BY)

• Alle anderen Bilder und Videos von Claus Höfele (CC BY)

Quellenangaben

Page 46: Macoun 2013: MapKit Clustering Techniken

Fragen?https://github.com/optionu/stolpersteine-ios

Page 47: Macoun 2013: MapKit Clustering Techniken

Macoun⌘