GeoCoordinateWatcher GeoCoordinateWatcher GeoCoordinateWatcher GeoCoordinateWatcher Class

Definition

Gibt Positionsdaten an, die auf Breiten- und Längenkoordinaten basieren.Supplies location data that is based on latitude and longitude coordinates.

public ref class GeoCoordinateWatcher : IDisposable, System::ComponentModel::INotifyPropertyChanged, System::Device::Location::IGeoPositionWatcher<System::Device::Location::GeoCoordinate ^>
[System.Security.SecurityCritical]
public class GeoCoordinateWatcher : IDisposable, System.ComponentModel.INotifyPropertyChanged, System.Device.Location.IGeoPositionWatcher<System.Device.Location.GeoCoordinate>
type GeoCoordinateWatcher = class
    interface IDisposable
    interface INotifyPropertyChanged
    interface IGeoPositionWatcher<GeoCoordinate>
Public Class GeoCoordinateWatcher
Implements IDisposable, IGeoPositionWatcher(Of GeoCoordinate), INotifyPropertyChanged
Vererbung
GeoCoordinateWatcherGeoCoordinateWatcherGeoCoordinateWatcherGeoCoordinateWatcher
Attribute
Implementiert

Beispiele

Das folgende Programm zeigt, wie zum Erstellen einer GeoCoordinateWatcher und startet das Abrufen von Daten mithilfe von ein Initialisierungstimeout.The following program shows how to create a GeoCoordinateWatcher and start acquiring data by using an initialization timeout. Im Code wird die Koordinaten des Orts, klicken Sie dann ausgegeben, sofern bekannt.The code then prints the coordinates of the location, if known.

using System;
using System.Device.Location;

namespace GetLocationProperty
{
    class Program
    {
        static void Main(string[] args)
        {
            GetLocationProperty();
        }

        static void GetLocationProperty()
        {
            GeoCoordinateWatcher watcher = new GeoCoordinateWatcher();
            
            // Do not suppress prompt, and wait 1000 milliseconds to start.
            watcher.TryStart(false, TimeSpan.FromMilliseconds(1000));

            GeoCoordinate coord = watcher.Position.Location;

            if (coord.IsUnknown != true)
            {
                Console.WriteLine("Lat: {0}, Long: {1}",
                    coord.Latitude,
                    coord.Longitude);
            }
            else
            {
                Console.WriteLine("Unknown latitude and longitude.");
            }
        }
    }
}
Imports System.Device.Location
Module GetLocationProperty
    Public Sub GetLocationProperty()
        Dim watcher As New System.Device.Location.GeoCoordinateWatcher()
        watcher.TryStart(False, TimeSpan.FromMilliseconds(1000))

        Dim coord As GeoCoordinate = watcher.Position.Location

        If coord.IsUnknown <> True Then
            Console.WriteLine("Lat: {0}, Long: {1}", coord.Latitude, coord.Longitude)
        Else
            Console.WriteLine("Unknown latitude and longitude.")
        End If
    End Sub

    Public Sub Main()
        GetLocationProperty()
        Console.ReadLine()
    End Sub

End Module

Das folgende Programm zeigt, wie kontinuierliche speicherortaktualisierungen empfangen wird, indem Sie abonnieren PositionChanged Ereignisse.The following program shows how to receive continuous location updates by subscribing to PositionChanged events.

using System;
using System.Device.Location;

namespace GetLocationEvent
{
    class Program
    {
        static void Main(string[] args)
        {
            CLocation myLocation = new CLocation();
            myLocation.GetLocationEvent();
            Console.WriteLine("Enter any key to quit.");
            Console.ReadLine();            
        }
        class CLocation
        {
            GeoCoordinateWatcher watcher;

            public void GetLocationEvent()
            {
                this.watcher = new GeoCoordinateWatcher();
                this.watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
                bool started = this.watcher.TryStart(false, TimeSpan.FromMilliseconds(2000));
                if (!started)
                {
                    Console.WriteLine("GeoCoordinateWatcher timed out on start.");
                }
            }

            void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
            {
                PrintPosition(e.Position.Location.Latitude, e.Position.Location.Longitude);
            }

            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 GetLocationEvent()
            watcher = New System.Device.Location.GeoCoordinateWatcher()
            AddHandler watcher.PositionChanged, AddressOf watcher_PositionChanged
            Dim started As Boolean = watcher.TryStart(False, TimeSpan.FromMilliseconds(1000))

            If Not started Then
                Console.WriteLine("GeoCoordinateWatcher timed out on start.")
            End If
        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)
        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.GetLocationEvent()
        Console.WriteLine("Enter any key to quit.")
        Console.ReadLine()
    End Sub

End Module

Hinweise

Die GeoCoordinateWatcher -Klasse stellt die Koordinaten angegebenen Position-Daten vom aktuellen Ortungsanbieter.The GeoCoordinateWatcher class supplies coordinate-based location data from the current location provider. Die aktuellen Ortungsanbieter ist priorisiert, wie die höchste auf dem Computer, basierend auf einer Reihe von Faktoren wie Alter und Genauigkeit der Daten von allen Anbietern, die Genauigkeit von Speicherort Anwendungen angefordert und auf den Energieverbrauch und die Leistung auswirken der Location-Anbieters zugeordnet ist.The current location provider is prioritized as the highest on the computer, based on a number of factors, such as the age and accuracy of the data from all providers, the accuracy requested by location applications, and the power consumption and performance impact associated with the location provider. Aktuellen Ortungsanbieter möglicherweise im Lauf der Zeit, z. B. ändern, wenn ein GPS-Gerät verliert Satellitensignal und ein Wi-Fi-Triangulation-Anbieter ist die präziseste Anbieter auf dem Computer.The current location provider might change over time, for instance, when a GPS device loses its satellite signal indoors and a Wi-Fi triangulation provider becomes the most accurate provider on the computer.

Erstellen Sie zunächst den Zugriff auf Positionsdaten eine GeoCoordinateWatcher , und rufen Sie Start oder TryStart initiiert die Erfassung von Daten vom aktuellen Ortungsanbieter.To begin accessing location data, create a GeoCoordinateWatcher and call Start or TryStart to initiate the acquisition of data from the current location provider.

Die Status -Eigenschaft kann überprüft werden, um festzustellen, ob Daten verfügbar sind.The Status property can be checked to determine if data is available. Wenn Daten verfügbar sind, erhalten Sie den Speicherort ein Mal aus der Position Eigenschaft erhalten oder fortlaufende Speicherort Updates durch Behandeln der PositionChanged Ereignis.If data is available, you can get the location one time from the Position property, or receive continuous location updates by handling the PositionChanged event.

Die Permission, Status, und Position Eigenschaften Unterstützung INotifyPropertyChanged, sodass eine Anwendung Daten auf diese Eigenschaften binden kann.The Permission, Status, and Position properties support INotifyPropertyChanged, so that an application can data-bind to these properties.

In Windows 7 alle der System.Device.Location Klassen sind voll funktionsfähig, wenn ein Location-Anbieter installiert ist und den Standort des Computers auflösen.In Windows 7, all the System.Device.Location classes are fully functional if a location provider is installed and able to resolve the computer's location.

Hinweis

Klicken Sie auf Windows 7 Starter Edition, also der einzige unterstützte Ortungsanbieter ist der Standard-Location-Anbieters in der Systemsteuerung und ein Add-In installiert werden, um Breiten- und Längengrad angeben.On Windows 7 Starter Edition, the only supported location provider is the Default Location Provider in Control Panel, and an add-in must be installed to specify latitude and longitude.

Beachten Sie In Versionen von Windows vor Windows 7 werden die folgenden Bedingungen erfüllt sind:Note In versions of Windows prior to Windows 7, the following conditions apply:

Konstruktoren

GeoCoordinateWatcher() GeoCoordinateWatcher() GeoCoordinateWatcher() GeoCoordinateWatcher()

Initialisiert eine neue Instanz von GeoCoordinateWatcher mit Standardeinstellungen für die Genauigkeit.Initializes a new instance of GeoCoordinateWatcher with default accuracy settings.

GeoCoordinateWatcher(GeoPositionAccuracy) GeoCoordinateWatcher(GeoPositionAccuracy) GeoCoordinateWatcher(GeoPositionAccuracy) GeoCoordinateWatcher(GeoPositionAccuracy)

Initialisiert eine neue Instanz von GeoCoordinateWatcher, wobei die Genauigkeitsstufe angegeben ist.Initializes a new instance of GeoCoordinateWatcher, given an accuracy level.

Eigenschaften

DesiredAccuracy DesiredAccuracy DesiredAccuracy DesiredAccuracy

Die angeforderte Genauigkeitsstufe für die Positionsdaten, die vom GeoCoordinateWatcher bereitgestellt wird.The requested accuracy level for the location data that is provided by the GeoCoordinateWatcher.

MovementThreshold MovementThreshold MovementThreshold MovementThreshold

Die Bewegungsentfernung in Metern relativ zur Koordinate des letzten PositionChanged-Ereignisses, die zurückgelegt werden muss, bevor der Ortungsanbieter ein weiteres PositionChanged-Ereignis auslöst.The distance that must be moved, in meters, relative to the coordinate from the last PositionChanged event, before the location provider raises another PositionChanged event.

Permission Permission Permission Permission

Gibt an, ob die Berechtigung für den Zugriff auf Positionsdaten von Ortungsanbietern gewährt oder verweigert wurde.Indicates whether permission to access location data from location providers has been granted or denied.

Position Position Position Position

Ruft die GeoCoordinate ab, die die aktuelle Position angibt.Gets the GeoCoordinate which indicates the current location.

Status Status Status Status

Ruft den aktuellen Status des GeoCoordinateWatcher ab.Gets the current status of the GeoCoordinateWatcher.

Methoden

Dispose() Dispose() Dispose() Dispose()

Gibt alle von der aktuellen Instanz der GeoCoordinateWatcher-Klasse verwendeten Ressourcen frei.Releases all resources that are used by the current instance of the GeoCoordinateWatcher class.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Gibt alle von der aktuellen Instanz der GeoCoordinateWatcher-Klasse verwendeten Ressourcen frei.Releases all resources used by the current instance of the GeoCoordinateWatcher class.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Finalize() Finalize() Finalize() Finalize()

Gibt Ressourcen frei und führt andere Bereinigungsvorgänge durch, bevor das GeoCoordinateWatcher durch die Garbage Collection wieder freigegeben wird.Frees resources and performs other cleanup operations before the GeoCoordinateWatcher is reclaimed by garbage collection.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
OnPositionChanged(GeoPositionChangedEventArgs<GeoCoordinate>) OnPositionChanged(GeoPositionChangedEventArgs<GeoCoordinate>) OnPositionChanged(GeoPositionChangedEventArgs<GeoCoordinate>) OnPositionChanged(GeoPositionChangedEventArgs<GeoCoordinate>)

Wird aufgerufen, wenn ein PositionChanged-Ereignis auftritt.Called when a PositionChanged event occurs.

OnPositionStatusChanged(GeoPositionStatusChangedEventArgs) OnPositionStatusChanged(GeoPositionStatusChangedEventArgs) OnPositionStatusChanged(GeoPositionStatusChangedEventArgs) OnPositionStatusChanged(GeoPositionStatusChangedEventArgs)

Wird aufgerufen, wenn ein StatusChanged-Ereignis auftritt.Called when a StatusChanged event occurs.

OnPropertyChanged(String) OnPropertyChanged(String) OnPropertyChanged(String) OnPropertyChanged(String)

Wird aufgerufen, wenn eine Eigenschaft des GeoCoordinateWatcher geändert wird.Called when a property of the GeoCoordinateWatcher changes.

Start() Start() Start() Start()

Initiiert die Erfassung von Daten vom aktuellen Ortungsanbieter.Initiate the acquisition of data from the current location provider. Diese Methode aktiviert PositionChanged-Ereignisse und ermöglicht den Zugriff auf die Position-Eigenschaft.This method enables PositionChanged events and allows access to the Position property.

Start(Boolean) Start(Boolean) Start(Boolean) Start(Boolean)

Initiiert die Erfassung von Daten vom aktuellen Ortungsanbieter.Initiate the acquisition of data from the current location provider. Diese Methode aktiviert PositionChanged-Ereignisse und ermöglicht den Zugriff auf die Position-Eigenschaft.This method enables PositionChanged events and allows access to the Position property.

Stop() Stop() Stop() Stop()

Beendet die Bereitstellung von Positionsdaten und Ortungsereignissen durch den GeoCoordinateWatcher.Stops the GeoCoordinateWatcher from providing location data and events.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)
TryStart(Boolean, TimeSpan) TryStart(Boolean, TimeSpan) TryStart(Boolean, TimeSpan) TryStart(Boolean, TimeSpan)

Initiiert die Erfassung von Daten vom aktuellen Ortungsanbieter.Initiates the acquisition of data from the current location provider. Die Rückgabe der Methode erfolgt synchron.This method returns synchronously.

Ereignisse

PositionChanged PositionChanged PositionChanged PositionChanged

Gibt an, dass sich die Breiten- oder Längenkoordinate der Positionsdaten geändert hat.Indicates that the latitude or longitude of the location data has changed.

StatusChanged StatusChanged StatusChanged StatusChanged

Gibt an, dass sich der Status des GeoCoordinateWatcher-Objekts geändert hat.Indicates that the status of the GeoCoordinateWatcher object has changed.

Explizite Schnittstellenimplementierungen

IGeoPositionWatcher<GeoCoordinate>.PositionChanged IGeoPositionWatcher<GeoCoordinate>.PositionChanged IGeoPositionWatcher<GeoCoordinate>.PositionChanged IGeoPositionWatcher<GeoCoordinate>.PositionChanged

Gibt an, dass die Positionsdaten geändert wurden.Indicates that the location data has changed.

IGeoPositionWatcher<GeoCoordinate>.StatusChanged IGeoPositionWatcher<GeoCoordinate>.StatusChanged IGeoPositionWatcher<GeoCoordinate>.StatusChanged IGeoPositionWatcher<GeoCoordinate>.StatusChanged

Gibt an, dass der Status des Ortungsanbieters geändert wurde.Indicates that the status of the location provider has changed.

INotifyPropertyChanged.PropertyChanged INotifyPropertyChanged.PropertyChanged INotifyPropertyChanged.PropertyChanged INotifyPropertyChanged.PropertyChanged

Gibt an, dass die Status-Eigenschaft, die Position-Eigenschaft oder die Permission-Eigenschaft geändert wurde.Indicates that the Status property, the Position property, or the Permission property has changed.

Gilt für: