Geospatial API を使用できるようにアプリの設定を構成します。
前提条件
続行する前に、基本的な AR コンセプトと ARCore セッションを構成する方法を理解してください。
ここで説明する機能を実演するサンプルアプリを実行する場合は、iOS 向け ARCore Geospatial のクイックスタートをご覧ください。
Geospatial API の詳細については、Geospatial API の概要をご覧ください。
ARCore を使った開発を初めて行う場合は、スタートガイドで、ソフトウェアとハードウェアの要件、前提条件、使用しているプラットフォームに固有の情報を確認してください。
ARCore API を有効にする
アプリで Visual Positioning System(VPS)を使用する前に、新しい Google Cloud プロジェクトまたは既存の Google Cloud プロジェクトで ARCore API を有効にする必要があります。このサービスは、地理空間アンカーのホスト、保存、解決を行います。
キーレス認証が推奨されますが、API キー認証もサポートされています。
必要なライブラリをアプリに追加する
ARCore API を呼び出すようにアプリを承認したら、ライブラリを追加してアプリで地理空間機能を有効にする必要があります。
アプリのPodfile
を更新して、ARCore SDK とサポートされている iOS のバージョン設定を含めます。手順は次のとおりです。
プロジェクトの
Podfile
に次のplatform
とpod
を追加します。platform :ios, '11.0' pod 'ARCore/Geospatial', '~> 1.48.0'
iOS 10 をサポートする場合は
platform :ios, '10.0'
を指定することもできますが、Geospatial API は iOS 11 以降でのみ実行時に機能します。ターミナル ウィンドウを開き、Xcode プロジェクトがあるフォルダから
pod install
を実行します。これにより、アプリのビルドと実行に使用する
.xcworkspace
ファイルが生成されます。
クイックスタートで説明されているように、開発環境が ARCore SDK の要件を満たしていることを確認します。
セッション構成でジオ空間機能を有効にする
デバイスの互換性を確認する
クイックスタートで説明されているように、ARCore をサポートするすべてのデバイスが Geospatial API をサポートしているわけではありません。
次のように、GARSession.isGeospatialModeSupported:
を使用してデバイスを確認します。
if (![self.garSession isGeospatialModeSupported:GARGeospatialModeEnabled]) {
[self setErrorStatus:@"GARGeospatialModeEnabled is not supported on this device."];
return;
}
GARSessionConfiguration *configuration = [[GARSessionConfiguration alloc] init];
configuration.geospatialMode = GARGeospatialModeEnabled;
[self.garSession setConfiguration:configuration error:&error];
if (error) {
[self setErrorStatus:[NSString stringWithFormat:@"Failed to configure GARSession: %d",
(int)error.code]];
return;
}
実行時にユーザーに位置情報の利用許可をリクエストする
アプリは、セッションを構成する前に、実行時に次の位置情報の権限をリクエストする必要があります。
デバイスの現在地でジオスペースの提供状況を確認する
Geospatial API は VPS と GPS を組み合わせてジオ空間変換を決定するため、デバイスが位置を特定できる限り、この API を使用できます。屋内や高密度の都市環境など、GPS の精度が低い地域では、API は VPS のカバレッジに基づいて高精度のトランスフォームを生成します。一般的な条件下では、VPS の位置精度は約 5 メートル、回転精度は 5 度と見込まれます。GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
を使用して、特定の場所が VPS の対象かどうかを判断します。
Geospatial API は、VPS がカバーしていない地域でも使用できます。屋外で障害物がほとんどない環境では、GPS だけでも高い精度のトランスフォームを生成できます。
次のステップ
- デバイスのカメラの地理空間変換を取得して、ユーザーのデバイスの実際の位置を正確に特定します。
- デバイスの特定の場所で VPS の可用性を確認します。