Compartir a través de


Geolocator.StatusChanged Evento

Definición

Se genera cuando la capacidad del de geolocalización de para proporcionar cambios de ubicación actualizados.

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

Tipo de evento

Requisitos de Windows

Características de aplicaciones
location ID_CAP_LOCATION [Windows Phone]

Ejemplos

En este ejemplo de código se muestra cómo se controla el evento StatusChanged. El objeto Geolocator desencadena el evento StatusChanged para indicar que la configuración de ubicación del usuario ha cambiado. Ese evento pasa el estado correspondiente a través de la propiedad Status del argumento (de tipo PositionStatus). Tenga en cuenta que no se llama a este método desde el subproceso de la interfaz de usuario y el objeto Dispatcher invoca los cambios de la interfaz de usuario. Para obtener más información, consulta Obtener la ubicación actual.

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

Comentarios

Puede obtener acceso a información sobre el evento con el objeto statusChangedEventArgs que se pasa al controlador de eventos.

Cuando se usa una geovalla, use el evento GeofenceMonitorStatusChanged para supervisar los cambios en los permisos de ubicación en lugar de este evento desde la clase geolocator de . Una GeofenceMonitorStatus de Disabled equivale a un DisabledPositionStatus: ambos indican que la aplicación no tiene permiso para acceder a la ubicación.

Se aplica a

Consulte también