Geolocator.GetGeopositionAsync メソッド

定義

オーバーロード

GetGeopositionAsync()

デバイスの現在の場所を取得する非同期操作を開始します。

GetGeopositionAsync(TimeSpan, TimeSpan)

デバイスの現在の場所を取得する非同期操作を開始します。

GetGeopositionAsync()

デバイスの現在の場所を取得する非同期操作を開始します。

public:
 virtual IAsyncOperation<Geoposition ^> ^ GetGeopositionAsync() = GetGeopositionAsync;
/// [Windows.Foundation.Metadata.Overload("GetGeopositionAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<Geoposition> GetGeopositionAsync();
[Windows.Foundation.Metadata.Overload("GetGeopositionAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<Geoposition> GetGeopositionAsync();
function getGeopositionAsync()
Public Function GetGeopositionAsync () As IAsyncOperation(Of Geoposition)

戻り値

完了時に、検出された場所を示す Geoposition を返す非同期操作。

属性

Windows の要件

アプリの機能
location ID_CAP_LOCATION [Windows Phone]

注釈

アプリに場所のアクセス許可がない場合、または場所データが取得されていない状態でタイムアウトした場合、このメソッドは例外をスローします。 したがって、これらの一般的な例外ケースを処理できるように、try/catch ステートメント内で メソッドを呼び出す必要があります。

このメソッドは、コネクト スタンバイの場合を除き、60 秒後にタイムアウトします。 コネクト スタンバイ中は、 Geolocator オブジェクトをインスタンス化できますが、 Geolocator オブジェクトでは集計するセンサーが見つからず、GetGeopositionAsync の呼び出しは 7 秒後にタイムアウトします。 タイムアウトすると、 StatusChanged イベント リスナーは NoData 状態で 1 回呼び出され、 PositionChanged イベント リスナーは呼び出されません。

ユーザーが設定アプリの位置情報に関するプライバシー設定で位置情報に関するプライバシーを設定します。 次の場合にのみ、アプリでユーザーの位置情報にアクセスできます。

  • このデバイスの場所...がオンになっている (Windows 10 Mobileには適用されません)
  • 位置情報サービス設定の [位置情報]オン になっている
  • [位置情報を使うことができるアプリを選ぶ] で、アプリが オン になっている

重要

Windows 10 以降では、ユーザーの場所にアクセスする前に RequestAccessAsync メソッドを呼び出します。 このときに、アプリをフォアグラウンドで実行し、RequestAccessAsync を UI スレッドから呼び出す必要があります。 その後、アプリは、例外をスローすることなく、アクセス許可のないケースを処理できます。

こちらもご覧ください

適用対象

GetGeopositionAsync(TimeSpan, TimeSpan)

デバイスの現在の場所を取得する非同期操作を開始します。

public:
 virtual IAsyncOperation<Geoposition ^> ^ GetGeopositionAsync(TimeSpan maximumAge, TimeSpan timeout) = GetGeopositionAsync;
/// [Windows.Foundation.Metadata.Overload("GetGeopositionAsyncWithAgeAndTimeout")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<Geoposition> GetGeopositionAsync(TimeSpan const& maximumAge, TimeSpan const& timeout);
[Windows.Foundation.Metadata.Overload("GetGeopositionAsyncWithAgeAndTimeout")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<Geoposition> GetGeopositionAsync(System.TimeSpan maximumAge, System.TimeSpan timeout);
function getGeopositionAsync(maximumAge, timeout)
Public Function GetGeopositionAsync (maximumAge As TimeSpan, timeout As TimeSpan) As IAsyncOperation(Of Geoposition)

パラメーター

maximumAge
TimeSpan TimeSpan

キャッシュされた場所データの許容される最大有効期間。 TimeSpan は、100 ナノ秒単位で表される期間です。

timeout
TimeSpan TimeSpan

タイムアウト。 TimeSpan は、100 ナノ秒単位で表される期間です。

戻り値

完了時に、検出された場所を示す Geoposition を返す非同期操作。

属性

Windows の要件

アプリの機能
location ID_CAP_LOCATION [Windows Phone]

注釈

最新の場所が許容範囲内の場合、場所はすぐに返されます。 それ以外の場合、場所は次の変更まで返されません。 場合によっては、アプリは、指定された maximumAge 値より古い場所データを受け取る場合があります。 これは、必要な精度設定に基づいて追加の年齢値が計算され、アプリで 2 つの年齢のいずれかが大きい方を使用するためです。 たとえば、既定の精度が 500 メートルの場合は、最大経過時間が 30 秒に対応しているとします。 その場合、 maximumAge を 10 秒に設定した場合でも、アプリは 20 秒の古いデータを受け取る可能性があります。

こちらもご覧ください

適用対象