다음을 통해 공유


GeoCoordinateWatcher.PositionChanged 이벤트

정의

위치 데이터의 위도 또는 경도가 변경되었음을 나타냅니다.

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> 업데이트 위치 데이터를 포함 하는 개체입니다.

적용 대상

추가 정보