내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Geolocator.GetGeopositionAsync() | getGeopositionAsync() Method

장치의 현재 위치를 검색하도록 비동기 작업을 시작합니다.

구문


geolocator.getGeopositionAsync().done( /* 성공 및 오류 처리기 */ );

매개 변수

이 메서드에는 매개 변수가 없습니다.

반환 값

형식: IAsyncOperation<Geoposition>

위치 데이터에 대한 비동기 요청을 시작하고 이 요청의 완료를 처리하기 위한 메서드를 제공합니다.

설명

Geolocator 개체를 사용하여 처음으로 GetGeopositionAsync를 호출하는 작업은 동의 여부를 묻는 메시지가 사용자에게 표시될 수 있도록 UI 스레드에서 수행되어야 합니다. 자세한 내용은 개인 데이터에 액세스하는 장치를 위한 지침을 참조하십시오.

연결된 대기 상태에 있을 때는 항상 Geolocator 개체를 인스턴스화할 수 있지만 Geolocator 개체는 집계할 센서를 찾지 않으며 GetGeopositionAsync에 대한 호출은 7초 후에 시간 초과되고 PositionChanged 이벤트 수신기는 절대 호출되지 않으며 StatusChanged 이벤트 수신기는 NoData 상태로 한 번 호출됩니다.

예제

이 예제에서는 GetGeopositionAsync를 호출하는 방법을 보여 줍니다.


    var loc = null;

    function getloc() {
        if (loc == null) {
            loc = new Windows.Devices.Geolocation.Geolocator();
        }
        if (loc != null) {
            loc.getGeopositionAsync().then(getPositionHandler, errorHandler);
        }
    }

    function getPositionHandler(pos) {
        document.getElementById('latitude').innerHTML = pos.coordinate.latitude;
        document.getElementById('longitude').innerHTML = pos.coordinate.longitude;
        document.getElementById('accuracy').innerHTML = pos.coordinate.accuracy;
        document.getElementById('geolocatorStatus').innerHTML =
                getStatusString(loc.locationStatus);
    }

    function errorHandler(e) {
        document.getElementById('errormsg').innerHTML = e.message;
        // Display an appropriate error message based on the location status.
        document.getElementById('geolocatorStatus').innerHTML =
            getStatusString(loc.locationStatus);
    }

    function getStatusString(locStatus) {
        switch (locStatus) {
            case Windows.Devices.Geolocation.PositionStatus.ready:
                // Location data is available
                return "Location is available.";
                break;
            case Windows.Devices.Geolocation.PositionStatus.initializing:
                // This status indicates that a location device is still initializing
                return "Location devices are still initializing.";
                break;
            case Windows.Devices.Geolocation.PositionStatus.noData:
                // No location data is currently available 
                return "Data from location services is currently unavailable.";
                break;
            case Windows.Devices.Geolocation.PositionStatus.disabled:
                // The app doesn't have permission to access location,
                // either because location has been turned off.
                return "Your location is currently turned off. " +
                    "Change your settings through the Settings charm " +
                    " to turn it back on.";
                break;
            case Windows.Devices.Geolocation.PositionStatus.notInitialized:
                // This status indicates that the app has not yet requested
                // location data by calling GetGeolocationAsync() or 
                // registering an event handler for the positionChanged event. 
                return "Location status is not initialized because " +
                    "the app has not requested location data.";
                break;
            case Windows.Devices.Geolocation.PositionStatus.notAvailable:
                // Location is not available on this version of Windows
                return "You do not have the required location services " +
                    "present on your system.";
                break;
            default:
                break;
        }
    }


요구 사항

지원되는 최소 클라이언트

Windows 8

지원되는 최소 서버

지원되는 사항 없음

지원되는 최소 전화

Windows Phone 8

Namespace

Windows.Devices.Geolocation
Windows::Devices::Geolocation [C++]

Metadata

Windows.winmd

Capabilities

ID_CAP_LOCATION [Windows Phone]

참고 항목

Geoposition
Geocoordinate
Geolocator
GetGeopositionAsync(TimeSpan, TimeSpan)

 

 

표시:
© 2014 Microsoft