GeoCoordinateWatcher.PositionChanged Evento
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í.
Indica que la latitud o la longitud de los datos de ubicación ha cambiado.
public:
event EventHandler<System::Device::Location::GeoPositionChangedEventArgs<System::Device::Location::GeoCoordinate ^> ^> ^ PositionChanged;
public event EventHandler<System.Device.Location.GeoPositionChangedEventArgs<System.Device.Location.GeoCoordinate>> PositionChanged;
member this.PositionChanged : EventHandler<System.Device.Location.GeoPositionChangedEventArgs<System.Device.Location.GeoCoordinate>>
Public Custom Event PositionChanged As EventHandler(Of GeoPositionChangedEventArgs(Of GeoCoordinate))
Public Event PositionChanged As EventHandler(Of GeoPositionChangedEventArgs(Of GeoCoordinate))
Tipo de evento
Implementaciones
Ejemplos
En el ejemplo siguiente se muestra cómo controlar el primer PositionChanged evento.
using System;
using System.Device.Location;
namespace LocationEvent1
{
class Program
{
static void Main(string[] args)
{
GeoCoordinateWatcher watcher;
watcher = new GeoCoordinateWatcher();
watcher.PositionChanged += (sender, e) =>
{
var coordinate = e.Position.Location;
Console.WriteLine("Lat: {0}, Long: {1}", coordinate.Latitude,
coordinate.Longitude);
// Uncomment to get only one event.
// watcher.Stop();
};
// Begin listening for location updates.
watcher.Start();
}
}
}
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)
' Uncomment the following to 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
Este evento solo se genera cuando la distancia que se mueve desde el último evento supera el umbral especificado por MovementThreshold.
El GeoPositionChangedEventArgs<T> objeto pasado al controlador de eventos incluye el GeoPosition<T> objeto que contiene los datos de ubicación actualizados.