Geolocator Class

Permet d'accéder à l'emplacement géographique actuel.

Syntaxe


var geolocator = new Windows.Devices.Geolocation.Geolocator();

Attributs

[MarshalingBehavior(Agile)]
[Threading(Both)]
[Version(0x06020000)]

Membres

GeolocatorClasse possède ces types de membres :

Constructeurs

GeolocatorClasse possède ces constructeurs.

ConstructeurDescription
Geolocator Initializes a new Geolocator object.

 

Événements

GeolocatorClasse possède ces événements.

ÉvénementDescription
PositionChanged Raised when the location is updated.
StatusChanged Raised when the ability of the Geolocator to provide updated location changes.

 

Méthodes

The Geolocator Classe a les méthodes suivantes. Avec C#, Visual Basic et C++, elle hérite également des méthodes de Object Classe.

MéthodeDescription
GetGeopositionAsync() Starts an asynchronous operation to retrieve the current location of the device.
GetGeopositionAsync(TimeSpan, TimeSpan) Starts an asynchronous operation to retrieve the current location of the device.

 

Propriétés

Le GeolocatorClasse a les propriétés suivantes.

PropriétéType d'accèsDescription

DesiredAccuracy

Lecture/écritureThe accuracy level at which the Geolocator provides location updates.

DesiredAccuracyInMeters

Lecture/écritureGets or sets the desired accuracy in meters for data returned from the location service.

LocationStatus

En lecture seuleThe status that indicates the ability of the Geolocator to provide location updates.

MovementThreshold

Lecture/écritureGets and sets the distance of movement, in meters, relative to the coordinate from the last PositionChanged event, that is required for the Geolocator to raise a PositionChanged event.

ReportInterval

Lecture/écritureThe requested minimum time interval between location updates, in milliseconds. If your application requires updates infrequently, set this value so that the location provider can conserve power by calculating location only when needed.

 

Remarques

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

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 [Applications Windows Store uniquement]

Serveur minimal pris en charge

Aucun pris en charge [Applications Windows Store uniquement]

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

location
ID_CAP_LOCATION [Windows Phone]

 

 

Afficher:
© 2014 Microsoft