GetGeopositionAsync() | getGeopositionAsync(), méthodes
Réduire la table des matières
Développer la table des matières

Geolocator.GetGeopositionAsync() | getGeopositionAsync() Method

Lance une opération asynchrone pour récupérer la position actuelle du périphérique.

Syntaxe


geolocator.getGeopositionAsync().done( /* Vos gestionnaires de succès et d'erreurs */ );

Paramètres

Ce Méthode n'a aucun paramètre.

Valeur de retour

Type: IAsyncOperation<Geoposition>

Fournit des méthodes pour démarrer la requête asynchrone relative aux données d'emplacement, et pour gérer son achèvement.

Remarques

La première utilisation de l'objet Geolocator pour appeler GetGeopositionAsync doit avoir lieu sur le thread d'interface utilisateur afin que l'invite d'autorisation puisse s'afficher pour l'utilisateur. Pour plus d'informations, consultez les Instructions pour les périphériques qui accèdent à des données personnelles.

En état de veille connectée, les objets Geolocator peuvent toujours être instanciés mais l'objet Geolocator ne trouvera pas de capteurs à regrouper et les appels à GetGeopositionAsync expireront après 7 secondes, les écouteurs d'événements PositionChanged ne seront jamais appelés et les écouteurs d'événements StatusChanged seront appelés une fois avec l'état NoData.

Exemples

Cet exemple montre comment appeler 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;
        }
    }


Conditions requises

Client minimal pris en charge

Windows 8

Serveur minimal pris en charge

Aucun pris en charge

Téléphone minimal pris en charge

Windows Phone 8

Espace de noms

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

Métadonnées

Windows.winmd

Capabilities

ID_CAP_LOCATION [Windows Phone]

Voir aussi

Geoposition
Geocoordinate
Geolocator
GetGeopositionAsync(TimeSpan, TimeSpan)

 

 

Afficher:
© 2017 Microsoft