Teilen über


Geolocator.StatusChanged Ereignis

Definition

Wird ausgelöst, wenn die Möglichkeit der Geolocator-, aktualisierte Standortänderungen bereitzustellen.

// 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) 

Ereignistyp

Windows-Anforderungen

App-Funktionen
location ID_CAP_LOCATION [Windows Phone]

Beispiele

In diesem Codebeispiel wird veranschaulicht, wie das StatusChanged-Ereignis behandelt wird. Das Geolocator--Objekt löst das StatusChanged-Ereignis aus, um anzugeben, dass sich die Standorteinstellungen des Benutzers geändert haben. Dieses Ereignis übergibt den entsprechenden Status über die Status--Eigenschaft des Arguments (vom Typ PositionStatus). Beachten Sie, dass diese Methode nicht aus dem UI-Thread aufgerufen wird und das Dispatcher--Objekt die UI-Änderungen aufruft. Weitere Informationen finden Sie unter Abrufen des aktuellen Speicherorts.

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;
        }
    });
}

Hinweise

Sie können auf Informationen zum Ereignis mit dem StatusChangedEventArgs Objekt zugreifen, das an den Ereignishandler übergeben wird.

Verwenden Sie bei Verwendung eines Geofence-Bereichs den GeofenceMonitorStatusChanged Ereignis, um Änderungen an Standortberechtigungen anstelle dieses Ereignisses aus der Geolocator--Klasse zu überwachen. Ein GeofenceMonitorStatus- von Disabled entspricht einem DisabledPositionStatus- – beide weisen darauf hin, dass die App nicht über die Berechtigung für den Zugriff auf den Standort verfügt.

Gilt für:

Weitere Informationen