GeolocationProvider 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
원격 원본에서 사용자의 위치를 재정의하는 기능을 제공합니다.
메모
위치 재정의 API를 호출하려면 앱에서 runFullTrust
제한된 기능선언해야 합니다.
중요하다
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새 인스턴스를 생성합니다. 메모 위치 재정의 API를 호출하려면 앱에서 중요하다 Windows.Devices.Geolocation.Provider API는 제한된 액세스 기능의 일부입니다(LimitedAccessFeatures 클래스참조). 자세한 내용을 보거나 잠금 해제 토큰을 요청하려면 LAF 액세스 토큰 요청 양식사용하세요. |
속성
IsOverridden |
소유 GeolocationProvider 현재 재정의되었는지 여부를 나타내는 값을 가져옵니다. GeolocationProvider.IsOverriddenChanged 이벤트에 대한 처리기에서 이 속성의 값에 액세스할 수 있습니다. 메모 위치 재정의 API를 호출하려면 앱에서 중요하다 Windows.Devices.Geolocation.Provider API는 제한된 액세스 기능의 일부입니다(LimitedAccessFeatures 클래스참조). 자세한 내용을 보거나 잠금 해제 토큰을 요청하려면 LAF 액세스 토큰 요청 양식사용하세요. |
메서드
ClearOverridePosition() |
GeolocationProvider.SetOverridePosition 메모 위치 재정의 API를 호출하려면 앱에서 중요하다 Windows.Devices.Geolocation.Provider API는 제한된 액세스 기능의 일부입니다(LimitedAccessFeatures 클래스참조). 자세한 내용을 보거나 잠금 해제 토큰을 요청하려면 LAF 액세스 토큰 요청 양식사용하세요. |
SetOverridePosition(BasicGeoposition, PositionSource, Double) |
사용자 위치에 대한 재정의 위치를 설정합니다. geolocationProvider.ClearOverridePosition 메모 위치 재정의 API를 호출하려면 앱에서 중요하다 Windows.Devices.Geolocation.Provider API는 제한된 액세스 기능의 일부입니다(LimitedAccessFeatures 클래스참조). 자세한 내용을 보거나 잠금 해제 토큰을 요청하려면 LAF 액세스 토큰 요청 양식사용하세요. |
이벤트
IsOverriddenChanged |
GeolocationProvider.IsOverridden 속성의 값이 변경될 때 발생하는 이벤트입니다. 이 이벤트를 처리하도록 등록하고 응답에서 GeolocationProvider.IsOverridden 현재 값에 액세스할 수 있습니다. 메모 위치 재정의 API를 호출하려면 앱에서 중요하다 Windows.Devices.Geolocation.Provider API는 제한된 액세스 기능의 일부입니다(LimitedAccessFeatures 클래스참조). 자세한 내용을 보거나 잠금 해제 토큰을 요청하려면 LAF 액세스 토큰 요청 양식사용하세요. |