以上で完了です。

開発を始めるには、デベロッパー ドキュメント をご覧下さい。

Google Maps SDK for iOS をアクティベートする

まず初めに Google Developers Console で次の作業を行います。

  1. プロジェクトを作成または選択する
  2. Google Maps SDK for iOS をアクティベートする
  3. 適切なキーを作成する
続ける

スタートガイド

iOS で Google マップを使い始める前に、Google Maps SDK for iOS をダウンロードして、API キーを取得する必要があります。

各リリースに対する完全なリリースノートが提供されています。

Google Maps SDK for iOS を Google Maps APIs Premium Plan ライセンスで使用している場合は、本ドキュメントではなく Premium Plan スタートガイド を参照してください。

ステップ 1: Xcode の最新版を入手する

Google Maps SDK for iOS を使ってプロジェクトをビルドするには、バージョン 7.3 以降の Xcode が必要です。

ステップ 2: SDK をインストールする

CocoaPods を使う

Google Maps SDK for iOS は CocoaPods の pod として利用できます。CocoaPods は、Swift と Objective-C の Cocoa プロジェクトで依存関係を管理するためのオープンソースのツールです。

CocoaPods ツールを持っていない場合は、ターミナルから以下のコマンドを実行して、macOS 上に CocoaPods ツールをインストールします。詳細については、CocoaPods スタートガイドを参照してください。

sudo gem install cocoapods

Google Maps SDK for iOS の Podfile を作成し、これを使用して API とその依存関係をインストールします。

  1. Xcode プロジェクトがまだない場合は、この時点で作成してローカルマシンに保存します(初めて iOS 開発を行う場合は、Single View Application を作成します)。
  2. プロジェクトのディレクトリに、Podfile という名前のファイルを作成します。このファイルでプロジェクトの依存関係を定義します。
  3. Podfile を編集して、依存関係を追加します。Google Maps SDK for iOS と Places API for iOS(オプション)に必要な依存関係を含む例を次に示します。
    source 'https://github.com/CocoaPods/Specs.git'
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps'
      pod 'GooglePlaces'
    end

    プレミアム プランのユーザーは、pod 'GoogleMaps/M4B' も追加する必要があります。

  4. Podfile を保存します。
  5. ターミナルを開いて、以下のように Podfile があるディレクトリに移動します。

    cd <path-to-project>
  6. pod install コマンドを実行すると、Podfile で指定されている API が、その依存関係(存在する場合)とともにインストールされます。

    pod install
  7. Xcode を終了した後に、プロジェクトの .xcworkspace ファイルを開いて(ダブルクリックして)Xcode を起動します。以降は、プロジェクトを開く際に .xcworkspace ファイルを使用する必要があります。

手動でインストールする

このガイドでは、プロジェクトに GoogleMaps フレームワークを手動で追加し、Xcode でビルド設定を構成する方法について説明しています。

  1. SDK ソースファイル GoogleMaps-2.0.1 をダウンロードします。
  2. ソースファイルを解凍します。
  3. Xcode を起動し、既存のプロジェクトを開くか、新しいプロジェクトを作成します。初めて iOS 開発を行う場合は、「Single View Application」を作成して、[Use Storyboards] を無効にし、[Use Automatic Reference Counting] を有効にします。
  4. 次のバンドルをプロジェクトにドラッグします(プロンプトが表示されたら、[Copy items if needed] を選択します)。
    • Subspecs/Base/Frameworks/GoogleMapsBase.framework
    • Subspecs/Maps/Frameworks/GoogleMaps.framework
    • Subspecs/Maps/Frameworks/GoogleMapsCore.framework

    プレミアム プランのユーザーは、Subspecs/M4B/Frameworks/GoogleMapsM4B.framework も含める必要があります。

  5. プロジェクトで [GoogleMaps.framework] を右クリックして、[Show In Finder] を選択します。
  6. [GoogleMaps.bundle] を [Resources] フォルダからプロジェクトにドラッグします。プロンプトが表示されたら、[Copy items into destination group's folder] が選択されていないことを確認します。
  7. プロジェクト ナビゲータでプロジェクトを選択し、アプリのターゲットを選択します。
  8. [Build Phases] タブを開き、[Link Binary with Libraries] で次のフレームワークを追加します。
    • GoogleMapsBase.framework
    • GoogleMaps.framework
    • GoogleMapsCore.framework
    • GoogleMapsM4B.framework(プレミアム プランのユーザーのみ)
    • Accelerate.framework
    • CoreData.framework
    • CoreGraphics.framework
    • CoreLocation.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc++.tbd
    • libz.tbd
    • OpenGLES.framework
    • QuartzCore.framework
    • SystemConfiguration.framework
    • UIKit.framework
  9. 特定のターゲットではなく、プロジェクトを選択して、[Build Settings] タブを開きます。[Other Linker Flags] セクションで、[-ObjC] を追加します。これらの設定が表示されない場合は、[Build Settings] バーのフィルタを [Basic] から [All] に変更します。

  10. Places API for iOS をインストールする場合は、Places API for iOS のスタートガイドをご覧ください。

ステップ 4: API キーを取得する

下のボタンをクリックして、指示に従って操作し、Google Maps SDK for iOS を有効にして、API キーを取得します。プロジェクトに iOS 限定の API キーが既にある場合は、そのキーを使用することもできます。

キーの取得

または、次の手順で API キーを取得します。

  1. Google API Console に移動します。
  2. プロジェクトを作成または選択します。
  3. [Continue] をクリックして、Google Maps SDK for iOS を有効にします。
  4. [Credentials] ページで、API キーを取得します。
    注: iOS 限定のキーがある場合は、そのキーを使用することもできます。同じプロジェクト内で任意の iOS アプリに対して同じキーを使用できます。
  5. API キーが表示されているダイアログで、[Restrict key] を選択して、API キーを iOS 限定にします。
  6. [Restrictions] セクションで [iOS apps] を選択してから、アプリのバンドル識別子を入力します。例: com.example.hellomap
  7. [Save] をクリックします。

    プロジェクトの API キーのリストに、新しい iOS 限定の API キーが表示されます。API キーは次のような文字列です。

    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Google API Console で、既存のキーを探すこともできます。

Google API Console の使用に関する詳細については、API Console のヘルプをご覧ください。

ステップ 5: アプリに API キーを追加する

Swift

以下のように AppDelegate.swift に API キーを追加します。

  1. 以下のインポート文を追加します。
    import GoogleMaps
  2. 以下を application(_:didFinishLaunchingWithOptions:) メソッドに追加し、YOUR_API_KEY を実際の API キーに置き換えます。
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. Places API も使用している場合は、以下のようにキーを再度追加します。
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

以下のように AppDelegate.m に API キーを追加します。

  1. 以下のインポート文を追加します。
    @import GoogleMaps;
  2. 以下を application:didFinishLaunchingWithOptions: メソッドに追加し、YOUR_API_KEY を実際の API キーに置き換えます。
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. Places API も使用している場合は、以下のようにキーを再度追加します。
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

ステップ 6: マップを追加する

次のコードは、既存の ViewController にシンプルな地図を追加する方法を示しています。新しいアプリを作成するには、まず上記のインストールの指示に従い、Single View Application を新規に作成します。このとき、[Use Storyboards] を無効に、[Use Automatic Reference Counting](ARC)を有効にします。

次に、アプリのデフォルトの ViewController 内でいくつかのメソッドの追加とアップデートを行い、GMSMapView のインスタンスを作成して初期化します。

Swift

import UIKit
import GoogleMaps

class YourViewController: UIViewController {

  // You don't need to modify the default init(nibName:bundle:) method.

  override func loadView() {
    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
    let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
    mapView.isMyLocationEnabled = true
    view = mapView

    // Creates a marker in the center of the map.
    let marker = GMSMarker()
    marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
    marker.title = "Sydney"
    marker.snippet = "Australia"
    marker.map = mapView
  }
}

Objective-C

#import "YourViewController.h"
#import <GoogleMaps/GoogleMaps.h>

@implementation YourViewController

// You don't need to modify the default initWithNibName:bundle: method.

- (void)loadView {
  // Create a GMSCameraPosition that tells the map to display the
  // coordinate -33.86,151.20 at zoom level 6.
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                          longitude:151.20
                                                               zoom:6];
  GMSMapView *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;
}

@end

アプリケーションを実行します。これで、オーストラリアのシドニーを中心とした、1 つのマーカーが追加されている地図が表示されます。地図が表示されず、マーカーのみが表示されている場合は、API キーを指定しているか確認してください。

ステップ 7: API で使用する URL スキームを宣言する

iOS 9 と Xcode 7 以降では、アプリの Info.plist ファイルでスキームを指定して、開く URL スキームを宣言する必要があります。 ユーザーが地図上の Google ロゴをクリックすると、Google Maps SDK for iOS によって Google マップのモバイル アプリが開かれます。そのため、アプリで関連する URL スキームを宣言する必要があります。

Google Maps SDK for iOS で使用する URL スキームを宣言するには、Info.plist に次の行を追加します。

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>googlechromes</string>
    <string>comgooglemaps</string>
</array>

次のスクリーンショットは、Xcode でのユーザー インターフェースでの設定を示しています。

Xcode での LSApplicationQueriesSchemes の設定

この宣言を行わないと、ユーザーが地図上の Google ロゴをタップした際に次のエラーが発生します。

-canOpenURL: failed for URL: "comgooglemaps://" - error:"This app is not allowed to query for scheme comgooglemaps"
-canOpenURL: failed for URL: "googlechromes://" - error:"This app is not allowed to query for scheme googlechromes"

このエラーが表示されないようにするには、上記のように Info.plist に宣言を追加します。

Google Maps SDK デモ プロジェクトによるテスト

pod try GoogleMaps を実行して SDK のデモを試すことができます。 詳細については、コードサンプルをご覧ください。

以前のバージョンからのアップグレード

既存のプロジェクトを Google Maps SDK for iOS の最新バージョンにアップグレードするには、次の指示に従ってください。

注: バージョン 1.9.2 以前の Google Maps SDK for iOS は、静的なフレームワークを含む zip ファイルとして提供されていました。 また、CocoaPods の pod から最新のバージョンをインストールする方法もありました。 バージョン 1.10.0 以降では、 Google Maps SDK for iOS は CocoaPods 経由でのインストールでのみ提供されています。

静的なフレームワークを含む zip ファイルから Google Maps SDK for iOS をインストールした場合は、次の操作を行ってください。

  1. Xcode のプロジェクトで、以前のフレームワークへの参照をすべて削除します。
  2. 上の注記 に従って、CocoaPods を使用して Google Maps SDK for iOS をインストールします。
  3. アップグレードに伴う必要な変更を行います。 各リリースでの変更点は、リリースノートをご覧ください。

  4. [Product] > [Clean] を選択してプロジェクトのクリーンアップを行った後、[Product] > [Build] を選択して再ビルドを行います。

Google-Maps-iOS-SDK pod から Google Maps SDK for iOS をインストールした場合は、次の操作を行ってください。

  1. pod 名を GoogleMaps に変更します。
  2. pod install を実行します。
  3. アップグレードに伴う必要な変更を行います。 各リリースでの変更点は、リリースノートをご覧ください。

  4. [Product] > [Clean] を選択してプロジェクトのクリーンアップを行った後、[Product] > [Build] を選択して再ビルドを行います。

GoogleMaps pod から Google Maps SDK for iOS をインストールした場合は、次の操作を行ってください。

  1. Podfile のバージョン制限を確認し、古いバージョンを削除または更新して必要なバージョンを取得できるようにします。 バージョン番号の一覧は、リリースノートをご覧ください。

  2. pod update を実行します。

  3. アップグレードに伴う必要な変更を行います。 各リリースでの変更点は、リリースノートをご覧ください。

  4. [Product] > [Clean] を選択してプロジェクトのクリーンアップを行った後、[Product] > [Build] を選択して再ビルドを行います。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。