地図を追加する

プラットフォームを選択: Android iOS JavaScript

API では、地図は GMSMapView クラス(UIView の サブクラス)によって表されます。地図は、Maps SDK for iOS における最も重要なオブジェクトであり、マーカーやポリラインなどの他のオブジェクトを追加、削除、管理するために必要なメソッドを提供します。

はじめに

Maps SDK for iOS を使用すると、iOS アプリケーションで Google マップを表示できます。このようなマップは、 Google マップ iOS アプリに表示されるマップと同じ外観を持ち、SDK によって同じ機能の多くが公開されます。

API では、マッピング機能に加え、iOS UI モデルと一貫性のある幅広い操作もサポートされています。たとえば、タップやダブルタップなどのユーザー操作に応答するレスポンダを定義して、マップとのインタラクションを設定できます。

地図オブジェクトを使用する際に重要となるクラスは、GMSMapView クラスです。 GMSMapView によって、以下の操作が自動的に処理されます。

  • Google マップサービスに接続する。
  • 地図タイルをダウンロードする。
  • タイルをデバイスの画面に表示する。
  • パンやズームといった各種コントロールを表示する。
  • パン操作やズーム操作に対し、地図の移動やズームインまたはズームアウトで応答する。
    • 2 本の指の操作に対し、地図の表示角度を傾けて応答する。

これらの自動操作に加えて、GMSMapView クラスによって公開されるプロパティとメソッドを使用して、地図の動作と外観を制御できます。GMSMapView を使用して、マーカー、グラウンド オーバーレイ、ポリラインの追加と削除、表示される地図の種類の変更、GMSCameraPosition クラスによる地図の表示内容の制御を行います。

SwiftUI で地図を作成する

SwiftUI では、宣言型アプローチによる新しい形の UI 作成が可能です。ビューの外観とさまざまな状態を SwiftUI に伝えると、あとはシステムが自動的に処理してくれます。もとになっている状態がイベントやユーザー行動により変化すると、SwiftUI が自動的にビューを更新します。

Maps SDK for iOS は UIKit を基盤として設計されており、SwiftUI 対応のビューは提供されていません。SwiftUI で地図を追加するには、UIViewRepresentable または UIViewControllerRepresentable に準拠する必要があります。詳しくは、 SwiftUI を使って iOS アプリに地図を追加する Codelab をご覧ください。

地図を追加する

マップを追加するための基本的なステップは次のとおりです。

  1. SDK の入手、API キーの取得、必要なフレームワークの追加は、次の手順に沿って行います。

    1. Google Cloud コンソールでセットアップする

    2. API キーを使用する

    3. Xcode プロジェクトを設定する

    4. AppDelegate で、GMSServicesprovideAPIKey: クラス メソッドに API キーを指定します。

    5. ViewController を作成または更新します。このビュー コントローラが表示されたときに地図が表示される場合は、viewDidLoad メソッド内で作成してください。

    6. 地図ビューを初期化するときに、GMSMapViewOptions で構成オプションを設定します。プロパティには、framecameramapIDbackgroundColorscreen などがあります。

    7. 地図オプション camera プロパティを GMSCameraPosition オブジェクトを使用して設定します。これにより、地図の中心とズームレベルが指定されます。

    8. GMSMapView options: メソッドを使用して、GMSMapView クラスを作成してインスタンス化します。この地図をビュー コントローラの唯一のビューとして使用する場合は、地図オプション frame のデフォルト値 CGRectZero をビュー frame として使用できます。地図のサイズは自動的に変更されます。

    9. GMSMapView オブジェクトをビュー コントローラのビューとして設定します。例: self.view = mapView;

次の例では、シンガポールの繁華街を中心としたマップをアプリに追加しています。

Swift

import GoogleMaps

class MapObjects : UIViewController {
  override func viewDidLoad() {
    super.viewDidLoad()

    let options = GMSMapViewOptions()
    options.camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12)
    options.frame = self.view.bounds;

    let mapView = GMSMapView(options:options)
    self.view = mapView
  }
}

Objective-C

- (void)viewDidLoad {
  [super viewDidLoad];

  GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
  options.camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                        longitude:103.848
                                                             zoom:12];
  options.frame = self.view.bounds;

  GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
  self.view = mapView;
}

上記の手順を完了したら、GMSMapView オブジェクトをさらに構成できます。

次のステップ

このトピックの手順を完了したら、地図 設定に進みます。