Google Maps SDK for iOS 배포 단계

앱 내에서 Google Maps를 사용하기위한 SDK, "Google Maps SDK for iOS"를 배포하는 단계입니다.

공식 정보는 Google Developers에 있습니다.

サンプル

1. API Key 획득



  • Google APIs Console 서비스 탭에서 Google Maps SDK for iOS를 켭니다.
  • API Access 탭에서 "Create new iOS key"버튼을 클릭합니다. 팝업에서 나오는 창에 Google Maps SDK for iOS를 사용하는 앱의 Bundle identifier를 입력합니다.

  • 2. SDK를 프로젝트에 추가


  • GoogleMaps SDK for iOS 다운로드
    Getting the Google Maps SDK for iOS
  • GoogleMaps.framework를 프로젝트에 추가
  • Build Phases 탭의 Copy Bundle Resources에 GoogleMaps.framework 폴더 아래에있는 GoogleMaps.bundle 추가

  • 3. 필요한 프레임워크를 프로젝트에 추가


  • AVFoundation.framework
  • CoreData.framework
  • CoreLocation.framework
  • CoreText.framework
  • GLKit.framework
  • ImageIO.framework
  • libicucore.dylib
  • libstdc++.dylib
  • libz.dylib
  • OpenGLES.framework
  • QuartzCore.framework
  • SystemConfiguration.framework

  • 4. 빌드 설정


  • Architectures를 armv7로 설정 (또는 Valid Architectures에서 armv7s 제거)
  • Other Linker Flags에 -ObjC 추가

  • 5. Info.plist 편집



    Bundle identifier 필드에 1단계에서 API Key 획득 시 입력한 Bundle identifier를 입력합니다.

    6. AppDelegate로 초기화


  • 헤더 가져 오기
  • #import <GoogleMaps/GoogleMaps.h>
    
  • application:didFinishLaunchingWithOptions:에서 provideAPIKey: 메서드 호출 (인수에 1 단계에서 얻은 API 키를 전달)
  • [GMSServices provideAPIKey:@"YOUR_API_KEY"];
    

    7. 지도를 표시하는 ViewController 구현


  • 헤더 가져 오기
  • #import <GoogleMaps/GoogleMaps.h>
    
  • 속성 추가
  • @property (nonatomic, weak) GMSMapView *mapView;
    
  • GMSMapView 초기화 및 다양한 설정
  • - (void)loadView {
    
        GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.8683
                                                                longitude:151.2086
                                                                     zoom:6];
        self.mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
        self.mapView.myLocationEnabled = YES;
        self.view = self.mapView;
    
        GMSMarkerOptions *options = [[GMSMarkerOptions alloc] init];
        options.position = CLLocationCoordinate2DMake(-33.8683, 151.2086);
        options.title = @"Sydney";
        options.snippet = @"Australia";
    
        [self.mapView addMarkerWithOptions:options];
    }
    
  • 지도 그리기 시작
  • - (void)viewWillAppear:(BOOL)animated {
    
        [super viewWillAppear:animated];
    
        [self.mapView startRendering];
    }
    
  • 지도 그리기 중지
  • - (void)viewWillDisappear:(BOOL)animated {
    
        [self.mapView stopRendering];
    
        [super viewWillDisappear:animated];
    }
    

    좋은 웹페이지 즐겨찾기