この ARCore Geospatial API のクイックスタートでは、Geospatial API を示すサンプルアプリを Android Studio で実行する方法について説明します。
Geospatial API を使用して独自のアプリを開発するためのガイドについては、Android(Kotlin/Java)用地理空間デベロッパー ガイドまたは Android NDK(C)用地理空間デベロッパー ガイドをご覧ください。
Geospatial API の詳細については、ARCore Geospatial API の概要をご覧ください。
ARCore を使った開発が初めての場合は、スタートガイドをご覧ください。
要件
デバイスのサポート
ARCore の動作が認定されているデバイスの完全なリストについては、サポートされているデバイスをご覧ください。Geospatial API に必要なハードウェアの重要な部分の一つは、Geospatial API 仕様を満たす磁力計です。一部の磁力計は仕様を満たしていません。このような仕様外の磁力計を搭載したデバイスはサポートされていません。
ソフトウェア
最新バージョンの Google Play 開発者サービス(AR)が、サポート対象デバイスにインストールされている。
Android Studio バージョン 3.0 以降と、Android SDK Platform バージョン 7.0(API レベル 24)以降
Android 向けの ARCore SDK。次の 2 つの方法のいずれかで入手できます。
GitHub からダウンロードしてマシンに抽出します。
次のコマンドでリポジトリのクローンを作成します。
git clone https://github.com/google-ar/arcore-android-sdk.git
サンプルアプリを開いて設定する
ARCore SDK for Android に含まれる geospatial_java プロジェクトには、Geospatial API を呼び出すコードが記述されています。
Android Studio の [File] メニューで [Open] をクリックします。
arcore-android-sdk のプロジェクト フォルダに移動します。
samples フォルダを開き、geospatial_java フォルダを選択し、[Open] をクリックします。
Google Cloud プロジェクトの設定
Visual Positioning System(VPS)を使用するには、ARCore API が有効になっている Google Cloud プロジェクトとアプリを関連付ける必要があります。承認を設定するには、Google Cloud で ARCore API を使用するをご覧ください。キーなし認証または API キー認証のいずれかを選択できます。
サンプルアプリを実行する
Android Studio でサンプルアプリを実行します。
カメラビューと、デバイスの現在の地理空間ポーズを示すデバッグ情報が表示されます。VPS ローカライズでサポートされている地域では、周囲の環境をスキャンすると、移動すると位置精度の信頼値が変化する可能性があります。
ARCore がデバイスの位置と方角を確定したら、地理空間ポーズを使用して現在地にアンカーを配置できます。
VPS 情報が利用できない場合は、位置決めの精度が低すぎる可能性があります。アプリはインターネットに接続されており、位置情報が VPS に認識されている必要があります。サンプルアプリは日中に(屋内ではなく)実行することをおすすめします。
また、VPS に対応していない地域にお住まいの場合や、GPS 信号が十分でない場合、アンカーを配置するために、アプリで信頼度のしきい値の調整が必要になることがあります。
しきい値を調整するには:
Android Studio で GeospatialActivity を開き、次のセクションに移動します。
// The thresholds that are required for horizontal and heading accuracies before entering into the // LOCALIZED state. Once the accuracies are equal or less than these values, the app will // allow the user to place anchors. private static final double LOCALIZING_HORIZONTAL_ACCURACY_THRESHOLD_METERS = 10; private static final double LOCALIZING_HEADING_ACCURACY_THRESHOLD_DEGREES = 15;
必要に応じて、これらの値を調整します。値が高いほど、精度は低くなります。
精度を下げると、アプリがアンカーを配置する際の緯度度が向上します。詳しくは、ポーズの精度を調整するをご覧ください。
次のステップ
地理空間 Codelab を試す
Android(Kotlin/Java)の地理空間デベロッパー ガイドまたは Android NDK(C)の地理空間デベロッパー ガイドを確認して、Geospatial API を使ったビルドを開始してください。