
このページでは、Maps 3D SDK for iOS を使用して iOS アプリに基本的な 3D 地図を追加する方法の例を紹介します。このページの手順は、[設定] ページの手順が完了しており、次のものが用意されていることを前提としています。
- Maps 3D SDK for iOS が有効になっている Google Cloud プロジェクト
- Maps 3D SDK for iOS の API キー
- Maps 3D SDK for iOS パッケージが追加された Xcode バージョン 16.0 以降。
これらの前提条件の詳細については、セットアップをご覧ください。
パート 1: 基本的な SwiftUI アプリを作成する
- Xcode で新しいアプリを作成します。
- [Product Name] を
Hello3DWorldに設定し、組織 ID をcom.exampleに設定します。パッケージ名はcom.example.Hello3DWorldにします。 - SwiftUI インターフェースを選択します。
- マップ 3D ライブラリをアプリに追加します。セットアップ セクションの手順をご覧ください。
パート 2: 地図を追加する
ContentView.swiftというファイルを開きます。これは、アプリのエントリ ポイントであり、メイン ナビゲーションです。SwiftUIとGoogleMaps3Dパッケージをインポートします。body 宣言内のコードをすべて Map(mode: .hybrid) に置き換えます。
Mapを初期化するために指定する必要がある最小限の初期構成は、MapModeです。- .hybrid、または
- .satellite
ContentView.swiftファイルは次のようになります。import SwiftUI import GoogleMaps3D struct ContentView: View { var body: some View { Map(mode: .hybrid) } } #Preview { ContentView() }
パート 3: API キーを設定します。
API キーは、Map の初期化前に設定する必要があります。これを行うには、地図を含む
Viewのinit()イベント ハンドラで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 クラスによって制御されます。このステップでは、地図ビューをカスタマイズするために、位置、高度、見出し、傾斜、ロール、範囲を指定する方法を学習します。
変更する
Map()関数呼び出しをインクルードするinitialCamera財産。 初期化initialCameraマンハッタンのダウンタウンの景色を映します。import SwiftUI import GoogleMaps3D struct ContentView: View { init () { Map.apiKey = "YOUR_API_KEY" } var body: some View { Map(initialCamera: .init( latitude: 40.748339, longitude: -73.985912, altitude: 211.1, heading: 52, tilt: 68, range: 1039 ), mode: .hybrid) } }
上記のコードでは、次のパラメータの値を設定しています。
heading: カメラを向ける北からの方向(度)。tilt: 傾斜の角度(度単位)。0 は真上、90 は水平方向を向いています。roll: カメラの垂直面の周りの回転角度(度)。range: 緯度、経度の位置からカメラまでの距離(メートル)altitude: 海抜を基準としたカメラの高さ。
これらの追加パラメータを指定しない場合は、デフォルト値が使用されます。
カメラビューに 3D データをより多く表示するには、初期パラメータを設定して、より近く、傾斜したビューを表示します。
パート 6: アプリのプレビューと実行
Xcode プレビューを追加する
プレビューは、シミュレーターや外部デバイスを使用せずにアプリを表示したり操作したりできる強力な XCode 機能です。
プレビューを追加するには、構造体の外側に
#Preview {}コードブロックを追加します。#Preview { CameraDemo() }アプリを実行する
アプリをビルドして実行します。
お疲れさまでした
アプリに 3D マップを正常に追加しました。
次に、カメラパス アニメーション、3D マーカー、ポリゴンなど、Maps 3D SDK for iOS のより高度な機能について説明します。