GeoCoordinateWatcher.Start Método

Definición

Inicia la adquisición de datos desde el proveedor de ubicación actual.Initiate the acquisition of data from the current location provider. Este método admite eventos PositionChanged y permite el acceso a la propiedad Position.This method enables PositionChanged events and allows access to the Position property.

Sobrecargas

Start()

Inicia la adquisición de datos desde el proveedor de ubicación actual.Initiate the acquisition of data from the current location provider. Este método admite eventos PositionChanged y permite el acceso a la propiedad Position.This method enables PositionChanged events and allows access to the Position property.

Start(Boolean)

Inicia la adquisición de datos desde el proveedor de ubicación actual.Initiate the acquisition of data from the current location provider. Este método admite eventos PositionChanged y permite el acceso a la propiedad Position.This method enables PositionChanged events and allows access to the Position property.

Start()

Inicia la adquisición de datos desde el proveedor de ubicación actual.Initiate the acquisition of data from the current location provider. Este método admite eventos PositionChanged y permite el acceso a la propiedad Position.This method enables PositionChanged events and allows access to the Position property.

public:
 virtual void Start();
public void Start ();
abstract member Start : unit -> unit
override this.Start : unit -> unit
Public Sub Start ()

Implementaciones

Ejemplos

El programa siguiente controla la primera actualización de ubicación que se produce después de Start llamar a.The following program handles the first location update that occurs after Start is called.

using System;
using System.Device.Location;

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

            public void GetLocationDataEvent()
            {
                this.watcher = new GeoCoordinateWatcher();
                this.watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
                this.watcher.Start();
            }

            void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
            {
                PrintPosition(e.Position.Location.Latitude, e.Position.Location.Longitude);
                // Stop receiving updates after the first one.
                this.watcher.Stop();
            }

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

Module GetLocationEvent
    Public Class CLocation
        Private WithEvents watcher As GeoCoordinateWatcher
        Public Sub GetLocationDataEvent()
            watcher = New System.Device.Location.GeoCoordinateWatcher()
            AddHandler watcher.PositionChanged, AddressOf watcher_PositionChanged
            watcher.Start()

        End Sub

        Private Sub watcher_PositionChanged(ByVal sender As Object, ByVal e As GeoPositionChangedEventArgs(Of GeoCoordinate))
            PrintPosition(e.Position.Location.Latitude, e.Position.Location.Longitude)
            ' Stop receiving updates after the first one.
            watcher.Stop()
        End Sub

        Private Sub PrintPosition(ByVal Latitude As Double, ByVal Longitude As Double)
            Console.WriteLine("Latitude: {0}, Longitude {1}", Latitude, Longitude)
        End Sub
    End Class


    Public Sub Main()
        Dim myLocation As New CLocation()
        myLocation.GetLocationDataEvent()
        Console.WriteLine("Enter any key to quit.")
        Console.ReadLine()
    End Sub

End Module

Comentarios

Al llamar a este método se iniciará la adquisición de datos desde el proveedor de ubicación actual.Calling this method will initiate the acquisition of data from the current location provider. El proveedor de ubicación actual se selecciona en función de factores como la antigüedad y la precisión de los datos de todos los proveedores, la precisión solicitada por la aplicación o las aplicaciones, y el consumo de energía y el impacto del rendimiento asociados al proveedor de ubicación.The current location provider is selected based on factors such as the age and accuracy of the data from all providers, the accuracy requested by the application or applications, and the power consumption and performance impact associated with the location provider. El proveedor de ubicación actual puede cambiar con el tiempo, por ejemplo, cuando un dispositivo GPS pierde sus inpuertas de señal de satélite y un proveedor de triangulación de Wi-Fi se convierte en el proveedor más preciso del equipo.The current location provider might change over time, for instance, when a GPS device loses its satellite signal indoors and a Wi-Fi triangulation provider becomes the most accurate provider on the computer.

Si el proveedor de ubicación con prioridad actual no tiene datos cuando Start se llama al método, se iniciará la adquisición de datos.If the current prioritized location provider does not have data when the Start method is called, it will start to acquire data. Si los permisos se han concedido al cliente cuando los datos están disponibles, se puede tener acceso a los datos sincrónicamente y se entregarán de forma asincrónica si se administran los eventos.If the permissions have been granted to the client when the data becomes available, data can be accessed synchronously, and will be delivered asynchronously if events are being handled.

Si el sensor de Windows 7 y la plataforma de ubicación están deshabilitados cuando Start se llama a, Start devolverá inmediatamente, los PositionChanged eventos no se generarán y la ubicación devuelta por la Location propiedad de Position Unknown contendrá.If the Windows 7 Sensor and Location platform is disabled when Start is called, Start will immediately return, PositionChanged events will not be raised, and the location returned by the Location property of Position will contain Unknown.

Si el proveedor de la ubicación con prioridad actual tiene datos, estarán disponibles de forma sincrónica de inmediato y se entregarán de forma asincrónica si se están controlando los eventos.If the current prioritized location provider does have data, it will be available synchronously immediately, and will be delivered asynchronously if events are being handled.

Si la aplicación que realiza la llamada no tiene permisos para obtener acceso a los datos de un proveedor de ubicación, se le pedirá al usuario un cuadro de diálogo para conceder o denegar el permiso.If the calling application does not have permissions to access data from a location provider, the user will be prompted with a dialog box to either grant or deny permission. El cuadro de diálogo tendrá un modelo no modal.The dialog box will be modeless.

Se aplica a

Start(Boolean)

Inicia la adquisición de datos desde el proveedor de ubicación actual.Initiate the acquisition of data from the current location provider. Este método admite eventos PositionChanged y permite el acceso a la propiedad Position.This method enables PositionChanged events and allows access to the Position property.

public:
 virtual void Start(bool suppressPermissionPrompt);
public void Start (bool suppressPermissionPrompt);
abstract member Start : bool -> unit
override this.Start : bool -> unit
Public Sub Start (suppressPermissionPrompt As Boolean)

Parámetros

suppressPermissionPrompt
Boolean

Es true para suprimir el cuadro de diálogo de permisos; es false para mostrar opcionalmente el cuadro de diálogo de permisos si aún no se han concedido permisos.true to suppress the permission dialog box; false to optionally show the permission dialog box if permissions have not already been granted.

Implementaciones

Se aplica a