GeoCoordinateWatcher.PositionChanged 事件    
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指示位置数据的纬度或经度已更改。
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)) 事件类型
实现
示例
以下示例演示如何处理第一个 PositionChanged 事件。
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
注解
仅当自上次事件以来移动的距离超过 指定的 MovementThreshold阈值时,才会引发此事件。
GeoPositionChangedEventArgs<T>传递给事件处理程序的对象包含GeoPosition<T>包含更新的位置数据的对象。