Bagikan melalui


GeoCoordinateWatcher.PositionChanged Kejadian

Definisi

Menunjukkan bahwa garis lintang atau bujur data lokasi telah berubah.

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)) 

Jenis Acara

Penerapan

Contoh

Contoh berikut menunjukkan cara menangani peristiwa pertama 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

Keterangan

Kejadian ini hanya dinaikkan ketika jarak dipindahkan sejak peristiwa terakhir melebihi ambang batas yang ditentukan oleh MovementThreshold.

Objek GeoPositionChangedEventArgs<T> yang diteruskan ke penanganan aktivitas menyertakan GeoPosition<T> objek yang berisi data lokasi yang diperbarui.

Berlaku untuk

Lihat juga