Geolocator.StatusChanged Événement

Définition

Déclenché lorsque la capacité de l'Geolocator fournir des modifications d’emplacement mises à jour.

// Register
event_token StatusChanged(TypedEventHandler<Geolocator, StatusChangedEventArgs const&> const& handler) const;

// Revoke with event_token
void StatusChanged(event_token const* cookie) const;

// Revoke with event_revoker
Geolocator::StatusChanged_revoker StatusChanged(auto_revoke_t, TypedEventHandler<Geolocator, StatusChangedEventArgs const&> const& handler) const;
public event TypedEventHandler<Geolocator,StatusChangedEventArgs> StatusChanged;
function onStatusChanged(eventArgs) { /* Your code */ }
geolocator.addEventListener("statuschanged", onStatusChanged);
geolocator.removeEventListener("statuschanged", onStatusChanged);
- or -
geolocator.onstatuschanged = onStatusChanged;
Public Custom Event StatusChanged As TypedEventHandler(Of Geolocator, StatusChangedEventArgs) 

Type d'événement

Configuration requise pour Windows

Fonctionnalités de l’application
location ID_CAP_LOCATION [Windows Phone]

Exemples

Cet exemple de code montre comment l’événement StatusChanged est géré. L’objet Geolocator déclenche l’événement StatusChanged pour indiquer que les paramètres d’emplacement de l’utilisateur ont changé. Cet événement transmet l’état correspondant via la propriété Status de l’argument (de type PositionStatus). Notez que cette méthode n’est pas appelée à partir du thread d’interface utilisateur et que l’objet Dispatcher appelle les modifications de l’interface utilisateur. Pour plus d’informations, consultez Obtenir l’emplacement actuel.

using Windows.UI.Core;
...
async private void OnStatusChanged(Geolocator sender, StatusChangedEventArgs e)
{
    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        // Show the location setting message only if status is disabled.
        LocationDisabledMessage.Visibility = Visibility.Collapsed;

        switch (e.Status)
        {
            case PositionStatus.Ready:
                // Location platform is providing valid data.
                // notify user: Location platform is ready
                break;

            case PositionStatus.Initializing:
                // Location platform is attempting to acquire a fix. 
                // notify user: Location platform is attempting to obtain a position
                break;

            case PositionStatus.NoData:
                // Location platform could not obtain location data.
                // notify user: Not able to determine the location
                break;

            case PositionStatus.Disabled:
                // The permission to access location data is denied by the user or other policies.
                // notify user: Access to location is denied

                // Clear cached location data if any
                break;

            case PositionStatus.NotInitialized:
                // The location platform is not initialized. This indicates that the application 
                // has not made a request for location data.

                // notify user: No request for location is made yet
                break;

            case PositionStatus.NotAvailable:
                // The location platform is not available on this version of the OS.

                // notify user: Location is not available on this version of the OS
                break;

            default:
                // unknown result
                break;
        }
    });
}

Remarques

Vous pouvez accéder aux informations relatives à l’événement avec l’objet StatusChangedEventArgs passé à votre gestionnaire d’événements.

Lorsque vous utilisez une limite géographique, utilisez l’événement GeofenceMonitor's StatusChanged pour surveiller les modifications apportées aux autorisations d’emplacement au lieu de cet événement à partir de la classe Geolocator . Une GeofenceMonitorStatus de désactivé équivaut à un DésactivéPositionStatus . Les deux indiquent que l’application n’a pas l’autorisation d’accéder à l’emplacement.

S’applique à

Voir aussi