Apple MapKit vs. 
Google Maps SDK 
Ortwin Gentz 
@ortwingentz αortwin
Warum Google?

MapKit Google Maps SDK 
Vektorbasiert ✔ ✔ 
Normal, Satellit, Hybrid ✔ ✔ 
Gelände ✔ 
Eigene Tiles, ersetzend ✔, ✔ ✔, ✔ 
Ind...
Steuerung 
Kartenausschnitt
MapKit Google Maps SDK 
Drehen ✔ ✔ 
Neigen ✔ ✔ 
Zoombegrenzung ✔ 
Kamera-Animationen ✔ ✔ 
↳ mit Timing-Kontrolle UIView-ba...
Hands on
MapKit Google Maps SDK 
Drehen ✔ ✔ 
Neigen ✔ ✔ 
Zoombegrenzung ✔ 
Kamera-Animationen ✔ ✔ 
➜ 
➜ privat ✔ 
↳ mit Timing-Kont...
Gesten
MapKit Google Maps SDK 
Unterscheidung manuelle und 
programmatische Updates 
bedingt lösbar 
➜ Macoun 2010 ✔ 
Laufende Re...
Hands on
MapKit Google Maps SDK 
Unterscheidung manuelle und 
programmatische Updates 
bedingt lösbar 
➜ Macoun 2010 
✔ 
Laufende R...
Hands on
MapKit Google Maps SDK 
Unterscheidung manuelle und 
programmatische Updates 
bedingt lösbar 
➜ Macoun 2010 
✔ 
Laufende R...
Annotations / Marker
title 
subtitle 
color 
image 
animation 
draggable 
UIView 
calloutAccessoryViews 
Custom drawn 
kein Highlighting
Annotations 
erstellen
MapKit Google Maps SDK 
id<MKAnnotation> erstellen id<GMSMarker> erstellen 
[mapView addAnnotation:] marker.map = mapView;...
Annotation-Taps
MapKit Google Maps SDK 
-(void)mapView: 
didSelectAnnotationView: 
-(BOOL)mapView: 
didTapMarker: 
-(void)mapView: 
annota...
Draggable Annotations
Demo
MapKit Google Maps SDK 
annotationView.draggable = YES; marker.draggable = YES; 
-mapView:annotationView: 
didChangeDragSt...
Overlays
MapKit Google Maps SDK 
Polylines und Polygone ✔ ✔ 
Geodätische Linie ✔ ✔ 
Kreise ✔ ✔ 
Core Graphics Operationen ✔ 
Bilder...
MapKit Google Maps SDK 
MKOverlay 
MKOverlayRenderer 
GMSOverlay 
Geometrie 
Darstellung 
Geometrie 
Darstellung
MapKit Google Maps SDK 
+[MKPolygon 
polygonWithCoordinates:count:] 
[[GMSPolygon alloc] init] 
polygon.path 
polygon.fill...
Tile Overlays
Hands on

Generelle Erwägungen
Generelle Erwägungen 
• Programmierung gegen bekannte Framework-Version 
• Bug-Tracker offen, Google ist responsive 
• Hoh...
Fragen? Ortwin Gentz 
@ortwingentz · αortwin 
Wohin? Streets
MapKit vs. Google Maps SDK @ Macoun 2014
Nächste SlideShare
Wird geladen in …5
×

MapKit vs. Google Maps SDK @ Macoun 2014

565 Aufrufe

Veröffentlicht am

Mit dem Ende 2012 erschienenen Google Maps SDK liegt eine interessante und ernstzunehmende Alternative zu Apples Standardlösung MapKit vor. Die API geht allerdings in vielen Fällen andere Wege. Wir gehen auf Vorzüge und Nachteile beider Lösungen ein und zeigen Lösungsmöglichkeiten für die jeweiligen Defizite.

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

MapKit vs. Google Maps SDK @ Macoun 2014

  1. 1. Apple MapKit vs. Google Maps SDK Ortwin Gentz @ortwingentz αortwin
  2. 2. Warum Google?
  3. 3.
  4. 4. MapKit Google Maps SDK Vektorbasiert ✔ ✔ Normal, Satellit, Hybrid ✔ ✔ Gelände ✔ Eigene Tiles, ersetzend ✔, ✔ ✔, ✔ Indoor, Stockwerke ✔ Gebäude ✔ ✔ POIs ✔ Verkehr ✔ Street View ✔
  5. 5. Steuerung Kartenausschnitt
  6. 6. MapKit Google Maps SDK Drehen ✔ ✔ Neigen ✔ ✔ Zoombegrenzung ✔ Kamera-Animationen ✔ ✔ ↳ mit Timing-Kontrolle UIView-basiert CALayer-basiert ➜ Edge Insets
  7. 7. Hands on
  8. 8. MapKit Google Maps SDK Drehen ✔ ✔ Neigen ✔ ✔ Zoombegrenzung ✔ Kamera-Animationen ✔ ✔ ➜ ➜ privat ✔ ↳ mit Timing-Kontrolle UIView-basiert CALayer-basiert Edge Insets
  9. 9. Gesten
  10. 10. MapKit Google Maps SDK Unterscheidung manuelle und programmatische Updates bedingt lösbar ➜ Macoun 2010 ✔ Laufende Region-Updates ✔ ➜ Non-Annotation Tap-Erkennung
  11. 11. Hands on
  12. 12. MapKit Google Maps SDK Unterscheidung manuelle und programmatische Updates bedingt lösbar ➜ Macoun 2010 ✔ Laufende Region-Updates ✔ Non-Annotation Tap-Erkennung Long-Tap Erkennung lösbar ✔ Standort-Tracking ✔ ➜ ➜ lösbar ✔
  13. 13. Hands on
  14. 14. MapKit Google Maps SDK Unterscheidung manuelle und programmatische Updates bedingt lösbar ➜ Macoun 2010 ✔ Laufende Region-Updates ✔ Non-Annotation Tap-Erkennung Long-Tap Erkennung lösbar ✔ Standort-Tracking ✔ ➜ ➜ lösbar ✔ lösbar
  15. 15. Annotations / Marker
  16. 16. title subtitle color image animation draggable UIView calloutAccessoryViews Custom drawn kein Highlighting
  17. 17. Annotations erstellen
  18. 18. MapKit Google Maps SDK id<MKAnnotation> erstellen id<GMSMarker> erstellen [mapView addAnnotation:] marker.map = mapView; -[MKMapView:viewForAnnotation:] implementieren -(UIView*)mapView: markerInfoWindow: [mapView removeAnnotation:] marker.map = nil;
  19. 19. Annotation-Taps
  20. 20. MapKit Google Maps SDK -(void)mapView: didSelectAnnotationView: -(BOOL)mapView: didTapMarker: -(void)mapView: annotationView: calloutAccessoryControlTapped: -(void)mapView: didTapInfoWindowOfMarker -(void)mapView: didDeSelectAnnotationView: -(void)mapView: didTapAtCoordinate: -[MKAnnotationView setSelected:animated:]
  21. 21. Draggable Annotations
  22. 22. Demo
  23. 23. MapKit Google Maps SDK annotationView.draggable = YES; marker.draggable = YES; -mapView:annotationView: didChangeDragState:fromOldState: -mapView:didBeginDraggingMarker: -[MKAnnotationView setDragState:animated:] -mapView:didDragMarker: -mapView:didEndDraggingMarker:
  24. 24. Overlays
  25. 25. MapKit Google Maps SDK Polylines und Polygone ✔ ✔ Geodätische Linie ✔ ✔ Kreise ✔ ✔ Core Graphics Operationen ✔ Bilder ✔ ✔ Tiles ✔ ✔ ↳ oberhalb Label-Ebene ✔ Selektion ✔
  26. 26. MapKit Google Maps SDK MKOverlay MKOverlayRenderer GMSOverlay Geometrie Darstellung Geometrie Darstellung
  27. 27. MapKit Google Maps SDK +[MKPolygon polygonWithCoordinates:count:] [[GMSPolygon alloc] init] polygon.path polygon.fillColor/strokeColor -[MKMapView addOverlay:] polygon.map = mapView; -mapView:rendererForOverlay: MKPolygonRenderer. fillColor/strokeColor polygon.tappable = YES; -(void)mapView: didTapAtCoordinate:
  28. 28. Tile Overlays
  29. 29. Hands on
  30. 30.
  31. 31. Generelle Erwägungen
  32. 32. Generelle Erwägungen • Programmierung gegen bekannte Framework-Version • Bug-Tracker offen, Google ist responsive • Hohes Innovationstempo • Terms of Use anschauen
  33. 33. Fragen? Ortwin Gentz @ortwingentz · αortwin Wohin? Streets

×