アプリに 3D 地図を追加する

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

シアトル、サンフランシスコ、パリの基本地図

このページでは、Maps 3D SDK for iOS を使用して基本的な 3D マップを iOS アプリに追加する方法の例について説明します。このページの手順では、 設定ページの手順をすでに完了しており、次のものがあることを前提としています。

  • Maps 3D SDK for iOS が有効になっている Google Cloud プロジェクト
  • Maps 3D SDK for iOS の API キー
  • Maps 3D SDK for iOS パッケージが 追加された Xcode バージョン 16.0 以降。

これらの前提条件の詳細については、 設定をご覧ください。

より高度な Codelabを実施する。

GitHub でその他のコードサンプルを見る。

パート 1: 基本的な SwiftUI アプリを作成する

  1. Xcode で新しいアプリを作成します。
  2. プロダクト名Hello3DWorld に設定し、組織識別子を com.example に設定します。パッケージ名は com.example.Hello3DWorld にする必要があります。
  3. SwiftUI インターフェースを選択します。
  4. Maps 3D ライブラリをアプリに追加します。設定セクションの手順をご覧ください

パート 2: 地図を追加する

地球のミニマルな 3D 地図

  1. ContentView.swift というファイルを開きます。これは、アプリのエントリ ポイントとメイン ナビゲーションです。

  2. SwiftUI パッケージと GoogleMaps3D パッケージをインポートします。

  3. body 宣言内のコードをすべて Map(mode: .hybrid) に置き換えます。

    Map を初期化するために指定する必要がある最小限の初期構成は MapMode です。

    • .hybrid
    • .roadmap
    • .satellite

    ContentView.swift ファイルは次のようになります。

    import SwiftUI
    import GoogleMaps3D
    
    struct ContentView: View {
      var body: some View {
        Map(mode: .hybrid)
      }
    }
    
    #Preview {
      ContentView()
    }
    

パート 3: API キーを設定する

  1. API キーは、Map を初期化する前に設定する必要があります。これを行うには、Map を含む Viewinit() イベント ハンドラで Map.apiKey を設定します。

    import SwiftUI
    import GoogleMaps3D
    
    struct ContentView: View {
      init () {
        Map.apiKey = "YOUR_API_KEY"
      }
    
      var body: some View {
        Map(mode: .hybrid)
      }
    }
    

パート 4: カメラを使用して地図ビューを制御する

3D マップビューは Camera クラスによって制御されます。この手順では、位置、高度、方角、傾斜、ロール、範囲を指定して地図ビューをカスタマイズする方法について説明します。

  1. Map() 関数呼び出しを変更して、initialCamera プロパティを含めます。initialCamera を初期化して、マンハッタンのダウンタウンのビューを表示します。

    import SwiftUI
    import GoogleMaps3D
    
    struct ContentView: View {
      init () {
        Map.apiKey = "YOUR_API_KEY"
      }
      var body: some View {
        Map(initialCamera: .init(
          center: .init(latitude: 40.748339, longitude: -73.985912, altitude: 211.1),
          heading: 52,
          tilt: 68,
          roll: 0.0,
          range: 1039,
          fieldOfView: .degrees(50),
          altitudeMode: .relativeToGround
        ), mode: .hybrid)
      }
    }
    

上記のコードでは、次のパラメータの値が設定されます。

  • center: カメラの位置を表す LatLngAltitude
  • heading: カメラを向ける方向の北からの度数。
  • tilt: 傾斜の角度(度)。0 は真上、90 は水平方向です。
  • roll: カメラの垂直面を中心としたロールの角度(度)。
  • range: 緯度、経度の位置からのカメラの距離(メートル)。
  • fieldOfView: カメラの画角を表す角度。
  • altitudeMode: カメラの高さを計算する方法。

これらの追加パラメータを指定しない場合は、デフォルト値が使用されます。

カメラビューに 3D データをより多く表示するには、初期パラメータを設定して、傾斜したビューを拡大表示します。

パート 6: アプリをプレビューして実行する

ニューヨーク市の基本的な 3D 地図

  1. Xcode プレビューを追加する

    プレビューは、シミュレータや外部デバイスを使用せずにアプリを表示して操作できる強力な Xcode 機能です。

    プレビューを追加するには、構造体の外側に #Preview {} コードブロックを追加します。

    #Preview {
      CameraDemo()
    }
    
  2. アプリを実行する

アプリをビルドして実行します。

お疲れさまでした

アプリに 3D マップを追加できました。

次に、カメラパス アニメーション、3D マーカー、ポリゴンなど、Maps 3D SDK for iOS の上級者向け機能について学習します。