다음을 통해 공유


Geolocator 클래스

정의

현재 지리적 위치에 대한 액세스를 제공합니다.

public ref class Geolocator sealed
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Geolocator final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class Geolocator final
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Geolocator
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class Geolocator
function Geolocator()
Public NotInheritable Class Geolocator
상속
Object Platform::Object IInspectable Geolocator
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)
앱 기능
location ID_CAP_LOCATION [Windows Phone]

예제

이 예제에서는 Geolocator 클래스를 사용하여 디바이스의 위치를 검색하는 방법을 보여줍니다. 자세한 내용은 현재 위치 가져오기를 참조하세요.

using Windows.Devices.Geolocation;
...
var accessStatus = await Geolocator.RequestAccessAsync();
switch (accessStatus)
{
    case GeolocationAccessStatus.Allowed:
        // notify user: Waiting for update

        // If DesiredAccuracy or DesiredAccuracyInMeters are not set (or value is 0), DesiredAccuracy.Default is used.
        Geolocator geolocator = new Geolocator { DesiredAccuracyInMeters = _desireAccuracyInMetersValue };

        // Subscribe to StatusChanged event to get updates of location status changes
        _geolocator.StatusChanged += OnStatusChanged;

        // Carry out the operation
        Geoposition pos = await geolocator.GetGeopositionAsync();

        UpdateLocationData(pos);
        // notify user: Location updated
        break;

    case GeolocationAccessStatus.Denied:
        // notify user: Access to location is denied

        break;

    case GeolocationAccessStatus.Unspecified:
        // notify user: Unspecified error
        break;
}

설명

버전 기록

Windows 버전 SDK 버전 추가된 값
1607 14393 AllowFallbackToConsentlessPositions
1607 14393 DefaultGeoposition
1607 14393 IsDefaultGeopositionRecommended

생성자

Geolocator()

Geolocator 개체를 초기화합니다.

속성

DefaultGeoposition

더 나은 옵션이 없는 경우 사용할 사용자가 시스템에 수동으로 입력한 위치를 가져옵니다.

DesiredAccuracy

Geolocator가 위치 업데이트를 제공하는 정확도 수준입니다.

DesiredAccuracyInMeters

위치 서비스에서 반환된 데이터의 원하는 정확도를 미터로 가져오거나 설정합니다.

IsDefaultGeopositionRecommended

사용자에게 기본 위치를 수동으로 설정하라는 메시지가 표시되어야 하는지 여부를 나타냅니다.

LocationStatus

위치 업데이트를 제공하는 Geolocator의 기능을 나타내는 상태.

MovementThreshold

GeolocatorPositionChanged 이벤트를 발생시키는 데 필요한 마지막 PositionChanged 이벤트의 좌표를 기준으로 하는 이동 거리(미터)입니다.

ReportInterval

위치 업데이트 사이의 요청된 최소 시간 간격(밀리초)입니다. 애플리케이션에 자주 업데이트가 필요한 경우 필요한 경우에만 위치를 계산하여 위치 서비스가 전력을 절약할 수 있도록 이 값을 설정합니다.

메서드

AllowFallbackToConsentlessPositions()

거친 위치를 대체 옵션으로 사용하도록 Geolocator 를 설정합니다(설명 참조).

GetGeopositionAsync()

디바이스의 현재 위치를 검색하는 비동기 작업을 시작합니다.

GetGeopositionAsync(TimeSpan, TimeSpan)

디바이스의 현재 위치를 검색하는 비동기 작업을 시작합니다.

GetGeopositionHistoryAsync(DateTime, TimeSpan)

디바이스의 위치 기록을 검색하는 비동기 작업을 시작합니다.

참고

이 API는 모든 Windows 앱에서 사용할 수 없습니다. 개발자 계정이 Microsoft에서 특별히 프로비전되지 않는 한 런타임에 이러한 API에 대한 호출이 실패합니다.

GetGeopositionHistoryAsync(DateTime)

디바이스의 위치 기록을 검색하는 비동기 작업을 시작합니다.

참고

이 API는 모든 Windows 앱에서 사용할 수 없습니다. 개발자 계정이 Microsoft에서 특별히 프로비전되지 않는 한 런타임에 이러한 API에 대한 호출이 실패합니다.

RequestAccessAsync()

참고

일부 정보는 상업용으로 출시되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.

중요

이 API는 2024년 가을에 예정된 운영 체제 동작에 대한 향후 변경 내용의 영향을 받습니다. 자세한 내용은 Wi-Fi 액세스 및 위치에 대한 API 동작 변경을 참조하세요.

위치 데이터에 액세스할 수 있는 권한을 요청합니다.

이벤트

PositionChanged

위치가 업데이트될 때 발생합니다.

StatusChanged

지오로케이터가 업데이트된 위치를 제공할 수 있는 기능이 변경될 때 발생합니다.

적용 대상

추가 정보