Session 300 - Getting Around Using Map Kit
-
Upload
foufoutos73 -
Category
Documents
-
view
128 -
download
0
description
Transcript of Session 300 - Getting Around Using Map Kit
![Page 1: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/1.jpg)
These are confidential sessions—please refrain from streaming, blogging, or taking pictures
Session 300 and 310
Getting Around with Map Kit
Brady LawSoftware Engineer - Maps Client Team
![Page 2: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/2.jpg)
Agenda
![Page 3: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/3.jpg)
Agenda
• The new look of Map Kit
![Page 4: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/4.jpg)
Agenda
• The new look of Map Kit• Launching Maps with MKMapItem
![Page 5: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/5.jpg)
Agenda
• The new look of Map Kit• Launching Maps with MKMapItem• Developing routing apps
![Page 6: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/6.jpg)
Powered by Apple MapsThe New Look of Map Kit
![Page 7: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/7.jpg)
![Page 8: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/8.jpg)
![Page 9: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/9.jpg)
![Page 10: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/10.jpg)
What does it take to get Apple Maps in my app?
![Page 11: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/11.jpg)
![Page 12: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/12.jpg)
Absolutely nothing.New Maps. Same API.
![Page 13: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/13.jpg)
![Page 14: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/14.jpg)
StandardMap Modes
![Page 15: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/15.jpg)
SatelliteMap Modes
![Page 16: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/16.jpg)
HybridMap Modes
![Page 17: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/17.jpg)
Annotations
![Page 18: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/18.jpg)
Overlays
![Page 19: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/19.jpg)
With a Static MapPinch to Zoom
![Page 20: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/20.jpg)
With a Static MapPinch to Zoom
![Page 21: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/21.jpg)
With a Dynamic MapPinch to Zoom
![Page 22: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/22.jpg)
With a Dynamic MapPinch to Zoom
![Page 23: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/23.jpg)
![Page 24: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/24.jpg)
![Page 25: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/25.jpg)
![Page 26: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/26.jpg)
Setting the Map Region
![Page 27: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/27.jpg)
Setting the Map Region
• In iOS 5, region changes were adjusted to improve map display
![Page 28: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/28.jpg)
Setting the Map Region
• In iOS 5, region changes were adjusted to improve map display-setRegion:
![Page 29: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/29.jpg)
Setting the Map Region
• In iOS 5, region changes were adjusted to improve map display-setRegion:-setVisibleMapRect:
![Page 30: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/30.jpg)
Setting the Map Region
• In iOS 5, region changes were adjusted to improve map display-setRegion:-setVisibleMapRect:
• No longer necessary in iOS 6
![Page 31: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/31.jpg)
Heading Mode
![Page 32: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/32.jpg)
Heading Mode
Static Map (iOS 5)
![Page 33: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/33.jpg)
Heading Mode
Static Map (iOS 5)
![Page 34: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/34.jpg)
Heading Mode
Static Map (iOS 5) Dynamic Map (iOS 6)
![Page 35: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/35.jpg)
Heading Mode
Static Map (iOS 5) Dynamic Map (iOS 6)
![Page 36: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/36.jpg)
The New Look of Map Kit
![Page 37: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/37.jpg)
The New Look of Map Kit
• Map display APIs are the same
![Page 38: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/38.jpg)
The New Look of Map Kit
• Map display APIs are the same• Improved map rendering
![Page 39: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/39.jpg)
The New Look of Map Kit
• Map display APIs are the same• Improved map rendering• Re-link with iOS 6 to change regions with precision
![Page 40: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/40.jpg)
The New Look of Map Kit
• Map display APIs are the same• Improved map rendering• Re-link with iOS 6 to change regions with precision• Test your apps!
![Page 41: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/41.jpg)
A new API in iOS 6Launching Maps with MKMapItem
![Page 42: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/42.jpg)
Why Launch Maps?Getting directions
![Page 43: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/43.jpg)
Why Launch Maps?
Contacts/Bookmarks ExploreDrop a Pin
![Page 44: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/44.jpg)
Introducing MKMapItem
![Page 45: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/45.jpg)
Introducing MKMapItem
• Objective-C API
![Page 46: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/46.jpg)
Introducing MKMapItem
• Objective-C API• Open Maps with one or more pins
![Page 47: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/47.jpg)
Introducing MKMapItem
• Objective-C API• Open Maps with one or more pins• Jump directly into directions
![Page 48: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/48.jpg)
Introducing MKMapItem
• Objective-C API• Open Maps with one or more pins• Jump directly into directions• Customize the map display
![Page 49: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/49.jpg)
Opening an Item in Maps
![Page 50: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/50.jpg)
Opening an Item in Maps
![Page 51: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/51.jpg)
Opening an Item in Maps
MKPlacemark
![Page 52: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/52.jpg)
Opening an Item in Maps
MKPlacemark
Location
![Page 53: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/53.jpg)
Opening an Item in Maps
MKPlacemark
LocationAddress Dictionary
![Page 54: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/54.jpg)
Opening an Item in Maps
MKMapItem
MKPlacemark
![Page 55: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/55.jpg)
-openInMapsWithLaunchOptions:
Opening an Item in Maps
MKMapItem
MKPlacemark
![Page 56: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/56.jpg)
-openInMapsWithLaunchOptions:
Opening an Item in Maps
MKMapItem
MKPlacemark
![Page 57: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/57.jpg)
Opening an Item in Maps
MKMapItem *sfStore = [[MKMapItem alloc] initWithPlacemark:placemark];
![Page 58: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/58.jpg)
Opening an Item in Maps
MKMapItem *sfStore = [[MKMapItem alloc] initWithPlacemark:placemark];
[sfStore openInMapsWithLaunchOptions:nil];
![Page 59: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/59.jpg)
Opening an Item in Maps
![Page 60: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/60.jpg)
Opening an Item in Maps
![Page 61: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/61.jpg)
Adding Item Details
![Page 62: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/62.jpg)
Adding Item Details
![Page 63: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/63.jpg)
Adding Item Details
MKPlacemark
![Page 64: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/64.jpg)
Adding Item Details
MKMapItem
+name+phone+url
MKPlacemark
![Page 65: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/65.jpg)
-openInMapsWithLaunchOptions:
Adding Item Details
MKMapItem
+name+phone+url
MKPlacemark
![Page 66: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/66.jpg)
-openInMapsWithLaunchOptions:
Adding Item Details
MKMapItem
+name+phone+url
MKPlacemark
![Page 67: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/67.jpg)
MKMapItem *sfStore = [[MKMapItem alloc] initWithPlacemark:placemark];
sfStore.name = @"Apple Store - San Francisco";sfStore.phoneNumber = @"+14153920202";sfStore.url = [NSURL URLWithString:@"http://www.apple.com/retail/"];
[sfStore openInMapsWithLaunchOptions:nil];
Adding Item Details
![Page 68: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/68.jpg)
Opening Multiple Map Items
![Page 69: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/69.jpg)
Opening Multiple Map Items
![Page 70: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/70.jpg)
Opening Multiple Items in Maps
![Page 71: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/71.jpg)
Opening Multiple Items in Maps
MKMapItem
MKMapItem
MKMapItem
![Page 72: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/72.jpg)
NSArray
Opening Multiple Items in Maps
MKMapItem
MKMapItem
MKMapItem
![Page 73: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/73.jpg)
+openMapsWithItems:launchOptions:
NSArray
Opening Multiple Items in Maps
MKMapItem
MKMapItem
MKMapItem
![Page 74: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/74.jpg)
+openMapsWithItems:launchOptions:
NSArray
Opening Multiple Items in Maps
MKMapItem
MKMapItem
MKMapItem
![Page 75: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/75.jpg)
NSArray *storeItems = @[ sfStore, chestnutStore, bayStreetStore ];
Opening Multiple Map Items
![Page 76: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/76.jpg)
NSArray *storeItems = @[ sfStore, chestnutStore, bayStreetStore ];
[MKMapItem openMapsWithItems:storeItems launchOptions:nil];
Opening Multiple Map Items
![Page 77: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/77.jpg)
+openMapsWithItems:launchOptions: +openMapsWithItems:launchOptions: +openMapsWithItems:launchOptions:
-openInMapsWithLaunchOptions: -openInMapsWithLaunchOptions: -openInMapsWithLaunchOptions:
Launch Options
![Page 78: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/78.jpg)
+openMapsWithItems:launchOptions: +openMapsWithItems:launchOptions:
-openInMapsWithLaunchOptions: -openInMapsWithLaunchOptions:
Launch Options
![Page 79: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/79.jpg)
+openMapsWithItems:launchOptions: +openMapsWithItems:launchOptions:
-openInMapsWithLaunchOptions: -openInMapsWithLaunchOptions:
Launch Options
Map type
![Page 80: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/80.jpg)
+openMapsWithItems:launchOptions: +openMapsWithItems:launchOptions:
-openInMapsWithLaunchOptions: -openInMapsWithLaunchOptions:
Launch Options
Map type
Coordinate region
![Page 81: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/81.jpg)
+openMapsWithItems:launchOptions: +openMapsWithItems:launchOptions:
-openInMapsWithLaunchOptions: -openInMapsWithLaunchOptions:
Launch Options
Map type
Coordinate region
Traffic
![Page 82: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/82.jpg)
Map typeLaunch Options
NSDictionary *options = @{
};
![Page 83: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/83.jpg)
Map typeLaunch Options
NSDictionary *options = @{ MKLaunchOptionsMapTypeKey :
[NSNumber numberWithInteger:MKMapTypeSatellite],
};
![Page 84: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/84.jpg)
Coordinate regionLaunch Options
NSDictionary *options = @{ MKLaunchOptionsMapTypeKey :
[NSNumber numberWithInteger:MKMapTypeSatellite],
};
![Page 85: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/85.jpg)
Coordinate regionLaunch Options
NSDictionary *options = @{ MKLaunchOptionsMapTypeKey :
[NSNumber numberWithInteger:MKMapTypeSatellite],
MKLaunchOptionsMapCenterKey : [NSValue valueWithMKCoordinate:regionCenter],
MKLaunchOptionsMapSpanKey : [NSValue valueWithMKCoordinateSpan:regionSpan]
};
![Page 86: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/86.jpg)
Coordinate regionLaunch Options
NSDictionary *options = @{ MKLaunchOptionsMapTypeKey :
[NSNumber numberWithInteger:MKMapTypeSatellite],
MKLaunchOptionsMapCenterKey : [NSValue valueWithMKCoordinate:regionCenter],
MKLaunchOptionsMapSpanKey : [NSValue valueWithMKCoordinateSpan:regionSpan]
};
![Page 87: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/87.jpg)
Coordinate regionLaunch Options
NSDictionary *options = @{ MKLaunchOptionsMapTypeKey :
[NSNumber numberWithInteger:MKMapTypeSatellite],
MKLaunchOptionsMapCenterKey : [NSValue valueWithMKCoordinate:regionCenter],
MKLaunchOptionsMapSpanKey : [NSValue valueWithMKCoordinateSpan:regionSpan]
};
![Page 88: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/88.jpg)
TrafficLaunch Options
NSDictionary *options = @{
};
![Page 89: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/89.jpg)
TrafficLaunch Options
NSDictionary *options = @{
MKLaunchOptionsShowsTrafficKey :@YES,
};
![Page 90: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/90.jpg)
Getting Directions
![Page 91: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/91.jpg)
-openInMapsWithLaunchOptions: -openInMapsWithLaunchOptions: -openInMapsWithLaunchOptions:
mosconeItem
Getting Directions
![Page 92: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/92.jpg)
-openInMapsWithLaunchOptions: -openInMapsWithLaunchOptions:
mosconeItem
Getting Directions
DirectionsModeKey
![Page 93: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/93.jpg)
-openInMapsWithLaunchOptions: -openInMapsWithLaunchOptions: -openInMapsWithLaunchOptions:
Current Location
mosconeItem
Getting Directions
DirectionsModeKey
![Page 94: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/94.jpg)
-openInMapsWithLaunchOptions: -openInMapsWithLaunchOptions: -openInMapsWithLaunchOptions:
Current Location
mosconeItem
Getting Directions
DirectionsModeKey
![Page 95: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/95.jpg)
MKMapItem *mosconeItem = ...
NSDictionary *options = @{ MKLaunchOptionsDirectionsModeKey : MKLaunchOptionsDirectionsModeDriving,};
[mosconeItem openInMapsWithLaunchOptions:options];
Getting DirectionsFrom your current location
![Page 96: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/96.jpg)
mosconeItem
airportItem
Directions from a Custom Origin
DirectionsModeKey
![Page 97: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/97.jpg)
NSArray
mosconeItem
airportItem
Directions from a Custom Origin
DirectionsModeKey
![Page 98: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/98.jpg)
+openMapsWithItems:launchOptions:
NSArray
mosconeItem
airportItem
Directions from a Custom Origin
DirectionsModeKey
![Page 99: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/99.jpg)
+openMapsWithItems:launchOptions:
mosconeItem
airportItem
Directions from a Custom Origin
DirectionsModeKey
![Page 100: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/100.jpg)
+openMapsWithItems:launchOptions:
mosconeItem
airportItem
Directions from a Custom Origin
DirectionsModeKey
![Page 101: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/101.jpg)
NSArray *directionsItems = @[airportItem,mosconeWestItem];
Directions from a Custom Origin
![Page 102: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/102.jpg)
NSArray *directionsItems = @[airportItem,mosconeWestItem];
Directions from a Custom Origin
![Page 103: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/103.jpg)
NSArray *directionsItems = @[airportItem,mosconeWestItem];
NSDictionary *options = @{ MKLaunchOptionsDirectionsModeKey :
MKLaunchOptionsDirectionsModeDriving,};
Directions from a Custom Origin
![Page 104: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/104.jpg)
NSArray *directionsItems = @[airportItem,mosconeWestItem];
NSDictionary *options = @{ MKLaunchOptionsDirectionsModeKey :
MKLaunchOptionsDirectionsModeDriving,};
[MKMapItem openMapsWithItems:directionsItems launchOptions:options];
Directions from a Custom Origin
![Page 105: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/105.jpg)
Representing Current Location
![Page 106: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/106.jpg)
Representing Current Location
MKMapItem *item = [MKMapItem mapItemForCurrentLocation];
![Page 107: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/107.jpg)
Representing Current Location
MKMapItem *item = [MKMapItem mapItemForCurrentLocation];
• Current location item will NOT have a placemark
![Page 108: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/108.jpg)
Representing Current Location
MKMapItem *item = [MKMapItem mapItemForCurrentLocation];
• Current location item will NOT have a placemarkmapItem.isCurrentLocation == YES
![Page 109: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/109.jpg)
NSArray *directionsItems = @[mosconeWestItem,[MKMapItem mapItemForCurrentLocation]];
NSDictionary *options = @{ MKLaunchOptionsDirectionsModeKey :
MKLaunchOptionsDirectionsModeDriving,};
[MKMapItem openMapsWithItems:directionsItems launchOptions:options];
Directions from a Custom Origin
![Page 110: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/110.jpg)
Launching Maps with MKMapItem
![Page 111: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/111.jpg)
• Open Maps with minimal code
Launching Maps with MKMapItem
![Page 112: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/112.jpg)
• Open Maps with minimal code• Offer quick access to navigation, bookmarks, and more
Launching Maps with MKMapItem
![Page 113: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/113.jpg)
• Open Maps with minimal code• Offer quick access to navigation, bookmarks, and more
• Keep your app focused
Launching Maps with MKMapItem
![Page 114: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/114.jpg)
Integrated routing powered by the app storeDeveloping Routing Apps
![Page 115: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/115.jpg)
Transportation modesThe Many Faces of Routing
![Page 116: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/116.jpg)
Transportation modesThe Many Faces of Routing
![Page 117: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/117.jpg)
Transportation modesThe Many Faces of Routing
![Page 118: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/118.jpg)
Transportation modesThe Many Faces of Routing
![Page 119: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/119.jpg)
+
![Page 120: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/120.jpg)
+
![Page 121: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/121.jpg)
![Page 122: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/122.jpg)
![Page 123: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/123.jpg)
There is a black mask behind me! Make sure I stay here so animations look nice.
![Page 124: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/124.jpg)
There is a black mask behind me! Make sure I stay here so animations look nice.
![Page 125: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/125.jpg)
There is a black mask behind me! Make sure I stay here so animations look nice.
![Page 126: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/126.jpg)
There is a black mask behind me! Make sure I stay here so animations look nice.
![Page 127: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/127.jpg)
There is a black mask behind me! Make sure I stay here so animations look nice.
Red Circle instead of text
![Page 128: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/128.jpg)
There is a black mask behind me! Make sure I stay here so animations look nice.
Red Circle instead of text
![Page 129: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/129.jpg)
There is a black mask behind me! Make sure I stay here so animations look nice.
![Page 130: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/130.jpg)
There is a black mask behind me! Make sure I stay here so animations look nice.
![Page 131: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/131.jpg)
Add graphic to show these are relevant apps based on the origin and destination.
![Page 132: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/132.jpg)
Add graphic to show these are relevant apps based on the origin and destination.
Installed Routing AppsRecommended apps for your start and endpoint.
![Page 133: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/133.jpg)
Add graphic to show these are relevant apps based on the origin and destination.
App Store SuggestionsPurchase from inside of Maps.
![Page 134: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/134.jpg)
There is a black mask behind me! Make sure I stay here so animations look nice.
Red circle
![Page 135: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/135.jpg)
There is a black mask behind me! Make sure I stay here so animations look nice.
Add a slide to make it more clear that we are getting directions from Moscone to Apple, Inc.
![Page 136: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/136.jpg)
There is a black mask behind me! Make sure I stay here so animations look nice.
Add a slide to make it more clear that we are getting directions from Moscone to Apple, Inc.
![Page 137: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/137.jpg)
Routing App Requirements
![Page 138: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/138.jpg)
Routing App Requirements
1. Declare your app as a routing app
![Page 139: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/139.jpg)
Routing App Requirements
1. Declare your app as a routing app2. Specify where your app is relevant geographically
![Page 140: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/140.jpg)
Routing App Requirements
1. Declare your app as a routing app2. Specify where your app is relevant geographically3. Handle launches from Maps
![Page 141: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/141.jpg)
Declare Your App as a Routing App
![Page 142: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/142.jpg)
Declare Your App as a Routing App
![Page 143: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/143.jpg)
Specifying Geographic CoverageWhere can your app provide routes?
![Page 144: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/144.jpg)
Specifying Geographic CoverageWhere can your app provide routes?
![Page 145: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/145.jpg)
Specifying Geographic CoverageWhere can your app provide routes?
![Page 146: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/146.jpg)
Specifying Geographic CoverageWhere can your app provide routes?
![Page 147: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/147.jpg)
Specifying Geographic CoverageWhere can your app provide routes?
![Page 148: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/148.jpg)
Specifying Geographic CoverageWhere can your app provide routes?
![Page 149: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/149.jpg)
Specifying Geographic CoverageWhere can your app provide routes?
![Page 150: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/150.jpg)
Specifying Geographic CoverageWhere can your app provide routes?
![Page 151: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/151.jpg)
Specifying Geographic CoverageRequirements
![Page 152: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/152.jpg)
• GeoJSON file format (.geojson)
Specifying Geographic CoverageRequirements
![Page 153: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/153.jpg)
• GeoJSON file format (.geojson)• Provide one MultiPolygon
Specifying Geographic CoverageRequirements
![Page 154: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/154.jpg)
• GeoJSON file format (.geojson)• Provide one MultiPolygon• Keep it simple
Specifying Geographic CoverageRequirements
![Page 155: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/155.jpg)
• GeoJSON file format (.geojson)• Provide one MultiPolygon• Keep it simple
■ Up to 20 polygons, 20 points per polygon
Specifying Geographic CoverageRequirements
![Page 156: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/156.jpg)
• GeoJSON file format (.geojson)• Provide one MultiPolygon• Keep it simple
■ Up to 20 polygons, 20 points per polygon
• Coverage file is NOT part of the app bundle
Specifying Geographic CoverageRequirements
![Page 157: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/157.jpg)
• GeoJSON file format (.geojson)• Provide one MultiPolygon• Keep it simple
■ Up to 20 polygons, 20 points per polygon
• Coverage file is NOT part of the app bundle■ Uploaded using iTunes Connect
Specifying Geographic CoverageRequirements
![Page 158: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/158.jpg)
• GeoJSON file format (.geojson)• Provide one MultiPolygon• Keep it simple
■ Up to 20 polygons, 20 points per polygon
• Coverage file is NOT part of the app bundle■ Uploaded using iTunes Connect■ Automatically updated
Specifying Geographic CoverageRequirements
![Page 159: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/159.jpg)
Testing Your Routing App
![Page 160: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/160.jpg)
Testing Your Routing App
• Maps is now in the simulator
![Page 161: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/161.jpg)
Testing Your Routing App
• Maps is now in the simulator• Verify your app appears when relevant
![Page 162: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/162.jpg)
Testing Your Routing App
• Maps is now in the simulator• Verify your app appears when relevant
• Check the logs
![Page 163: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/163.jpg)
Testing Your Routing App
• Maps is now in the simulator• Verify your app appears when relevant
• Check the logs■ Simulator—use Console
![Page 164: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/164.jpg)
Testing Your Routing App
• Maps is now in the simulator• Verify your app appears when relevant
• Check the logs■ Simulator—use Console■ Device—use Xcode Organizer
![Page 165: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/165.jpg)
DemoDeclaring your app as a routing app
![Page 166: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/166.jpg)
Routing App Requirements
1. Declare your app as a routing app2. Specify where your app is relevant geographically3. Handle launches from Maps
![Page 167: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/167.jpg)
Handling Launches from Maps
MKMapItem
MKMapItem
![Page 168: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/168.jpg)
Handling Launches from Maps
MKMapItem
Current Location
![Page 169: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/169.jpg)
Handling Launches from Maps
MKDirectionsRequest
MKMapItem
Current Location
![Page 170: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/170.jpg)
Handling Launches from Maps
MKDirectionsRequest
MKMapItem
Current Location
NSURL
![Page 171: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/171.jpg)
Handling Launches from Maps
NSURL
![Page 172: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/172.jpg)
NSURL
Handling Launches from Maps
![Page 173: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/173.jpg)
MKDirectionsRequest
NSURL
Handling Launches from Maps
• Is it a MKDirectionsRequest URL?
![Page 174: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/174.jpg)
MKDirectionsRequest
NSURL
Handling Launches from Maps
• Is it a MKDirectionsRequest URL?• If yes, instantiate the request using the URL
![Page 175: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/175.jpg)
MKDirectionsRequest
Current Location
NSURL
Handling Launches from Maps
• Is it a MKDirectionsRequest URL?• If yes, instantiate the request using the URL@property MKMapItem *source;
![Page 176: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/176.jpg)
MKDirectionsRequest
MKMapItem
Current Location
NSURL
Handling Launches from Maps
• Is it a MKDirectionsRequest URL?• If yes, instantiate the request using the URL@property MKMapItem *source;@property MKMapItem *destination;
![Page 177: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/177.jpg)
MKDirectionsRequest
MKMapItem
Current Location
NSURL
Handling Launches from Maps
• Is it a MKDirectionsRequest URL?• If yes, instantiate the request using the URL@property MKMapItem *source;@property MKMapItem *destination;
• Resolve the current location map item
![Page 178: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/178.jpg)
MKDirectionsRequest
MKMapItem
Current Location
NSURL
Handling Launches from Maps
• Is it a MKDirectionsRequest URL?• If yes, instantiate the request using the URL@property MKMapItem *source;@property MKMapItem *destination;
• Resolve the current location map item• Provide your route!
![Page 179: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/179.jpg)
Handling Launches from Maps
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
}
![Page 180: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/180.jpg)
Handling Launches from Maps
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{ if ([MKDirectionsRequest isDirectionsRequestURL:url]) {
}}
![Page 181: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/181.jpg)
Handling Launches from Maps
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{ if ([MKDirectionsRequest isDirectionsRequestURL:url]) { MKDirectionsRequest *request = [[MKDirectionsRequest alloc]
initWithContentsOfURL:url];
MKMapItem *startItem = [request source]; MKMapItem *endItem = [request destination];
// YOUR CODE HERE}
}
![Page 182: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/182.jpg)
DemoUsing the MKDirectionsRequest to provide a route
![Page 183: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/183.jpg)
Best practicesMaking Great Routing Apps
![Page 184: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/184.jpg)
Best practicesMaking Great Routing Apps
• Minimize user input after launch
![Page 185: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/185.jpg)
Best practicesMaking Great Routing Apps
• Minimize user input after launch• Personalize display using MKMapItem data
![Page 186: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/186.jpg)
Best practicesMaking Great Routing Apps
• Minimize user input after launch• Personalize display using MKMapItem data• Be reasonable with geographic coverage
![Page 187: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/187.jpg)
Routing Apps
![Page 188: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/188.jpg)
Routing Apps
• Integrate with Maps
![Page 189: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/189.jpg)
Routing Apps
• Integrate with Maps• Increase traffic to your app
![Page 190: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/190.jpg)
Routing Apps
• Integrate with Maps• Increase traffic to your app• Get promoted to users who care
![Page 191: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/191.jpg)
Summary
![Page 192: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/192.jpg)
Summary
New Maps. Same API.
![Page 193: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/193.jpg)
Summary
New Maps. Same API. Open Maps with MKMapItem
![Page 194: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/194.jpg)
Summary
New Maps. Same API. Open Maps with MKMapItem
Routing Apps
![Page 195: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/195.jpg)
More Information
Paul MarcosApplication Services [email protected]
DocumentationMKMapViewhttp://developer.apple.com/library/ios/#documentation/MapKit/Reference/MKMapView_Class/
Location Awareness Programming Guidehttp://developer.apple.com/library/ios/#DOCUMENTATION/UserExperience/Conceptual/LocationAwarenessPG/
WWDC 2011“Visualizing Information Geographically with MapKit”
Apple Developer Forumshttp://devforums.apple.com
![Page 196: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/196.jpg)
Related Sessions
Getting Around with Map Kit (Repeat) Pacific HeightsTuesday 3:15PM
Staying on Track with Location Services Nob HillWednesday 2:00PM
What’s new in iTunes Connect for App Developers Nob HillThursday 9:00AM
![Page 197: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/197.jpg)
Labs
MapKit Lab #1 App Services Lab BTuesday 4:30PM
MapKit Lab #2 App Services Lab BThursday 11:30AM
![Page 198: Session 300 - Getting Around Using Map Kit](https://reader030.fdocuments.in/reader030/viewer/2022033106/55cf9dc2550346d033af1252/html5/thumbnails/198.jpg)