Android 向け地理空間のクイックスタート

この 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 を呼び出すコードが記述されています。

  1. Android Studio の [File] メニューで [Open] をクリックします。

  2. arcore-android-sdk のプロジェクト フォルダに移動します。

  3. 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 信号が十分でない場合、アンカーを配置するために、アプリで信頼度のしきい値の調整が必要になることがあります。

しきい値を調整するには:

  1. 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;
    
  2. 必要に応じて、これらの値を調整します。値が高いほど、精度は低くなります

    精度を下げると、アプリがアンカーを配置する際の緯度度が向上します。詳しくは、ポーズの精度を調整するをご覧ください。

次のステップ