GeolocationProvider クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
リモート ソースからユーザーの場所をオーバーライドする機能を提供します。
大事な
Windows.Devices.Geolocation.Provider API は、制限付きアクセス機能の一部です (LimitedAccessFeatures クラスを参照)。 詳細については、またはロック解除トークンを要求するには、LAF アクセス トークン要求フォームを使用してください。
public ref class GeolocationProvider sealed
/// [Windows.Foundation.Metadata.Activatable(983040, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 983040)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class GeolocationProvider final
[Windows.Foundation.Metadata.Activatable(983040, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 983040)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class GeolocationProvider
function GeolocationProvider()
Public NotInheritable Class GeolocationProvider
- 継承
- 属性
Windows の要件
デバイス ファミリ |
Windows 11 Insider Preview (10.0.23504.0 で導入)
|
API contract |
Windows.Foundation.UniversalApiContract (v15.0 で導入)
|
アプリの機能 |
runFullTrust
|
例
このコード例のシナリオでは、これらの API を使用してコンピューターの場所をオーバーライドするリモート アクセス クライアント用のサーバー側アプリが含まれます。 このシナリオでは、クライアント アプリはさまざまなオペレーティング システム (Os) (Windows、MacOS、iOS、Linux など) で実行され、ホスト コンピューター上のプロキシとして機能するコンポーネントに (これらの API を呼び出すことによって) 定期的に位置をポストします。
using Windows.Devices.Geolocation;
using Windows.Devices.Geolocation.Provider;
...
public class OverrideLocation
{
public struct ClientPositionInfo
{
public BasicGeoposition geoposition;
public PositionSource positionSource;
public double accuracy;
};
private GeolocationProvider geolocationProvide = null;
// When remote desktop connection is established,
// call this API to initialize.
public void Initialize()
{
geolocationProvider = new GeolocationProvider();
geolocationProvider.IsOverriddenChanged +=
new EventHandler<object>(OnIsOverriddenChanged);
}
// Uninitialize when remote desktop connection is stopped.
public void DeInitialize()
{
geolocationProvider.IsOverriddenChanged -= OnIsOverriddenChanged;
geolocationProvide.ClearOverridePosition();
}
private void OnIsOverriddenChanged(object sender, object args)
{
if (!geolocationProvider.IsOverridden)
{
SetPosition();
}
}
// When remote desktop connection established,
// call this API to set override position.
public bool SetPosition()
{
// Get client location information from client side.
ClientPositionInfo clientPositionInfo = GetClientLocationInformation();
LocationOverrideStatus status = geolocationProvider.SetOverridePosition(
clientPositionInfo.geoposition,
clientPositionInfo.positionSource,
clientPositionInfo.accuracy);
if (status == LocationOverrideStatus.AlreadyStarted)
{
// Failed to get override session.
return false;
}
else if (status == LocationOverrideStatus.AccessDenied)
{
// Do not have access to override.
return false;
}
else if (status == LocationOverrideStatus.Other)
{
// something else caused the failure.
return false;
}
return true;
}
public bool UpdatePosition()
{
// Update position.
return SetPosition();
}
}
注釈
場所をオーバーライドし、場所に対応するアプリに提供するユーザーのコンテキストから、GeolocationProvider オブジェクトにアクセスする必要があります。 場所オーバーライド セッションの長さは、
コンストラクター
GeolocationProvider() |
GeolocationProviderの新しいインスタンスを構築します。 大事な Windows.Devices.Geolocation.Provider API は、制限付きアクセス機能の一部です (LimitedAccessFeatures クラスを参照)。 詳細については、またはロック解除トークンを要求するには、LAF アクセス トークン要求フォームを使用してください。 |
プロパティ
IsOverridden |
所有 GeolocationProvider が現在オーバーライドされているかどうかを示す値を取得します。 GeolocationProvider.IsOverriddenChanged イベントのハンドラーで、このプロパティの値にアクセスできます。 大事な Windows.Devices.Geolocation.Provider API は、制限付きアクセス機能の一部です (LimitedAccessFeatures クラスを参照)。 詳細については、またはロック解除トークンを要求するには、LAF アクセス トークン要求フォームを使用してください。 |
メソッド
ClearOverridePosition() |
GeolocationProvider.SetOverridePositionの呼び出しによって以前に設定されたオーバーライド位置をクリア (またはリセット) します。 大事な Windows.Devices.Geolocation.Provider API は、制限付きアクセス機能の一部です (LimitedAccessFeatures クラスを参照)。 詳細については、またはロック解除トークンを要求するには、LAF アクセス トークン要求フォームを使用してください。 |
SetOverridePosition(BasicGeoposition, PositionSource, Double) |
ユーザーの場所のオーバーライド位置を設定します。 geolocationProvider.ClearOverridePosition 大事な Windows.Devices.Geolocation.Provider API は、制限付きアクセス機能の一部です (LimitedAccessFeatures クラスを参照)。 詳細については、またはロック解除トークンを要求するには、LAF アクセス トークン要求フォームを使用してください。 |
イベント
IsOverriddenChanged |
GeolocationProvider.IsOverridden プロパティの値が変更されたときに発生するイベント。 このイベントを処理するために登録し、応答で geolocationProvider.IsOverridden 大事な Windows.Devices.Geolocation.Provider API は、制限付きアクセス機能の一部です (LimitedAccessFeatures クラスを参照)。 詳細については、またはロック解除トークンを要求するには、LAF アクセス トークン要求フォームを使用してください。 |