Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase GeoCoordinateWatcher

.NET Framework (current version)
 

Publicado: julio de 2016

Proporciona datos de ubicación que se basa en latitud y longitud coordenadas.

Espacio de nombres:   System.Device.Location
Ensamblado:  System.Device (en System.Device.dll)

System.Object
  System.Device.Location.GeoCoordinateWatcher

[SecurityCriticalAttribute]
public class GeoCoordinateWatcher : IDisposable, INotifyPropertyChanged, 
	IGeoPositionWatcher<GeoCoordinate>

NombreDescripción
System_CAPS_pubmethodGeoCoordinateWatcher()

Inicializa una nueva instancia de GeoCoordinateWatcher con la configuración de precisión predeterminada.

System_CAPS_pubmethodGeoCoordinateWatcher(GeoPositionAccuracy)

Inicializa una nueva instancia de GeoCoordinateWatcher, dado un nivel de precisión.

NombreDescripción
System_CAPS_pubpropertyDesiredAccuracy

El nivel de exactitud solicitado para los datos de ubicación proporcionado por GeoCoordinateWatcher.

System_CAPS_pubpropertyMovementThreshold

La distancia que se debe mover, en metros, con respecto a la coordenada de la última PositionChanged eventos antes de que el proveedor de ubicación genere otro PositionChanged eventos.

System_CAPS_pubpropertyPermission

Indica si el permiso de acceso a datos de ubicación de los proveedores de ubicación se ha concedido o denegado.

System_CAPS_pubpropertyPosition

Obtiene el GeoCoordinate que indica la ubicación actual.

System_CAPS_pubpropertyStatus

Obtiene el estado actual de la GeoCoordinateWatcher.

NombreDescripción
System_CAPS_pubmethodDispose()

Libera todos los recursos utilizados por la instancia actual de la clase GeoCoordinateWatcher.

System_CAPS_protmethodDispose(Boolean)

Libera todos los recursos usados por la instancia actual de la clase GeoCoordinateWatcher.

System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_protmethodFinalize()

Libera recursos y realiza otras operaciones de limpieza antes de la GeoCoordinateWatcher sea reclamado por la recolección de elementos.(Invalida Object.Finalize()).

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual.(Heredado de Object).

System_CAPS_protmethodOnPositionChanged(GeoPositionChangedEventArgs<GeoCoordinate>)

Llamado cuando un PositionChanged se produce el evento.

System_CAPS_protmethodOnPositionStatusChanged(GeoPositionStatusChangedEventArgs)

Llamado cuando un StatusChanged se produce el evento.

System_CAPS_protmethodOnPropertyChanged(String)

Se llama cuando una propiedad de la GeoCoordinateWatcher cambios.

System_CAPS_pubmethodStart()

Inicia la adquisición de datos desde el proveedor de ubicación actual. Este método permite PositionChanged eventos y permite el acceso a la Position propiedad.

System_CAPS_pubmethodStart(Boolean)

Inicia la adquisición de datos desde el proveedor de ubicación actual. Este método permite PositionChanged eventos y permite el acceso a la Position propiedad.

System_CAPS_pubmethodStop()

Detiene el GeoCoordinateWatcher de proporcionar datos de ubicación y eventos.

System_CAPS_pubmethodToString()

Devuelve una cadena que representa al objeto actual. (Heredado de Object).

System_CAPS_pubmethodTryStart(Boolean, TimeSpan)

Inicia la adquisición de datos desde el proveedor de ubicación actual. Este método vuelve de forma sincrónica.

NombreDescripción
System_CAPS_pubeventPositionChanged

Indica que la latitud o longitud de los datos de ubicación ha cambiado.

System_CAPS_pubeventStatusChanged

Indica que el estado de la GeoCoordinateWatcher objeto ha cambiado.

NombreDescripción
System_CAPS_pubinterfaceSystem_CAPS_priveventINotifyPropertyChanged.PropertyChanged

Indica que el Status propiedad, el Position propiedad, o la Permission propiedad ha cambiado.

System_CAPS_pubinterfaceSystem_CAPS_priveventIGeoPositionWatcher<GeoCoordinate>.PositionChanged

Indica que los datos de ubicación ha cambiado.

System_CAPS_pubinterfaceSystem_CAPS_priveventIGeoPositionWatcher<GeoCoordinate>.StatusChanged

Indica que el estado del proveedor de ubicación ha cambiado.

La GeoCoordinateWatcher clase proporciona los datos de ubicación basados en coordenadas del proveedor de ubicación actual. El proveedor de ubicación actual se establece una prioridad según el nivel más alto en el equipo, en función de una serie de factores, como la edad y la precisión de los datos de todos los proveedores, la precisión solicitada por aplicaciones de ubicación y el impacto de rendimiento y el consumo de energía asociado con el proveedor de ubicación. El proveedor de ubicación actual puede cambiar con el tiempo, por ejemplo, cuando un dispositivo GPS pierde su señal de satélite en el interior y un proveedor de triangulación Wi-Fi se convierte en el proveedor más preciso en el equipo.

Para iniciar el acceso a datos de ubicación, crear una GeoCoordinateWatcher y llame a Start o TryStart para iniciar la adquisición de datos desde el proveedor de ubicación actual.

El Status propiedad se puede comprobar para determinar si los datos están disponibles. Si hay datos disponibles, puede obtener la ubicación de una vez desde el Position propiedad, o las actualizaciones continuas de la ubicación de recepción controlando el PositionChanged eventos.

El Permission, Status, y Position compatibilidad con propiedades INotifyPropertyChanged, de modo que una aplicación puede enlazar datos a estas propiedades.

En Windows 7, todas las System.Device.Location clases son totalmente funcionales si se instala un proveedor de ubicación y capaz de resolver la ubicación del equipo.

System_CAPS_noteNota

En Windows 7 Starter Edition, el proveedor solo ubicación admitida es el proveedor de la ubicación predeterminada en el Panel de Control y un complemento debe instalarse para especificar latitud y longitud.

Tenga en cuenta en versiones de Windows anteriores a Windows 7, se aplican las condiciones siguientes:

El programa siguiente muestra cómo crear un GeoCoordinateWatcher y empezar a adquirir datos mediante el uso de un tiempo de espera de inicialización. El código, a continuación, imprime las coordenadas de la ubicación, si se conoce.

using System;
using System.Device.Location;

namespace GetLocationProperty
{
    class Program
    {
        static void Main(string[] args)
        {
            GetLocationProperty();
        }

        static void GetLocationProperty()
        {
            GeoCoordinateWatcher watcher = new GeoCoordinateWatcher();

            // Do not suppress prompt, and wait 1000 milliseconds to start.
            watcher.TryStart(false, TimeSpan.FromMilliseconds(1000));

            GeoCoordinate coord = watcher.Position.Location;

            if (coord.IsUnknown != true)
            {
                Console.WriteLine("Lat: {0}, Long: {1}",
                    coord.Latitude,
                    coord.Longitude);
            }
            else
            {
                Console.WriteLine("Unknown latitude and longitude.");
            }
        }
    }
}

El programa siguiente muestra cómo recibir actualizaciones continuas de la ubicación suscribiéndose a PositionChanged eventos.

using System;
using System.Device.Location;

namespace GetLocationEvent
{
    class Program
    {
        static void Main(string[] args)
        {
            CLocation myLocation = new CLocation();
            myLocation.GetLocationEvent();
            Console.WriteLine("Enter any key to quit.");
            Console.ReadLine();            
        }
        class CLocation
        {
            GeoCoordinateWatcher watcher;

            public void GetLocationEvent()
            {
                this.watcher = new GeoCoordinateWatcher();
                this.watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
                bool started = this.watcher.TryStart(false, TimeSpan.FromMilliseconds(2000));
                if (!started)
                {
                    Console.WriteLine("GeoCoordinateWatcher timed out on start.");
                }
            }

            void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
            {
                PrintPosition(e.Position.Location.Latitude, e.Position.Location.Longitude);
            }

            void PrintPosition(double Latitude, double Longitude)
            {
                Console.WriteLine("Latitude: {0}, Longitude {1}", Latitude, Longitude);
            }
        }
    }
}

.NET Framework
Disponible desde 4.0
Windows Phone Silverlight
Disponible desde 7.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: