Google Maps SDK for iOSを使う


###1. API Keyの取得
__1. Google Maps SDK for iOSのステータスをonにする__

[Google APIs Console](https://code.google.com/apis/console/ "Google APIs Console")で画面左のServicesを選択し、Google Maps SDK for iOSのステータスをonにする。

__2. API Keyを取得__

[Google APIs Console](Google APIs Console "https://code.google.com/apis/console/")で画面左のAPI Accessを選択し、Create new iOS keyをクリック。アプリのbundle identifiersを入力し、Createをクリック

###2. SDKの追加
__1. Google Maps SDK for iOSダウンロード__
[Version 1.3.1](https://dl.google.com/geosdk/GoogleMaps-iOS-1.3.1.zip "Version 1.3.1")からSDKをダウンロードする。

__2. GoogleMaps.framework追加__
GoogleMaps.frameworkフォルダをXcodeのFrameworksにドラッグアンドドロップ。（__Copy items into destination group's folder__にチェックをつける）

__3. GoogleMaps.bundle追加__
Xcode上で2で追加したGoogleMaps.frameworkを右クリックし、`Show In Finder`を選択。Resourcesフォルダの中にあるGoogleMaps.bundleをXcodeのFrameworksにドラッグアンドドロップ。__Copy items into destination group's folder__のチェックをはずす）

__4. その他のフレームワークを追加__
以下のフレームワークを追加。

・AVFoundation.framework
・CoreData.framework
・CoreLocation.framework
・CoreText.framework
・GLKit.framework
・ImageIO.framework
・libc++.dylib
・libicucore.dylib
・libz.dylib
・OpenGLES.framework
・QuartzCore.framework
・SystemConfiguration.framework

__5. Build Settingsの変更__
TARGETSのBuild Settingsを開き以下の２つを変更

・Architecturesをarmv7に設定
・Other Linker Flagsを-ObjCに設定

__6. AppDelegate編集__

 GoogleMaps.hをインポートし、application:didFinishLaunchingWithOptions:メソッド内で取得したAPI Keyを設定。


```AppDelegate.m
# -----------略-----------
#import <GoogleMaps/GoogleMaps.h>

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    [GMSServices provideAPIKey:@"AIzaSyB7-kCq7IriVPLeSXo6d3NQ1-s-w86iBB4"];
    return YES;
}
# -----------略-----------

```

###3. サンプルを動かす

[公式](https://developers.google.com/maps/documentation/ios/start#getting_the_google_maps_sdk_for_ios "Google Maps SDK for iOS")にあるサンプルを動かしてみる。

```ViewController.m
#import "ViewController.h"
#import <GoogleMaps/GoogleMaps.h>

@interface ViewController ()

@end

@implementation ViewController {
    GMSMapView *mapView_;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                            longitude:151.20
                                                                 zoom:6];
    mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];
    mapView_.myLocationEnabled = YES;
    self.view = mapView_;
    
    // Creates a marker in the center of the map.
    GMSMarker *marker = [[GMSMarker alloc] init];
    marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
    marker.title = @"Sydney";
    marker.snippet = @"Australia";
    marker.map = mapView_;
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end!

```

こんな感じのが出来るはず。

![googlemap.png](https://qiita-image-store.s3.amazonaws.com/0/18185/cf874e7a-7309-a200-7f2d-a75d8ebd6377.png "googlemap.png")

##参照
・[Google Maps SDK for iOS](https://developers.google.com/maps/documentation/ios/start#getting_the_google_maps_sdk_for_ios "Google Maps SDK for iOS")