Geolocator.StatusChanged Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.