Compartir a través de


GeoCoordinateWatcher.Start Método

Definición

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

Sobrecargas

Start()

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

Start(Boolean)

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

Start()

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

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

Implementaciones

Ejemplos

El siguiente programa controla la primera actualización de ubicación que se produce después Start de llamar a .

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 del proveedor de ubicación actual. 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 en el rendimiento asociados al proveedor de ubicación. El proveedor de ubicación actual podría cambiar con el tiempo, por ejemplo, cuando un dispositivo GPS pierde su señal satélite en interiores y un proveedor de triangulación Wi-Fi se convierte en el proveedor más preciso del equipo.

Si el proveedor de ubicación con prioridad actual no tiene datos cuando se llama al Start método, comenzará a adquirir datos. Si se han concedido los permisos al cliente cuando los datos están disponibles, se puede acceder a los datos de forma sincrónica y se entregarán de forma asincrónica si se controlan los eventos.

Si la plataforma sensor y ubicación de Windows 7 está deshabilitada cuando Start se llame a , devolverá inmediatamente los Start eventos, PositionChanged los eventos no se generarán y la ubicación devuelta por la Location propiedad de Position contendrá Unknown.

Si el proveedor de ubicación con prioridad actual tiene datos, estará disponible de forma sincrónica inmediatamente y se entregará de forma asincrónica si se controlan los eventos.

Si la aplicación que realiza la llamada no tiene permisos para acceder a los datos desde un proveedor de ubicación, se le pedirá al usuario que conceda o deniegue el permiso. El cuadro de diálogo será modeless.

Se aplica a

Start(Boolean)

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

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.

Implementaciones

Se aplica a