GeoCoordinateWatcher.Start Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.