ランタイムにARロケーションのVPSカバレッジをクエリする
VPSカバレッジAPIは、実行時にARロケーションを発見し、マップ上に表示したり、ARLocationManagerのローカライズターゲットとして使用するための機能を提供します。
CoverageClientManagerの設定

CoverageClientManagerは、Unityエディタでシーンに追加するか、AddComponent
を通して実行時に追加します。 ARLocation
は、ユーザーの現在のGPS位置か、ユーザーが指定した位置(例えば、地図上の都市をリモートで表示する)の周辺にあるARLocation
を問い合わせることができます。 また、CoverageClientManagerは、GPS位置の周囲を照会する半径(メートル単位)を定義するQueryRadius
の設定を提供します。
備考
Unityプロジェクトでは、ビルドターゲットに対してロケーション使用権限を設定する必要があります。 iOSの場合、Project SettingsにLocation Usage Descriptionが必要です。 Androidの場合、ユーザーはACCESS_FINE_LOCATION
パーミッションを与える必要があり、CoverageClientManagerは使用時にこれを要求します。
以下のコードスニペットは、ユーザーの現在地から 1km 以内にある ARLocation
をクエリする CoverageClientManager の設定と構成を示しています。
クリックして CoverageClientManagerExample.cs を開く
using Niantic.Lightship.AR.VpsCoverage;
using UnityEngine;
public class CoverageClientManagerExample : MonoBehaviour
{
[SerializeField]
private CoverageClientManager CoverageClientManager;
public void QueryAroundUser()
{
// 提供されていない場合は、現在のゲームオブジェクトに作成する
if (!CoverageClientManager)
{
CoverageClientManager = gameObject.AddComponent<CoverageClientManager>();
} // デバイスの現在位置を使用する。
// カバレッジをクエリするには、デバイスの現在位置を使用します。クエリ半径は1000メートルに設定されています。
CoverageClientManager.UseCurrentLocation = true;
CoverageClientManager.QueryRadius = 1000;
CoverageClientManager.TryGetCoverage(OnCoverageResult);
}
private void OnCoverageResult(AreaTargetsResult result)
{
// 現在は何もしません
}.
}