Geolocator.GetGeopositionAsync() | getGeopositionAsync() Method

Startet einen asynchronen Vorgang, um den aktuellen Standort des Geräts abzurufen.

Syntax


geolocator.getGeopositionAsync().done( /* Erfolgs- und Fehlerhandler */ );

Parameter

Methode besitzt keine Parameter.

Rückgabewert

Typ: IAsyncOperation<Geoposition>

Erstellt Methoden zum Starten der asynchronen Anforderung für Positionsdaten und zum Behandeln des Vorgangsabschlusses.

Hinweise

Die erste Verwendung des Geolocator-Objekts zum Aufruf von GetGeopositionAsync, muss im UI-Thread ausgeführt werden, damit dem Benutzer die Zustimmungsaufforderung angezeigt werden kann. Weitere Informationen finden Sie unter im Abschnitt zu Richtlinien für Geräte, mit denen auf persönliche Daten zugegriffen wird.

Wenn sich ein System im Verbindungsstandby befindet, können Geolocator-Objekte immer instanziiert werden, allerdings findet das Geolocator-Objekt keine Sensoren zum Aggregieren, und Aufrufe der GetGeopositionAsync-Methode führen zu einem Timeout nach 7 Sekunden, PositionChanged-Ereignislistener werden nie und StatusChanged-Ereignislistener lediglich einmal mit dem NoData-Status aufgerufen.

Beispiele

Dieses Beispiel veranschaulicht das Aufrufen von 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;
        }
    }


Anforderungen

Mindestens unterstützter Client

Windows 8

Mindestens unterstützter Server

Keine unterstützt

Mindestens unterstütztes Telefon

Windows Phone 8

Namespace

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

Metadaten

Windows.winmd

Capabilities

ID_CAP_LOCATION [Windows Phone]

Siehe auch

Geoposition
Geocoordinate
Geolocator
GetGeopositionAsync(TimeSpan, TimeSpan)

 

 

Anzeigen:
© 2014 Microsoft