Compartir vía


GeoCoordinateWatcher.Start Método

Definición

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

Sobrecargas

Nombre Description
Start()

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

Start(Boolean)

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

Start()

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

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 impacto en el consumo de energía y el rendimiento asociados al 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 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 los permisos se han concedido al cliente cuando los datos están disponibles, se puede tener acceso 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 llama a , Start devolverá inmediatamente los eventos, PositionChanged no se generará ningún evento 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 administran 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 un cuadro de diálogo para conceder o denegar el permiso. El cuadro de diálogo será modeless.

Se aplica a

Start(Boolean)

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

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

true para suprimir el cuadro de diálogo de permisos; false para mostrar opcionalmente el cuadro de diálogo de permisos si aún no se han concedido permisos.

Implementaciones

Se aplica a