• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
722
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
13
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Google Map SDK for iOS Michael Pan 13年8月12⽇日星期⼀一
  • 2. Official Web Page http://bit.ly/12j2w8r 13年8月12⽇日星期⼀一
  • 3. We want to build 13年8月12⽇日星期⼀一
  • 4. Get Google Map API Key • 從 Google APIs Console 產⽣生 API 專案. 13年8月12⽇日星期⼀一
  • 5. Google API Console - My Project 13年8月12⽇日星期⼀一
  • 6. Services ≈ 13年8月12⽇日星期⼀一
  • 7. Create new iOS Key 13年8月12⽇日星期⼀一
  • 8. Configure Project • Input bundle ID 13年8月12⽇日星期⼀一
  • 9. API Console Updated 13年8月12⽇日星期⼀一
  • 10. Download SDK • https://dl.google.com/geosdk/GoogleMaps-iOS-1.4.0.zip • Version 1.4.0 (July 2013) • 13年8月12⽇日星期⼀一
  • 11. Drag Framework into Project 1.4 13年8月12⽇日星期⼀一
  • 12. Drag Framework into Project 1.4 13年8月12⽇日星期⼀一
  • 13. Drag GoogleMaps.bundle 1.4 13年8月12⽇日星期⼀一
  • 14. Drag GoogleMaps.bundle 1.4 13年8月12⽇日星期⼀一
  • 15. Google Maps SDK Framework 13年8月12⽇日星期⼀一
  • 16. Configure Xcode Project - Library 原本就有, 其他請⼿手動加⼊入 1.1 13年8月12⽇日星期⼀一
  • 17. Configure Xcode Project - Library 原本就有, 其他請⼿手動加⼊入 1.4 13年8月12⽇日星期⼀一
  • 18. Setting 13年8月12⽇日星期⼀一
  • 19. Create SingleView Application UIView 13年8月12⽇日星期⼀一
  • 20. Some code with Key • AppDelegate.m #import "AppDelegate.h" #import <GoogleMaps/GoogleMaps.h> @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [GMSServices provideAPIKey:@"key-Nk64"]; return YES; } 13年8月12⽇日星期⼀一
  • 21. Change Class @interface ViewController () @property (weak, nonatomic) IBOutlet GMSMapView *gmapView; @end 13年8月12⽇日星期⼀一
  • 22. Run it 13年8月12⽇日星期⼀一
  • 23. User Location -View Controller - (void)viewDidLoad { [super viewDidLoad]; self.gMapView.myLocationEnabled = YES; self.gMapView.settings.myLocationButton = YES; } 13年8月12⽇日星期⼀一
  • 24. Run 13年8月12⽇日星期⼀一
  • 25. Zoom Action - (IBAction)moveToLocation:(id)sender { CLLocationCoordinate2D userLocation = self.gMapView.myLocation.coordinate; self.gMapView.camera =[GMSCameraPosition cameraWithLatitude:userLocation.latitude longitude:userLocation.longitude zoom: 20]; } 1.4 13年8月12⽇日星期⼀一
  • 26. Add mark - (IBAction)addMark:(id)sender { CLLocationCoordinate2D userLocation = self.gMapView.myLocation.coordinate; GMSMarker *school = [[GMSMarker alloc] init]; school.position = CLLocationCoordinate2DMake(userLocation.latitude +0.001, userLocation.longitude+0.001); school.snippet = @"School"; school.map = self.gMapView; GMSMarker *hostpital = [[GMSMarker alloc] init]; hostpital.position = CLLocationCoordinate2DMake(userLocation.latitude-0.001, userLocation.longitude-0.001); hostpital.snippet = @"Hospital"; hostpital.map = self.gMapView; } 13年8月12⽇日星期⼀一
  • 27. Add markers 13年8月12⽇日星期⼀一
  • 28. StreetView • GMSPanoramaView • GMSPanoramaViewDelegate 13年8月12⽇日星期⼀一
  • 29. StreetViewController.m -(void) loadView{ [super loadView]; self.view = [GMSPanoramaView panoramaWithFrame:CGRectZero nearCoordinate:self.nearCoordinate]; [(GMSPanoramaView *)self.view setDelegate:self]; } - (void)panoramaView:(GMSPanoramaView *)panoramaView didMoveCamera:(GMSPanoramaCamera *)camera { NSLog(@"Camera: (%f,%f,%f)", camera.orientation.heading, camera.orientation.pitch, camera.zoom); } 13年8月12⽇日星期⼀一
  • 30. Tap info window of Marker -(void) mapView:(GMSMapView *)mapView didTapInfoWindowOfMarker:(GMSMarker *)marker{ NSLog(@"%@", marker.snippet); StreetViewController * streetViewController = [StreetViewController new]; streetViewController.nearCoordinate = CLLocationCoordinate2DMake(40.761388, -73.978133); [self presentViewController:streetViewController animated:YES completion:^{ ; }]; } self.gMapView.delegate = self; 13年8月12⽇日星期⼀一
  • 31. Run 13年8月12⽇日星期⼀一
  • 32. Traffic Info - (IBAction)showTraffic:(UISwitch *)sender { self.gMapView.trafficEnabled = sender.on; } 13年8月12⽇日星期⼀一